/*
Theme Name: FB - Football Theme
Theme URI: https://example.com/
Author: FB Theme
Author URI: https://example.com/
Description: Modern football theme inspired by Sofascore with dark theme design
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fb
*/

/* =====================================================
   CSS Variables - Design System
   CSS 变量 - 设计系统
===================================================== */
:root {
    /* Background Colors / 背景颜色 */
    --bg-primary: #1a1a1a;          /* 主背景色 - 深黑色 */
    --bg-secondary: #242424;        /* 次背景色 - 较深灰色 */
    --bg-tertiary: #2a2a2a;         /* 三级背景色 - 中等灰色 */
    --bg-hover: #333333;            /* 悬停背景色 - 浅灰色 */

    /* Text Colors / 文字颜色 */
    --text-primary: #ffffff;         /* 主文字色 - 纯白色 */
    --text-secondary: #e0e0e0;       /* 次文字色 - 浅灰色 */
    --text-muted: #999999;          /* 暗淡文字色 - 中灰色 */
    --text-dark: #666666;           /* 深色文字 - 深灰色 */

    /* Accent Colors / 强调颜色 */
    --accent-red: #e53935;          /* 红色强调色 - 用于重要提示和活跃状态 */
    --accent-green: #43a047;        /* 绿色强调色 - 用于成功和正向状态 */
    --accent-blue: #1e88e5;         /* 蓝色强调色 - 用于链接和次要操作 */
    --accent-orange: #fb8c00;       /* 橙色强调色 - 用于警告和提醒 */
    --accent-purple: #8e24aa;       /* 紫色强调色 - 用于特殊标识 */

    /* Border Colors / 边框颜色 */
    --border-color: #333333;        /* 边框颜色 - 中灰色 */
    --border-light: #404040;        /* 浅色边框 - 较浅灰色 */

    /* Shadows / 阴影 */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);      /* 小阴影 - 轻微投影 */
    --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.4);      /* 中阴影 - 中等投影 */
    --shadow-lg: 0 4px 16px rgba(0, 0, 0, 0.5);     /* 大阴影 - 强烈投影 */

    /* Border Radius / 圆角 */
    --radius-sm: 4px;               /* 小圆角 - 用于按钮和小元素 */
    --radius-md: 8px;               /* 中圆角 - 用于卡片和容器 */
    --radius-lg: 12px;              /* 大圆角 - 用于大容器和模态框 */

    /* Transitions / 过渡动画 */
    --transition-fast: 0.15s ease;  /* 快速过渡 - 用于快速交互 */
    --transition-normal: 0.25s ease;/* 正常过渡 - 用于常规交互 */

    /* Layout / 布局 */
    --container-width: 1400px;      /* 容器最大宽度 */
    --header-height: 70px;          /* 头部高度 */
}

/* =====================================================
   Reset & Base
   重置与基础样式
===================================================== */
*,
*::before,
*::after {
    box-sizing: border-box;   /* 盒模型：边框盒 */
    margin: 0;               /* 清除默认外边距 */
    padding: 0;              /* 清除默认内边距 */
}

html {
    font-size: 16px;         /* 基础字体大小 */
    scroll-behavior: smooth; /* 平滑滚动 */
    margin: 0;               /* 清除外边距 */
    padding: 0;              /* 清除内边距 */
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
                             /* 系统字体堆栈，确保跨平台一致性 */
    line-height: 1.6;        /* 行高 */
    color: var(--text-secondary); /* 默认文字颜色 */
    background-color: var(--bg-primary); /* 默认背景色 */
    min-height: 100vh;       /* 最小高度为视口高度 */
    -webkit-font-smoothing: antialiased; /* 抗锯齿，文字更清晰 */
    overflow-x: hidden;      /* 隐藏水平滚动条 */
}

/* =====================================================
   Announcement Bar
   公告栏
===================================================== */
.fb-announcement-bar {
    background-color: #1a1a1a;       /* 公告栏背景色 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
    height: 36px;                    /* 固定高度 */
    overflow: hidden;                 /* 隐藏溢出内容 */
    position: sticky;                 /* 粘性定位，滚动时固定在顶部 */
    top: 0;                          /* 固定在顶部 */
    z-index: 1001;                   /* 最高层级，确保在其他元素之上 */
}

.announcement-track {
    display: block;                   /* 块级显示 */
    width: 100%;                     /* 宽度100% */
    height: 100%;                    /* 高度100% */
    overflow: hidden;                 /* 隐藏溢出 */
}

.announcement-content {
    display: inline-flex;             /* 行内弹性布局 */
    align-items: center;              /* 垂直居中 */
    height: 100%;                    /* 高度100% */
    animation: announcement-scroll linear infinite; /* 无限滚动动画 */
    animation-duration: inherit;      /* 继承父元素的动画时长 */
    white-space: nowrap;              /* 不换行 */
}

.announcement-content.paused {
    animation-play-state: paused;     /* 暂停动画 */
}

@keyframes announcement-scroll {
    0% {
        transform: translateX(100vw); /* 起始位置：从右侧进入 */
    }

    100% {
        transform: translateX(-100%); /* 结束位置：向左移出屏幕 */
    }
}

.announcement-item {
    display: inline-block;            /* 行内块显示 */
    padding: 0 40px;                 /* 左右内边距 */
    white-space: nowrap;              /* 不换行 */
}

.announcement-link,
.announcement-text {
    color: var(--text-secondary);     /* 文字颜色 */
    font-size: 0.875rem;             /* 字体大小 */
    display: inline-block;            /* 行内块显示 */
    padding: 8px 0;                  /* 上下内边距 */
}

.announcement-link:hover {
    color: var(--text-primary);       /* 悬停时文字变白 */
}

.announcement-link::before {
    content: '📢';                    /* 链接前添加喇叭图标 */
    margin-right: 8px;               /* 右边距 */
}

body::before,
body::after {
    content: none;                    /* 清除伪元素 */
}

a {
    color: var(--text-primary);       /* 链接默认颜色 */
    text-decoration: none;            /* 无下划线 */
    transition: color var(--transition-fast); /* 颜色过渡 */
}

a:hover {
    color: var(--accent-red);         /* 悬停时变红 */
}

img {
    max-width: 100%;                 /* 图片最大宽度100% */
    height: auto;                    /* 高度自适应 */
    display: block;                   /* 块级显示 */
}

ul,
ol {
    list-style: none;                 /* 清除列表样式 */
}

button {
    cursor: pointer;                  /* 鼠标指针为手型 */
    font-family: inherit;             /* 继承父元素字体 */
}

/* =====================================================
   Layout
   页面布局
===================================================== */
.site-wrapper {
    min-height: 100vh;        /* 最小高度为视口高度 */
    display: flex;            /* 弹性布局 */
    flex-direction: column;   /* 垂直方向排列 */
}

.container {
    max-width: var(--container-width); /* 最大宽度 */
    margin: 0 auto;           /* 水平居中 */
    padding: 0 20px;         /* 左右内边距 */
}

.main-content {
    flex: 1;                 /* 占满剩余空间 */
    padding: 16px 0 40px;    /* 上下内边距 — 顶部缩小至40% */
    margin: 0;               /* 无外边距 */
}

.page-content {
    padding: 0 0 30px 0      /* 底部内边距 */
}

/* =====================================================
   Header - Top Navigation
   顶部导航栏
===================================================== */
.site-header {
    background-color: var(--bg-secondary);  /* 背景色 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
    position: sticky;         /* 粘性定位 */
    top: 36px;               /* 在公告栏下方固定 */
    z-index: 1000;           /* 高层级 */
    height: var(--header-height); /* 固定高度 */
}

.header-inner {
    display: flex;            /* 弹性布局 */
    align-items: center;      /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    height: 100%;            /* 高度100% */
    max-width: var(--container-width); /* 最大宽度 */
    margin: 0 auto;          /* 水平居中 */
    padding: 0 20px;         /* 左右内边距 */
}

/* Site Logo / 网站Logo */
.site-logo {
    display: flex;            /* 弹性布局 */
    align-items: center;      /* 垂直居中 */
    gap: 10px;               /* 元素间距 */
    font-size: 1.5rem;       /* 字体大小 */
    font-weight: 700;        /* 粗体 */
    color: var(--text-primary); /* 文字颜色 */
    z-index: 1001;           /* 最高层级 */
}

.site-logo img {
    display: block;          /* 消除基线间隙 */
    height: 36px;            /* Logo 高度（自适应 70px 头部） */
    width: auto;             /* 宽度按比例自适应 */
}

/* Main Navigation / 主导航 */
.main-nav {
    display: flex;            /* 弹性布局 */
    align-items: center;      /* 垂直居中 */
    margin-left: auto;        /* 推到右侧 */
}

.nav-menu {
    display: flex;            /* 弹性布局 */
    gap: 8px;                /* 菜单项间距 */
}

.nav-menu li {
    position: relative;       /* 相对定位 */
}

.nav-menu a {
    display: flex;            /* 弹性布局 */
    align-items: center;      /* 垂直居中 */
    gap: 8px;                /* 图标与文字间距 */
    padding: 10px 16px;      /* 内边距 */
    font-size: 0.9375rem;    /* 字体大小 */
    font-weight: 500;        /* 中等粗细 */
    color: var(--text-muted); /* 默认文字颜色 */
    border-radius: var(--radius-md); /* 圆角 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.nav-menu a:hover,
.nav-menu a.active {
    color: var(--text-primary);       /* 悬停/激活时文字变白 */
    background-color: var(--bg-tertiary); /* 背景变深 */
}

.nav-menu a.active {
    background-color: var(--accent-red); /* 激活状态红色背景 */
    color: var(--text-primary);       /* 白色文字 */
}

.nav-menu svg {
    width: 20px;             /* 图标宽度 */
    height: 20px;            /* 图标高度 */
}

/* =====================================================
   Mobile Menu Toggle (Hamburger)
   移动端菜单按钮（汉堡菜单）
===================================================== */
.mobile-menu-toggle {
    display: none;                   /* 默认隐藏，移动端显示 */
    flex-direction: column;          /* 垂直排列 */
    justify-content: center;         /* 水平居中 */
    align-items: center;             /* 垂直居中 */
    gap: 5px;                       /* 线条间距 */
    width: 44px;                    /* 宽度 */
    height: 44px;                   /* 高度 */
    background: transparent;         /* 透明背景 */
    border: none;                    /* 无边框 */
    cursor: pointer;                 /* 手型指针 */
    padding: 10px;                  /* 内边距 */
    border-radius: var(--radius-md); /* 圆角 */
    transition: background-color var(--transition-fast); /* 背景色过渡 */
    position: relative;              /* 相对定位(展开态三角形的定位基准) */
    z-index: 1001;                  /* 最高层级 */
}

.mobile-menu-toggle:hover {
    background-color: var(--bg-tertiary); /* 悬停时背景变深 */
}

.mobile-menu-toggle:focus {
    outline: 2px solid var(--accent-red); /* 焦点状态红色边框 */
    outline-offset: 2px;            /* 边框偏移 */
}

/* Hamburger Lines / 汉堡菜单线条 */
.hamburger-line {
    display: block;                  /* 块级显示 */
    width: 22px;                    /* 宽度 */
    height: 2px;                    /* 高度 */
    background-color: var(--text-primary); /* 线条颜色 */
    border-radius: 2px;             /* 圆角 */
    transition: all var(--transition-normal); /* 过渡动画 */
}

/* Hamburger Animation - 展开态切换为向左实心三角 / Left solid triangle
   产品要求: 菜单展开后按钮显示向左实心三角(指示收起方向),
   替代原两条线交叉成 X 的形态 */
/* [中文] 展开态: 三条线隐藏并脱离文档流(absolute), ::after 绘制 CSS 实心三角指向左侧,
   由按钮的 flex 布局自动居中 */
.mobile-menu-toggle.is-active .hamburger-line {
    opacity: 0;                     /* 三条线全部隐藏 */
    position: absolute;             /* 脱离文档流, 不挤占三角的居中位置 */
}

.mobile-menu-toggle.is-active::after {
    content: '';                    /* 无内容 */
    display: block;                 /* 块级显示 */
    width: 0;                       /* 宽度为0(border三角) */
    height: 0;                      /* 高度为0(border三角) */
    border-top: 8px solid transparent;    /* 上边框透明 */
    border-bottom: 8px solid transparent; /* 下边框透明 */
    border-right: 12px solid var(--text-primary); /* 右边框实色 → 形成指向左的实心三角 */
}

/* =====================================================
   Header Actions
   顶部操作按钮（搜索、通知）
===================================================== */
.header-actions {
    display: flex;                   /* 弹性布局 */
    align-items: center;             /* 垂直居中 */
    gap: 12px;                      /* 元素间距 */
}

/* Search Box / 搜索框 */
.header-search {
    position: relative;              /* 相对定位 */
}

.header-search input {
    background-color: var(--bg-tertiary); /* 背景色 */
    border: 1px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 10px 16px 10px 40px;   /* 内边距，左边留空给图标 */
    color: var(--text-primary);      /* 文字颜色 */
    font-size: 0.875rem;            /* 字体大小 */
    width: 200px;                   /* 默认宽度 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.header-search input:focus {
    outline: none;                   /* 移除默认焦点样式 */
    border-color: var(--accent-red); /* 焦点时红色边框 */
    width: 250px;                   /* 焦点时加宽 */
}

.header-search input::placeholder {
    color: var(--text-dark);         /* 占位符文字颜色 */
}

.header-search .search-icon {
    position: absolute;              /* 绝对定位 */
    left: 12px;                     /* 距离左边 */
    top: 50%;                       /* 垂直居中 */
    transform: translateY(-50%);    /* 垂直居中调整 */
    background: none;                /* 透明背景 */
    border: none;                    /* 无边框 */
    color: var(--text-dark);         /* 图标颜色 */
    cursor: pointer;                 /* 手型指针 */
    padding: 0;                     /* 无内边距 */
    display: flex;                   /* 弹性布局 */
    align-items: center;             /* 垂直居中 */
    justify-content: center;         /* 水平居中 */
}

.header-search svg {
    color: var(--text-dark);         /* SVG图标颜色 */
}

/* Header Icon Buttons / 顶部图标按钮 */
.header-icon {
    display: flex;                   /* 弹性布局 */
    align-items: center;             /* 垂直居中 */
    justify-content: center;         /* 水平居中 */
    width: 40px;                    /* 宽度 */
    height: 40px;                   /* 高度 */
    border-radius: var(--radius-md); /* 圆角 */
    color: var(--text-muted);        /* 默认颜色 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.header-icon:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
    color: var(--text-primary);      /* 悬停文字颜色 */
}

/* =====================================================
   Footer
   底部
===================================================== */
.site-footer {
    background-color: var(--bg-secondary); /* 背景色 */
    border-top: 1px solid var(--border-color); /* 顶部边框 */
    padding: 32px 0 16px;             /* 上下内边距(上部加大, 三区布局需要呼吸空间) */
    margin-top: auto;                 /* 自动向上推，固定在底部 */
}

.footer-inner {
    text-align: left;                 /* 左对齐(列式布局, 原居中平铺改为分区) */
}

/* ── Zone 1: 品牌区 ───────────────────────────── */
.footer-brand {
    margin-bottom: 24px;              /* 与链接区拉开距离 */
}

.footer-brand-logo-link {
    display: inline-block;           /* 行内块 */
    margin-bottom: 8px;              /* 与 tagline 间距 */
}

.footer-brand-logo-link img {
    width: 160px;                    /* 固定宽度 */
    height: auto;                    /* 高度自适应 */
    display: block;                  /* 块级显示 */
}

.footer-brand-tagline {
    color: var(--text-muted);        /* 弱化色 */
    font-size: 0.8125rem;            /* 字号 */
    max-width: 380px;                /* 限宽, 避免拖成长横幅 */
    line-height: 1.5;                /* 行高 */
    margin: 0;                       /* 清除外边距 */
}

/* ── Zone 2: 链接列区 ─────────────────────────── */
.footer-columns {
    display: grid;                   /* 网格布局 */
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); /* 自适应列 */
    gap: 24px 40px;                  /* 行列间距 */
    padding-top: 20px;               /* 与品牌区分隔 */
    border-top: 1px solid var(--border-color); /* 顶部细分隔线 */
    padding-bottom: 20px;            /* 与法律行分隔 */
    border-bottom: 1px solid var(--border-color); /* 底部细分隔线 */
}

.footer-col {
    min-width: 0;                    /* 允许收缩 */
}

/* 分组标题: eyebrow 风格(小号大写+字距) */
.footer-col-title {
    font-size: 0.7rem;               /* 小字号 */
    font-weight: 700;                /* 粗体 */
    text-transform: uppercase;       /* 大写 */
    letter-spacing: 1px;             /* 字距 */
    color: var(--text-secondary);    /* 次级颜色 */
    margin: 0 0 10px;                /* 底部外边距 */
}

.footer-col-list {
    list-style: none;                /* 去除列表样式 */
    margin: 0;                       /* 清除外边距 */
    padding: 0;                      /* 清除内边距 */
    display: flex;                   /* 弹性布局 */
    flex-direction: column;          /* 纵向排列 */
    gap: 6px;                        /* 行间距 */
}

.footer-col-list a {
    color: var(--text-muted);        /* 默认颜色 */
    font-size: 0.8125rem;            /* 字号 */
    text-decoration: none;           /* 无下划线 */
    transition: color var(--transition-fast); /* 颜色过渡 */
}

.footer-col-list a:hover {
    color: var(--text-primary);      /* 悬停变亮 */
}

/* 联系列: 广告联系模块竖排(复用 footer-contact.php 的输出结构) */
.footer-ad-contact {
    display: flex;                   /* 弹性布局 */
    flex-direction: column;          /* 纵向排列(原横排) */
    align-items: flex-start;         /* 左对齐 */
    gap: 8px;                        /* 行间距 */
}

.footer-ad-contact-label {
    font-size: 0.7rem;               /* 小字号 */
    font-weight: 700;                /* 粗体 */
    text-transform: uppercase;       /* 大写 */
    letter-spacing: 1px;             /* 字距 */
    color: var(--text-secondary);    /* 次级颜色 */
    margin-bottom: 2px;              /* 与条目间距 */
}

.footer-ad-contact-item {
    display: inline-flex;            /* 行内弹性布局 */
    align-items: center;             /* 垂直居中 */
    gap: 8px;                        /* 图标与文字间距 */
    color: var(--text-muted);        /* 默认颜色 */
    font-size: 0.8125rem;            /* 字号 */
    text-decoration: none;           /* 无下划线 */
    transition: color var(--transition-fast); /* 颜色过渡 */
}

.footer-ad-contact-item:hover {
    color: var(--text-primary);      /* 悬停变亮 */
}

/* 友链列: Partners 分组, 竖排弱化 */
.footer-col--partners .footer-friend-links {
    display: flex;                   /* 弹性布局 */
    flex-wrap: wrap;                 /* 自动换行 */
    flex-direction: column;          /* 纵向排列 */
    align-items: flex-start;         /* 左对齐 */
    gap: 6px;                        /* 行间距 */
    margin: 0;                       /* 清除外边距 */
    padding: 0;                      /* 清除内边距 */
}

.footer-friend-links .friend-link {
    display: inline-flex;             /* 行内弹性布局 */
    align-items: center;              /* 垂直居中 */
    gap: 6px;                        /* 图标与文字间距 */
    color: var(--text-muted);         /* 默认颜色 */
    font-size: 0.75rem;              /* 字号(比站内链接更弱化) */
    white-space: nowrap;              /* 不换行 */
    transition: color var(--transition-fast); /* 颜色过渡 */
}

.footer-friend-links .friend-link:hover {
    color: var(--text-primary);       /* 悬停时变白 */
}

.footer-friend-links .link-icon {
    width: 16px;                     /* 图标宽度(缩小) */
    height: 16px;                    /* 图标高度(缩小) */
    object-fit: contain;             /* 保持比例 */
}

/* ── Zone 3: 法律行 ───────────────────────────── */
.footer-legal {
    display: flex;                   /* 弹性布局 */
    flex-wrap: wrap;                 /* 允许换行 */
    align-items: center;             /* 垂直居中 */
    justify-content: space-between;  /* 两端对齐 */
    gap: 8px 16px;                   /* 间距 */
    padding-top: 16px;               /* 顶部间距 */
}

.footer-copyright {
    color: var(--text-dark);         /* 版权文字颜色(最弱) */
    font-size: 0.75rem;              /* 字号(最弱) */
    margin: 0;                       /* 清除外边距 */
}

.footer-legal-links {
    display: flex;                   /* 弹性布局 */
    align-items: center;             /* 垂直居中 */
    gap: 10px;                       /* 链接间距 */
}

.footer-legal-links a {
    color: var(--text-dark);         /* 弱化色 */
    font-size: 0.75rem;              /* 字号 */
    text-decoration: none;           /* 无下划线 */
    transition: color var(--transition-fast); /* 颜色过渡 */
}

.footer-legal-links a:hover {
    color: var(--text-primary);      /* 悬停变亮 */
}

.footer-legal-sep {
    color: var(--text-dark);         /* 分隔符弱化 */
}

/* ── 移动端: 链接列卡片化 + 两列排布, 品牌区居中 ── */
@media (max-width: 768px) {
    .footer-inner {
        text-align: center;          /* 移动端恢复居中 */
    }

    .footer-brand {
        text-align: center;          /* 品牌居中 */
    }

    .footer-brand-tagline {
        margin: 0 auto;              /* tagline 居中 */
    }

    .footer-columns {
        grid-template-columns: repeat(2, 1fr); /* 两列 */
        gap: 16px 12px;              /* 行列间距 */
    }

    /* 卡片化分组: 每列一张独立卡片(背景+边框+圆角),
       解决四组内容裸堆叠、无视觉分界的单调感 */
    /* [中文] 链接列卡片化, 各分组清晰区分 */
    .footer-col {
        background-color: var(--bg-tertiary); /* 卡片背景 */
        border: 1px solid var(--border-color); /* 卡片描边 */
        border-radius: var(--radius-md); /* 圆角 */
        padding: 14px 10px;           /* 卡片内边距 */
    }

    .footer-col-title {
        margin-bottom: 10px;          /* 标题与条目间距 */
        padding-bottom: 8px;          /* 标题下间距 */
        border-bottom: 1px solid var(--border-color); /* 标题下细线, 强化分组感 */
    }

    /* 联系列标题与其它卡片标题统一样式(带下划线) */
    .footer-ad-contact-label {
        padding-bottom: 8px;          /* 与 col-title 一致 */
        margin-bottom: 10px;          /* 与 col-title 一致 */
        border-bottom: 1px solid var(--border-color); /* 标题下细线 */
        align-self: stretch;          /* 下划线通栏卡片宽度 */
        text-align: center;           /* 居中 */
    }

    .footer-col-list {
        align-items: center;         /* 链接居中 */
        gap: 8px;                    /* 行间距稍放大 */
    }

    .footer-ad-contact {
        align-items: center;         /* 联系条目居中 */
        gap: 10px;                   /* 行间距 */
    }

    /* 联系列卡片内长邮箱/号码允许换行, 防止撑破卡片 */
    .footer-ad-contact-item {
        white-space: normal;          /* 允许换行 */
        word-break: break-all;        /* 长邮箱可断行 */
        justify-content: center;      /* 图标+文字整体居中 */
    }

    .footer-col--partners .footer-friend-links {
        align-items: center;         /* 友链居中 */
    }

    .footer-legal {
        flex-direction: column;      /* 法律行纵向堆叠 */
        text-align: center;          /* 居中 */
    }
}

/* =====================================================
   Section Headers
   区域标题
===================================================== */
.section-header {
    display: flex;                    /* 弹性布局 */
    align-items: center;              /* 垂直居中 */
    justify-content: space-between;   /* 两端对齐 */
    margin-bottom: 24px;             /* 底部外边距 */
    padding-bottom: 16px;            /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

.section-title {
    display: flex;                      /* 弹性布局 */
    align-items: center;                /* 垂直居中 */
    gap: 12px;                         /* 元素间距 */
    font-size: 1.5rem;                 /* 字体大小 */
    font-weight: 700;                  /* 粗体 */
    color: var(--text-primary);        /* 文字颜色 */
}

.section-title .dashicons {
    font-size: 1.75rem;                /* 图标字体大小 */
    width: 1.75rem;                    /* 图标宽度 */
    height: 1.75rem;                   /* 图标高度 */
    color: var(--accent-red);          /* 图标颜色 */
}

.section-link {
    display: flex;                      /* 弹性布局 */
    align-items: center;                /* 垂直居中 */
    gap: 6px;                          /* 元素间距 */
    font-size: 0.875rem;               /* 字体大小 */
    font-weight: 500;                  /* 中等粗细 */
    color: var(--text-muted);          /* 文字颜色 */
}

.section-link:hover {
    color: var(--accent-red);          /* 悬停时变红 */
}

.home-section {
    margin-bottom: 20px;               /* 底部外边距 */
}

.home-section:last-child {
    margin-bottom: 0;                  /* 最后一个元素无底部外边距 */
}

/* =====================================================
   Match Cards
   比赛卡片
===================================================== */
.match-card {
    display: flex;                      /* 弹性布局 */
    align-items: center;                /* 垂直居中 */
    gap: 16px;                         /* 元素间距 */
    padding: 16px 20px;                /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md);   /* 圆角 */
    margin-bottom: 8px;                /* 底部外边距 */
    transition: all var(--transition-fast); /* 过渡动画 */
    position: relative;                 /* 相对定位 */
}

.match-card:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.match-card.is-live {
    border-left: 4px solid var(--accent-red); /* 左侧红色边框，标记 LIVE 状态 */
}

/* Match Time / 比赛时间 */
.match-time {
    display: flex;                      /* 弹性布局 */
    flex-direction: column;             /* 垂直排列 */
    align-items: center;                /* 垂直居中 */
    min-width: 60px;                   /* 最小宽度 */
}

.match-time .time {
    font-size: 0.9375rem;              /* 时间字体大小 */
    font-weight: 600;                  /* 粗细 */
    color: var(--text-primary);        /* 文字颜色 */
}

.match-time .status {
    font-size: 0.75rem;                /* 状态字体大小 */
    font-weight: 500;                  /* 粗细 */
    color: var(--text-muted);          /* 文字颜色 */
    display: flex;                      /* 弹性布局 */
    align-items: center;                /* 垂直居中 */
    gap: 4px;                          /* 元素间距 */
}

.match-time .status.live {
    color: var(--accent-red);          /* 直播状态颜色 */
}

.match-time .status.finished {
    color: var(--accent-green);        /* 已结束状态颜色 */
}

.match-time .status.upcoming {
    color: var(--text-muted);          /* 未开始状态颜色 */
}

/* Live Indicator Dot / 直播指示点 */
.live-dot {
    width: 6px;                        /* 宽度 */
    height: 6px;                       /* 高度 */
    background-color: var(--accent-red); /* 背景色 */
    border-radius: 50%;                /* 圆形 */
    animation: pulse 1.5s infinite;    /* 脉冲动画 */
}

@keyframes pulse {

    0%,
    100% {
        opacity: 1;                    /* 完全不透明 */
    }

    50% {
        opacity: 0.4;                  /* 半透明 */
    }
}

/* Match League Info / 比赛联赛信息 */
.match-league {
    display: flex;                      /* 弹性布局 */
    align-items: center;                /* 垂直居中 */
    gap: 8px;                          /* 元素间距 */
    min-width: 180px;                  /* 最小宽度 */
}

.match-league.round-info {
    min-width: auto;                   /* 最小宽度自适应 */
    border-left: none;                 /* 无边框 */
    padding: 0;                        /* 无内边距 */
}

.match-league.round-info .league-name {
    font-size: 0.75rem;                /* 轮次信息字体大小 */
}

.match-league .league-icon {
    width: 24px;                       /* 图标宽度 */
    height: 24px;                      /* 图标高度 */
    object-fit: contain;               /* 保持比例 */
    border-radius: 50%;                /* 圆形 */
    background-color: #ffffff;        /* 白色背景 */
    padding: 3px;                      /* 内边距 */
    box-sizing: border-box;            /* 盒模型 */
}

.match-league .league-name {
    font-size: 0.8125rem;              /* 联赛名称字体大小 */
    color: var(--text-muted);          /* 文字颜色 */
}

/* Match Teams / 比赛球队 */
.match-teams {
    display: flex;                      /* 弹性布局 */
    align-items: center;                /* 垂直居中 */
    flex: 1;                           /* 占满剩余空间 */
    gap: 16px;                         /* 球队间距 */
}

.match-teams .team {
    display: flex;                      /* 弹性布局 */
    align-items: center;                /* 垂直居中 */
    gap: 10px;                         /* 元素间距 */
    flex: 1;                           /* 占满剩余空间 */
}

.match-teams .team.away {
    justify-content: flex-end;         /* 右对齐 */
}

.match-teams .team-logo {
    width: 36px;                       /* 队标宽度 */
    height: 36px;                      /* 队标高度 */
}

.match-teams .team-icon {
    font-size: 36px;                   /* 图标字体大小 */
    width: 36px;                       /* 图标宽度 */
    height: 36px;                      /* 图标高度 */
    color: var(--text-dark);           /* 图标颜色 */
}

.match-teams .team-name {
    font-size: 0.9375rem;              /* 球队名称字体大小 */
    font-weight: 500;                  /* 粗细 */
    color: var(--text-primary);        /* 文字颜色 */
}

/* Match Score / 比赛比分 */
.match-score {
    display: flex;                      /* 弹性布局 */
    align-items: center;                /* 垂直居中 */
    gap: 8px;                          /* 元素间距 */
    min-width: 100px;                  /* 最小宽度 */
    justify-content: center;           /* 水平居中 */
}

.match-score .score {
    font-size: 1.5rem;                 /* 比分字体大小 */
    font-weight: 700;                  /* 粗体 */
    color: var(--text-primary);        /* 文字颜色 */
    min-width: 30px;                   /* 最小宽度 */
    text-align: center;                /* 文字居中 */
}

.match-score .separator {
    color: var(--text-dark);           /* 分隔符颜色 */
    font-weight: 700;                  /* 粗体 */
}

/* Match Badges / 比赛标签 */
.match-badge {
    position: absolute;                 /* 绝对定位 */
    right: 16px;                       /* 距离右边 */
    padding: 4px 10px;                 /* 内边距 */
    border-radius: var(--radius-sm);   /* 圆角 */
    font-size: 0.7rem;                 /* 字体大小 */
    font-weight: 700;                  /* 粗体 */
    text-transform: uppercase;          /* 大写 */
}

.badge-live {
    background-color: var(--accent-red); /* 直播标签背景色 */
    color: var(--text-primary);        /* 文字颜色 */
}

.badge-finished {
    background-color: var(--bg-tertiary); /* 已结束标签背景色 */
    color: var(--text-muted);          /* 文字颜色 */
}

/* =====================================================
   Date Groups
   日期分组
===================================================== */
.date-group {
    margin-bottom: 32px;              /* 底部外边距 */
}

.date-header {
    display: flex;                      /* 弹性布局 */
    align-items: center;                /* 垂直居中 */
    gap: 12px;                         /* 元素间距 */
    margin-bottom: 16px;               /* 底部外边距 */
    padding: 0 4px;                    /* 左右内边距 */
}

.date-header h3 {
    font-size: 1.125rem;               /* 标题字体大小 */
    font-weight: 600;                  /* 粗细 */
    color: var(--text-primary);        /* 文字颜色 */
}

.date-header .live-count {
    background-color: var(--accent-red); /* 直播计数背景色 */
    color: var(--text-primary);        /* 文字颜色 */
    padding: 2px 8px;                  /* 内边距 */
    border-radius: 10px;               /* 圆角 */
    font-size: 0.75rem;                /* 字体大小 */
    font-weight: 600;                  /* 粗细 */
}

/* =====================================================
   League Sections
   联赛分组
===================================================== */
.league-section {
    margin-bottom: 24px;               /* 底部外边距 */
}

.league-header {
    display: flex;                      /* 弹性布局 */
    align-items: center;                /* 垂直居中 */
    gap: 12px;                         /* 元素间距 */
    padding: 14px 16px;                /* 内边距 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
    border-radius: var(--radius-md) var(--radius-md) 0 0; /* 顶部圆角 */
    margin-bottom: 0;                  /* 无底部外边距 */
    cursor: pointer;                   /* 手型指针 */
    transition: background-color var(--transition-fast); /* 背景色过渡 */
    text-decoration: none;             /* 链接重置：无下划线 */
    color: inherit;                    /* 链接重置：继承父级颜色 */
}

.league-header:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.league-header .league-logo {
    width: 20px;                       /* 联赛图标宽度 */
    height: 20px;                      /* 联赛图标高度 */
    padding: 3px;                      /* 内边距 */
}

.league-header .league-name {
    font-weight: 600;                  /* 粗细 */
    color: var(--text-primary);        /* 文字颜色 */
    flex: 1;                           /* 占满剩余空间 */
}

.league-header .league-arrow {
    color: var(--text-dark);           /* 箭头颜色 */
    transition: transform var(--transition-fast); /* 旋转过渡 */
}

.league-header.collapsed .league-arrow {
    transform: rotate(-90deg);         /* 折叠时旋转-90度 */
}

/* =====================================================
   Team Cards
   球队卡片
===================================================== */
.team-card {
    display: flex;                      /* 弹性布局 */
    flex-direction: column;             /* 垂直排列 */
    align-items: center;                /* 水平居中 */
    padding: 24px;                     /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg);   /* 圆角 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.team-card:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.team-logo-wrapper {
    width: 80px;                       /* 队标容器宽度 */
    height: 80px;                      /* 队标容器高度 */
    display: flex;                      /* 弹性布局 */
    align-items: center;                /* 垂直居中 */
    justify-content: center;           /* 水平居中 */
    margin-bottom: 16px;               /* 底部外边距 */
}

.team-card .team-logo {
    width: 100%;                       /* 队标宽度 */
    height: 100%;                      /* 队标高度 */
}

.team-card .team-icon {
    font-size: 64px;                   /* 图标字体大小 */
    width: 64px;                       /* 图标宽度 */
    height: 64px;                      /* 图标高度 */
    color: var(--text-dark);           /* 图标颜色 */
}

.team-info {
    text-align: center;                /* 文字居中 */
}

.team-info .team-name {
    font-size: 1rem;                   /* 球队名称字体大小 */
    font-weight: 600;                  /* 粗细 */
    color: var(--text-primary);        /* 文字颜色 */
    margin-bottom: 4px;                /* 底部外边距 */
}

.team-info .team-country {
    display: flex;                      /* 弹性布局 */
    align-items: center;                /* 垂直居中 */
    justify-content: center;           /* 水平居中 */
    gap: 6px;                          /* 元素间距 */
    font-size: 0.875rem;               /* 字体大小 */
    color: var(--text-muted);          /* 文字颜色 */
}

.team-info .country-flag {
    width: 20px;                       /* 国旗宽度 */
    height: 20px;                      /* 国旗高度 */
    border-radius: 50%;                /* 圆形 */
    background-color: #ffffff;        /* 白色背景 */
    padding: 3px;                      /* 内边距 */
    box-sizing: border-box;            /* 盒模型 */
    object-fit: cover;                 /* 覆盖 */
}

.team-info .team-founded {
    font-size: 0.75rem;                /* 成立年份字体大小 */
    color: var(--text-dark);           /* 文字颜色 */
    margin-top: 4px;                   /* 顶部外边距 */
}

/* Team List Item / 球队列表项 */
.team-list-item {
    display: flex;                      /* 弹性布局 */
    align-items: center;                /* 垂直居中 */
    gap: 16px;                         /* 元素间距 */
    padding: 16px 20px;                /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md);   /* 圆角 */
    margin-bottom: 8px;                /* 底部外边距 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.team-list-item:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.team-list-item .team-logo {
    width: 40px;                       /* 队标宽度 */
    height: 40px;                      /* 队标高度 */
}

.team-list-item .team-details {
    flex: 1;                           /* 占满剩余空间 */
}

.team-list-item .team-details .team-name {
    font-size: 1rem;                   /* 球队名称字体大小 */
    font-weight: 500;                  /* 粗细 */
    color: var(--text-primary);        /* 文字颜色 */
}

.team-list-item .team-details .team-meta {
    font-size: 0.8125rem;              /* 元信息字体大小 */
    color: var(--text-muted);          /* 文字颜色 */
}

.team-list-item .team-venue {
    display: flex;                      /* 弹性布局 */
    align-items: center;                /* 垂直居中 */
    gap: 6px;                          /* 元素间距 */
    font-size: 0.8125rem;              /* 字体大小 */
    color: var(--text-dark);           /* 文字颜色 */
}

.team-list-item .team-venue .dashicons {
    font-size: 1rem;                   /* 图标字体大小 */
    width: 1rem;                       /* 图标宽度 */
    height: 1rem;                      /* 图标高度 */
}

/* =====================================================
   Player Cards
   球员卡片
===================================================== */
.player-card {
    display: flex;                      /* 弹性布局 */
    flex-direction: column;             /* 垂直排列 */
    align-items: center;                /* 水平居中 */
    padding: 24px;                     /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg);   /* 圆角 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.player-card:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.player-photo-wrapper {
    width: 80px;                       /* 照片容器宽度 */
    height: 80px;                      /* 照片容器高度 */
    border-radius: 50%;                /* 圆形 */
    overflow: hidden;                  /* 隐藏溢出 */
    margin-bottom: 16px;               /* 底部外边距 */
    background-color: var(--bg-tertiary); /* 背景色 */
}

.player-card .player-photo {
    width: 100%;                       /* 照片宽度 */
    height: 100%;                      /* 照片高度 */
    object-fit: cover;                 /* 覆盖 */
}

.player-card .player-icon {
    font-size: 64px;                   /* 图标字体大小 */
    width: 64px;                       /* 图标宽度 */
    height: 64px;                      /* 图标高度 */
    color: var(--text-dark);           /* 图标颜色 */
}

.player-info {
    text-align: center;                /* 文字居中 */
}

.player-info .player-name {
    font-size: 1rem;                   /* 球员姓名字体大小 */
    font-weight: 600;                  /* 粗细 */
    color: var(--text-primary);        /* 文字颜色 */
    margin-bottom: 4px;                /* 底部外边距 */
}

.player-info .player-position {
    font-size: 0.8125rem;              /* 位置字体大小 */
    color: var(--accent-blue);         /* 蓝色 */
    margin-bottom: 4px;                /* 底部外边距 */
}

.player-info .player-team {
    font-size: 0.8125rem;              /* 球队字体大小 */
    color: var(--text-muted);          /* 文字颜色 */
}

/* Player List Item / 球员列表项 */
.player-list-item {
    display: flex;                      /* 弹性布局 */
    align-items: center;                /* 垂直居中 */
    gap: 16px;                         /* 元素间距 */
    padding: 16px 20px;                /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md);   /* 圆角 */
    margin-bottom: 8px;                /* 底部外边距 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.player-list-item:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.player-list-item .player-rank {
    font-size: 1.25rem; /* 排名字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-dark); /* 文字颜色 */
    min-width: 30px; /* 最小宽度 */
}

.player-list-item .player-photo {
    width: 40px; /* 照片宽度 */
    height: 40px; /* 照片高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 覆盖 */
}

.player-list-item .player-details {
    flex: 1; /* 占满剩余空间 */
}

.player-list-item .player-details .player-name {
    font-size: 1rem; /* 姓名字体大小 */
    font-weight: 500; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

.player-list-item .player-details .player-team {
    font-size: 0.8125rem; /* 球队字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

.player-list-item .player-position {
    padding: 4px 10px; /* 内边距 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 500; /* 粗细 */
    color: var(--text-muted); /* 文字颜色 */
}

.player-list-item .player-stat {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 4px; /* 元素间距 */
    font-size: 0.9375rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    min-width: 40px; /* 最小宽度 */
}

.player-list-item .player-stat.goals {
    color: var(--accent-green); /* 进球数绿色 */
}

.player-list-item .player-stat.assists {
    color: var(--accent-blue); /* 助攻数蓝色 */
}

.player-list-item .player-stat .dashicons {
    font-size: 1rem; /* 图标字体大小 */
    width: 1rem; /* 图标宽度 */
    height: 1rem; /* 图标高度 */
}

/* =====================================================
   League Cards
   联赛卡片
===================================================== */
.league-card {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 16px; /* 元素间距 */
    padding: 20px; /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 圆角 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.league-card:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.league-logo-wrapper {
    width: 48px; /* 标志容器宽度 */
    height: 48px; /* 标志容器高度 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
}

.league-card .league-logo {
    width: 100%; /* 标志宽度 */
    height: 100%; /* 标志高度 */
}

.league-card .league-icon {
    font-size: 40px; /* 图标字体大小 */
    width: 40px; /* 图标宽度 */
    height: 40px; /* 图标高度 */
    color: var(--text-dark); /* 图标颜色 */
}

.league-info .league-name {
    font-size: 1rem; /* 联赛名称字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 4px; /* 底部外边距 */
}

.league-info .league-country {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

.league-info .country-flag {
    width: 20px; /* 国旗宽度 */
    height: 20px; /* 国旗高度 */
    border-radius: 50%; /* 圆形 */
    background-color: #ffffff; /* 白色背景 */
    padding: 3px; /* 内边距 */
    box-sizing: border-box; /* 盒模型 */
    object-fit: cover; /* 覆盖 */
}

.league-info .league-type {
    display: inline-block; /* 行内块 */
    margin-top: 4px; /* 顶部外边距 */
    padding: 2px 8px; /* 内边距 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    font-size: 0.7rem; /* 字体大小 */
    font-weight: 500; /* 粗细 */
    color: var(--text-muted); /* 文字颜色 */
}

/* League Card Clickable / 可点击的联赛卡片 */
.league-card.clickable {
    cursor: pointer; /* 手型指针 */
}

/* Section Header Country Flag / 区域标题国家旗帜 */
.section-header .section-country-flag {
    width: 24px; /* 旗帜宽度 */
    height: 16px; /* 旗帜高度 */
    object-fit: cover; /* 覆盖 */
    border-radius: 2px; /* 圆角 */
}

/* League List Item / 联赛列表项 */
.league-list-item {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 16px; /* 元素间距 */
    padding: 16px 20px; /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    margin-bottom: 8px; /* 底部外边距 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.league-list-item:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.league-list-item .league-logo {
    width: 32px; /* 联赛标志宽度 */
    height: 32px; /* 联赛标志高度 */
}

.league-list-item .league-details {
    flex: 1; /* 占满剩余空间 */
}

.league-list-item .league-details .league-name {
    font-size: 1rem; /* 联赛名称字体大小 */
    font-weight: 500; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

.league-list-item .league-details .league-meta {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

.league-list-item .league-details .country-flag {
    width: 20px; /* 国旗宽度 */
    height: 20px; /* 国旗高度 */
    border-radius: 50%; /* 圆形 */
    background-color: #ffffff; /* 白色背景 */
    padding: 3px; /* 内边距 */
    box-sizing: border-box; /* 盒模型 */
    object-fit: cover; /* 覆盖 */
}

.league-list-item .league-badge {
    padding: 4px 10px; /* 内边距 */
    border-radius: var(--radius-sm); /* 圆角 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    text-transform: uppercase; /* 大写 */
}

.league-badge.league {
    background-color: var(--accent-blue); /* 联赛标签蓝色 */
    color: var(--text-primary); /* 文字颜色 */
}

.league-badge.cup {
    background-color: var(--accent-purple); /* 杯赛标签紫色 */
    color: var(--text-primary); /* 文字颜色 */
}

/* =====================================================
   Standings Table
   积分榜表格
===================================================== */
.standings-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(2, 1fr); /* 2列等宽 */
    gap: 24px; /* 网格间距 */
}

@media (max-width: 768px) { /* 移动端样式 */
    .standings-grid {
        grid-template-columns: 1fr; /* 1列 */
        gap: 16px; /* 网格间距 */
    }

    .standings-card {
        display: flex; /* 弹性布局 */
        flex-direction: column; /* 垂直排列 */
        overflow: hidden; /* 隐藏溢出 */
    }

    .standings-table {
        display: block; /* 块级显示 */
        overflow-x: hidden; /* 隐藏水平溢出 */
        width: 100%; /* 宽度100% */
    }

    .standings-table .standings-row {
        display: grid; /* 网格布局 */
        grid-template-columns: 30px minmax(80px, 1fr) 25px 25px 25px 25px 30px 30px 30px 35px 40px; /* 列宽定义（Form 70→40px：配合圆点样式收窄） */
        width: 100%; /* 宽度100% */
    }

    .standings-row {
        padding: 6px 8px; /* 内边距 */
        font-size: 0.65rem; /* 字体大小 */
    }

    .standings-row .col-rank {
        font-size: 0.65rem; /* 排名字体大小 */
    }

    .standings-row .col-team {
        min-width: 0; /* 最小宽度0 */
        /* [2026-09-27 v3 修复重叠] 原 justify-self:start 下网格项按 fit-content
           取宽，下限=min-content(队标+间距+最长单词)。手机端 1fr 轨道窄于该下限时
           team 单元格实体溢出轨道右缘，盖住右侧数据列（实测 5-11px 重叠）。
           改为 stretch：单元格恒等于轨道宽，队名在内部换行/截断，不再外溢。 */
        justify-self: stretch; /* 拉伸至轨道宽 */
        gap: 4px; /* 收窄队标与队名间距（原 10px） */
    }

    .standings-row .col-team .team-name {
        font-size: 0.65rem; /* 球队名称字体大小 */
        max-width: 100%; /* 最大宽度100% */
        overflow: hidden; /* 隐藏溢出 */
        text-overflow: ellipsis; /* 省略号 */
        white-space: normal; /* 允许换行 */
        line-height: 1.2; /* 行高 */
        max-height: 2.4em; /* 最大高度 */
        display: -webkit-box; /* webkit弹性盒 */
        -webkit-line-clamp: 2; /* 最多2行 */
        -webkit-box-orient: vertical; /* 垂直方向 */
        text-align: left; /* 左对齐 */
    }

    .standings-row .col-team .team-logo {
        width: 14px; /* 球队标志宽度 */
        height: 14px; /* 球队标志高度 */
        flex-shrink: 0; /* 不缩小 */
    }

    .standings-row .col-p, /* 场次 */
    .standings-row .col-w, /* 胜场 */
    .standings-row .col-d, /* 平场 */
    .standings-row .col-l, /* 负场 */
    .standings-row .col-gf, /* 进球数 */
    .standings-row .col-ga, /* 失球数 */
    .standings-row .col-gd, /* 净胜球 */
    .standings-row .col-pts { /* 积分 */
        font-size: 0.65rem; /* 字体大小 */
        text-align: center; /* 居中对齐 */
    }

    .standings-row.header .col-rank, /* 表头排名 */
    .standings-row.header .col-team, /* 表头球队 */
    .standings-row.header .col-p, /* 表头场次 */
    .standings-row.header .col-w, /* 表头胜场 */
    .standings-row.header .col-d, /* 表头平场 */
    .standings-row.header .col-l, /* 表头负场 */
    .standings-row.header .col-gf, /* 表头进球数 */
    .standings-row.header .col-ga, /* 表头失球数 */
    .standings-row.header .col-gd, /* 表头净胜球 */
    .standings-row.header .col-pts, /* 表头积分 */
    .standings-row.header .col-form, /* 表头近况 */
    .standings-row.header .col-group { /* 表头分组 */
        font-size: 0.55rem; /* 字体大小 */
        padding: 3px 4px; /* 内边距 */
    }

    .col-form {
        display: flex !important; /* 弹性布局 */
        align-items: center !important; /* 垂直居中 */
        gap: 2px !important; /* 元素间距 */
        justify-content: center !important; /* 水平居中 */
        overflow: hidden !important; /* 隐藏溢出 */
    }

    .form-dot {
        /* [2026-09-27 v3] 手机端改为 6px 圆点（原 10px 方块），Form 列收窄至 40px
           （5 点 × 6px + 4 间距 × 2px = 38px）。W/D/L 颜色语义不变。
           !important 压制桌面端 :first-child/:last-child 的方角规则（源顺序在前）。 */
        width: 6px !important; /* 圆点宽度 */
        height: 6px !important; /* 圆点高度 */
        border-radius: 50% !important; /* 圆形 */
        margin-right: 0 !important; /* 无右边距 */
        font-size: 0 !important; /* 无字体大小 */
        text-indent: -9999px !important; /* 文本缩进隐藏 */
        display: inline-flex !important; /* 行内弹性布局 */
        border: none !important; /* 无边框 */
    }

    .standings-header {
        padding: 8px 10px; /* 内边距 */
        gap: 8px; /* 元素间距 */
        flex-wrap: nowrap; /* 不换行 */
        overflow: hidden; /* 隐藏溢出 */
    }

    .standings-header .league-logo, /* 联赛标志 */
    .standings-header .dashicons { /* dashicon图标 */
        width: 16px !important; /* 宽度 */
        height: 16px !important; /* 高度 */
        font-size: 16px; /* 字体大小 */
        flex-shrink: 0; /* 不缩小 */
    }

    .standings-header .league-logo {
        object-fit: contain; /* 包含 */
    }

    .standings-header .league-name {
        font-size: 0.75rem; /* 联赛名称字体大小 */
        white-space: nowrap; /* 不换行 */
        overflow: hidden; /* 隐藏溢出 */
        text-overflow: ellipsis; /* 省略号 */
        flex-shrink: 1; /* 可缩小 */
        min-width: 0; /* 最小宽度0 */
    }

    .standings-header .country-name {
        display: none; /* 隐藏国家名称 */
    }
}

.standings-card {
    background-color: var(--bg-tertiary); /* 背景色 - 区别于容器背景,让每个积分榜独立成框 */
    border: 1px solid var(--border-color); /* 边框 - 增强框体可见性 */
    border-radius: 8px; /* 圆角 */
    overflow: hidden; /* 隐藏溢出 */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25); /* 阴影 - 深色背景下需更强阴影 */
    margin-bottom: 20px; /* 底部外边距 - 每个积分榜之间留出间距 */
}

.standings-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 12px; /* 元素间距 */
    padding: 14px 16px; /* 内边距 */
    background-color: var(--bg-hover); /* 背景色 - 浅于卡片主体,形成标题栏效果 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
    text-decoration: none; /* 链接重置：无下划线 */
    color: inherit; /* 链接重置：继承父级颜色 */
    cursor: pointer; /* 手型指针 */
    transition: background-color var(--transition-fast); /* 背景色过渡 */
}

.standings-header .league-logo {
    width: 20px !important; /* 联赛标志宽度 */
    height: 20px !important; /* 联赛标志高度 */
    padding: 3px !important; /* 内边距 */
}

.standings-header .league-name {
    font-size: 0.9375rem; /* 联赛名称字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

.standings-header .country-name {
    font-size: 0.75rem; /* 国家名称字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
}

.standings-header .separator {
    color: var(--text-muted); /* 分隔符颜色 */
    font-size: 0.75rem; /* 分隔符字体大小 */
}

.standings-header .country-flag {
    height: 15px; /* 国旗高度 */
    border-radius: 2px; /* 圆角 */
    padding: 1px; /* 内边距 */
    box-sizing: border-box; /* 盒模型 */
    object-fit: cover; /* 覆盖 */
    flex-shrink: 0; /* 不缩小 */
}

.standings-table {
    width: 100%; /* 表格宽度100% */
}

.standings-row {
    display: grid; /* 网格布局 */
    grid-template-columns: 40px 1fr 35px 35px 35px 35px 35px 35px 40px 40px 90px; /* 列宽定义 */
    align-items: center; /* 垂直居中 */
    padding: 10px 16px; /* 内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
    transition: background-color 0.15s ease; /* 背景色过渡 */
}

.standings-row:last-child {
    border-bottom: none; /* 最后一行无边框 */
}

.standings-row.header {
    background-color: transparent; /* 表头背景透明 */
    padding-top: 12px; /* 顶部内边距 */
    padding-bottom: 12px; /* 底部内边距 */
}

.standings-row.header .col-rank, /* 表头排名 */
.standings-row.header .col-team, /* 表头球队 */
.standings-row.header .col-p, /* 表头场次 */
.standings-row.header .col-w, /* 表头胜场 */
.standings-row.header .col-d, /* 表头平场 */
.standings-row.header .col-l, /* 表头负场 */
.standings-row.header .col-gf, /* 表头进球数 */
.standings-row.header .col-ga, /* 表头失球数 */
.standings-row.header .col-gd, /* 表头净胜球 */
.standings-row.header .col-pts, /* 表头积分 */
.standings-row.header .col-form, /* 表头近况 */
.standings-row.header .col-group { /* 表头分组：与其他表头一致加粗 */
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    background-color: var(--bg-tertiary); /* 背景色 */
    padding: 6px 8px; /* 内边距 */
    border-radius: var(--radius-md); /* 圆角 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    text-transform: uppercase; /* 大写 */
    letter-spacing: 0.5px; /* 字间距 */
}

.col-rank {
    justify-self: start; /* 排名左对齐 */
}

.col-team {
    justify-self: start; /* 球队左对齐 */
}

.col-p, /* 场次 */
.col-w, /* 胜场 */
.col-d, /* 平场 */
.col-l, /* 负场 */
.col-gf, /* 进球数 */
.col-ga, /* 失球数 */
.col-gd { /* 净胜球 */
    justify-self: center; /* 居中对齐 */
}

.col-pts {
    justify-self: center; /* 积分居中对齐 */
}

.col-form {
    justify-self: center; /* 近况居中对齐 */
}

.standings-row:not(.header):hover {
    background-color: var(--bg-tertiary); /* 非表头行悬停背景色 */
}

.standings-row.top-3 {
    background-color: transparent; /* 前3行背景透明 */
}

.standings-row.champion {
    background-color: transparent; /* 冠军行背景透明 */
}

.col-rank {
    font-weight: 700; /* 排名字体粗细 */
    color: var(--text-primary); /* 排名颜色 */
    font-size: 0.875rem; /* 排名字体大小 */
    text-align: center; /* 居中对齐 */
}

.standings-row.header .col-rank, /* 表头排名 */
.standings-row.header .col-team, /* 表头球队 */
.standings-row.header .col-p, /* 表头场次 */
.standings-row.header .col-w, /* 表头胜场 */
.standings-row.header .col-d, /* 表头平场 */
.standings-row.header .col-l, /* 表头负场 */
.standings-row.header .col-gf, /* 表头进球数 */
.standings-row.header .col-ga, /* 表头失球数 */
.standings-row.header .col-gd, /* 表头净胜球 */
.standings-row.header .col-pts, /* 表头积分 */
.standings-row.header .col-form, /* 表头近况 */
.standings-row.header .col-group { /* 表头分组 */
    text-align: center; /* 居中对齐 */
}

/* Data columns - right side numbers */
.standings-row:not(.header) .col-p, /* 非表头场次 */
.standings-row:not(.header) .col-w, /* 非表头胜场 */
.standings-row:not(.header) .col-d, /* 非表头平场 */
.standings-row:not(.header) .col-l, /* 非表头负场 */
.standings-row:not(.header) .col-gf, /* 非表头进球数 */
.standings-row:not(.header) .col-ga, /* 非表头失球数 */
.standings-row:not(.header) .col-gd, /* 非表头净胜球 */
.standings-row:not(.header) .col-pts { /* 非表头积分 */
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 400; /* 字体粗细 */
    color: var(--text-secondary); /* 文字颜色 */
    text-align: center; /* 居中对齐 */
}

.col-rank .medal {
    display: inline-block; /* 行内块 */
    margin-right: 2px; /* 右边距 */
    font-size: 0.75rem; /* 奖牌字体大小 */
}

.col-team {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
}

.col-team .team-logo {
    width: 20px; /* 队标宽度 */
    height: 20px; /* 队标高度 */
}

.col-team .team-name {
    font-weight: 500; /* 球队名称粗细 */
    color: var(--text-primary); /* 球队名称颜色 */
    font-size: 0.875rem; /* 球队名称字体大小 */
}

/* 积分榜球队名称链接样式 */
.col-team a.team-name {
    text-decoration: none; /* 无下划线 */
    transition: color var(--transition-fast); /* 颜色过渡 */
}

.col-team a.team-name:hover {
    color: var(--accent-red); /* 悬停红色强调 */
}

.col-p, /* 场次 */
.col-w, /* 胜场 */
.col-d, /* 平场 */
.col-l, /* 负场 */
.col-pts { /* 积分 */
    text-align: center; /* 居中对齐 */
    font-size: 0.875rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

.col-gf, /* 进球数 */
.col-ga { /* 失球数 */
    text-align: center; /* 居中对齐 */
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

.col-gd { /* 净胜球 */
    text-align: center; /* 居中对齐 */
    font-size: 0.8125rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
}

.col-gd.positive {
    color: #22c55e; /* 净胜球为正则绿色 */
}

.col-gd.negative {
    color: #ef4444; /* 净胜球为负则红色 */
}

.col-pts {
    font-weight: 700; /* 积分字体粗细 */
    color: var(--text-primary); /* 积分颜色 */
    font-size: 0.9375rem; /* 积分字体大小 */
}

.col-form {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 4px; /* 元素间距 */
    justify-content: center; /* 水平居中 */
}

.form-dot {
    width: 18px; /* 近况标记宽度 */
    height: 18px; /* 近况标记高度 */
    border-radius: 0; /* 无圆角 */
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: white; /* 文字颜色 */
    margin-right: -2px; /* 负边距重叠 */
    border: 1px solid rgba(0, 0, 0, 0.1); /* 边框 */
}

.form-dot:first-child {
    border-radius: 4px 0 0 4px; /* 第一个左边圆角 */
}

.form-dot:last-child {
    border-radius: 0 4px 4px 0; /* 最后一个右边圆角 */
    margin-right: 0; /* 无右边距 */
}

.form-dot.w {
    background-color: #22c55e; /* 胜利绿色 */
}

.form-dot.d {
    background-color: #f59e0b; /* 平局橙色 */
}

.form-dot.l {
    background-color: #ef4444; /* 失败红色 */
}

.form-empty {
    color: var(--text-muted); /* 空状态颜色 */
    font-size: 0.75rem; /* 字体大小 */
}

/* Top Scorers Table - Rankings / 射手榜排名 */
.standings-row .col-rank .medal {
    margin-right: 4px; /* 奖牌右边距 */
}

.standings-row .col-rank .rank-number {
    display: inline; /* 排名数字行内显示 */
}

.standings-row .player-cell {
    justify-content: flex-start; /* 球员单元格左对齐 */
}

.standings-row .player-cell img.player-avatar {
    width: 24px; /* 球员头像宽度 */
    height: 24px; /* 球员头像高度 */
    border-radius: 50%; /* 圆形 */
    margin-right: 10px; /* 右边距 */
    object-fit: cover; /* 覆盖 */
}

.standings-row .player-cell .player-icon {
    font-size: 20px; /* 球员图标字体大小 */
    width: 20px; /* 球员图标宽度 */
    height: 20px; /* 球员图标高度 */
    margin-right: 10px; /* 右边距 */
}

.standings-row .team-cell img.team-logo {
    width: 20px; /* 球队标志宽度 */
    height: 20px; /* 球队标志高度 */
    margin-right: 6px; /* 右边距 */
}

.standings-row .team-cell .team-name-text {
    font-size: 0.875rem; /* 球队名称字体大小 */
    color: var(--text-muted); /* 球队名称颜色 */
}

.standings-row .goals-cell {
    color: var(--accent-green); /* 进球数绿色 */
    font-weight: 600; /* 粗细 */
}

.standings-row .assists-cell {
    color: var(--accent-blue); /* 助攻数蓝色 */
}

/* Top Assists Cards / 助攻榜卡片 */
.player-card .player-team-highlight {
    color: var(--accent-blue); /* 高亮球队蓝色 */
    font-weight: 600; /* 粗细 */
}

/* =====================================================
   Grid Layouts
   网格布局
===================================================== */
.grid-2 {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(2, 1fr); /* 2列等宽 */
    gap: 20px; /* 网格间距 */
}

.grid-3 {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(3, 1fr); /* 3列等宽 */
    gap: 20px; /* 网格间距 */
}

.grid-4 {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(4, 1fr); /* 4列等宽 */
    gap: 20px; /* 网格间距 */
}

.grid-5 {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(5, 1fr); /* 5列等宽 */
    gap: 20px; /* 网格间距 */
}

@media (max-width: 1200px) { /* 大屏幕响应式 */
    .grid-4 {
        grid-template-columns: repeat(3, 1fr); /* 4列变3列 */
    }

    .grid-5 {
        grid-template-columns: repeat(4, 1fr); /* 5列变4列 */
    }
}

@media (max-width: 992px) { /* 中屏幕响应式 */
    .grid-3 {
        grid-template-columns: repeat(2, 1fr); /* 3列变2列 */
    }

    .grid-4 {
        grid-template-columns: repeat(2, 1fr); /* 4列变2列 */
    }
}

@media (max-width: 768px) { /* 小屏幕响应式 */

    .grid-2,
    .grid-3,
    .grid-4,
    .grid-5 {
        grid-template-columns: 1fr; /* 所有网格变成1列 */
    }
}

/* =====================================================
   Tabs Content
   标签页内容
===================================================== */
.tabs-content {
    margin-top: 20px; /* 标签页内容上边距 */
}

.tab-panel {
    display: none; /* 默认隐藏 */
}

.tab-panel.active {
    display: block; /* 激活状态显示 */
}

#tab-countries .grid-2 {
    gap: 24px; /* 国家标签页网格间距 */
}

#tab-countries .country-card {
    margin-bottom: 0; /* 国家卡片无底部外边距 */
}

/* =====================================================
   Country Card
   国家卡片
===================================================== */
.country-card {
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    overflow: hidden; /* 隐藏溢出 */
    box-shadow: var(--shadow-sm); /* 阴影 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.country-card:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.country-header {
    background-color: var(--bg-tertiary); /* 头部背景色 */
    padding: 20px; /* 内边距 */
    text-align: center; /* 文字居中 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

.country-flag-large {
    width: 60px; /* 国旗宽度 */
    height: 40px; /* 国旗高度 */
    object-fit: cover; /* 覆盖 */
    margin-bottom: 12px; /* 底部外边距 */
    border-radius: 4px; /* 圆角 */
}

.country-flag-placeholder {
    font-size: 40px; /* 占位符字体大小 */
    margin-bottom: 12px; /* 底部外边距 */
    color: var(--text-muted); /* 占位符颜色 */
}

.country-header h3 {
    font-size: 1.125rem; /* 国家名称字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 4px; /* 底部外边距 */
}

.country-league-count {
    font-size: 0.875rem; /* 联赛数量字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

.country-leagues-list {
    padding: 16px; /* 联赛列表内边距 */
}

.mini-league-item {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    padding: 10px; /* 内边距 */
    border-radius: var(--radius-sm); /* 圆角 */
    cursor: pointer; /* 手型指针 */
    transition: background-color var(--transition-fast); /* 背景色过渡 */
}

.mini-league-item:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.mini-league-logo {
    width: 24px; /* 小型联赛标志宽度 */
    height: 24px; /* 小型联赛标志高度 */
    object-fit: contain; /* 包含 */
}

.mini-league-name {
    font-size: 0.875rem; /* 小型联赛名称字体大小 */
    font-weight: 500; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

.see-more {
    padding: 10px; /* 内边距 */
    text-align: center; /* 文字居中 */
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--accent-blue); /* 文字颜色 */
    font-weight: 500; /* 粗细 */
    cursor: pointer; /* 手型指针 */
}

.see-more:hover {
    color: var(--accent-red); /* 悬停颜色变红 */
}

/* =====================================================
   SEO Content
   SEO 内容
===================================================== */
.seo-content {
    margin-top: 40px; /* 上边距 */
    padding: 30px; /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    border-top: 3px solid var(--accent-blue); /* 顶部蓝色边框 */
}

.seo-text h2 {
    font-size: 1.5rem; /* 标题字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 20px; /* 底部外边距 */
}

.seo-text p {
    color: var(--text-secondary); /* 文字颜色 */
    font-size: 0.9375rem; /* 字体大小 */
    line-height: 1.8; /* 行高 */
    margin-bottom: 16px; /* 底部外边距 */
}

.seo-text p:last-child {
    margin-bottom: 0; /* 最后一段无底部外边距 */
}

/* =====================================================
   Hero Section
   主视觉区域
===================================================== */
.hero-section {
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 100%); /* 渐变背景 */
    padding: 60px 0; /* 上下内边距 */
    margin-bottom: 40px; /* 底部外边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

.hero-title {
    font-size: 2.5rem; /* 标题字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 16px; /* 底部外边距 */
}

.hero-subtitle {
    font-size: 1.125rem; /* 副标题字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin-bottom: 24px; /* 底部外边距 */
}

/* =====================================================
   Teams Page Styles
   球队页面样式
===================================================== */
.team-card {
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 20px; /* 内边距 */
    transition: all var(--transition-fast); /* 过渡动画 */
    box-shadow: var(--shadow-sm); /* 阴影 */
}

.team-card:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.team-logo-wrapper {
    display: flex; /* 弹性布局 */
    justify-content: center; /* 水平居中 */
    align-items: center; /* 垂直居中 */
    margin-bottom: 16px; /* 底部外边距 */
    height: 80px; /* 高度 */
}

.team-logo {
    max-width: 100%; /* 最大宽度 */
    max-height: 80px; /* 最大高度 */
}

.team-icon {
    font-size: 48px; /* 图标字体大小 */
    color: var(--text-muted); /* 图标颜色 */
}

.team-info {
    text-align: center; /* 文字居中 */
}

.team-name {
    font-size: 1.125rem; /* 球队名称字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 8px; /* 底部外边距 */
}

.team-country {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    gap: 6px; /* 元素间距 */
    font-size: 0.875rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin-bottom: 4px; /* 底部外边距 */
}

.team-country .country-flag {
    width: 20px; /* 国旗宽度 */
    height: 20px; /* 国旗高度 */
    border-radius: 50%; /* 圆形 */
    background-color: #ffffff; /* 白色背景 */
    padding: 3px; /* 内边距 */
    box-sizing: border-box; /* 盒模型 */
    object-fit: cover; /* 覆盖 */
}

.team-founded {
    display: block; /* 块级显示 */
    font-size: 0.8125rem; /* 成立年份字体大小 */
    color: var(--text-dark); /* 文字颜色 */
    margin-bottom: 4px; /* 底部外边距 */
}

.team-venue {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    gap: 4px; /* 元素间距 */
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

.team-venue .dashicons {
    font-size: 14px; /* 图标字体大小 */
    width: 14px; /* 图标宽度 */
    height: 14px; /* 图标高度 */
}

/* Mini Team Item */
.mini-team-item {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    padding: 12px; /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    transition: background-color var(--transition-fast); /* 背景色过渡 */
    cursor: pointer; /* 手型指针 */
}

.mini-team-item:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.mini-team-logo {
    width: 32px; /* 小型球队标志宽度 */
    height: 32px; /* 小型球队标志高度 */
}

.mini-team-name {
    font-size: 0.875rem; /* 小型球队名称字体大小 */
    font-weight: 500; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

.see-more-item {
    justify-content: center; /* 居中对齐 */
    background-color: var(--bg-tertiary); /* 背景色 */
}

.see-more-text {
    font-size: 0.875rem; /* 查看更多字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--accent-blue); /* 文字颜色 */
}

/* Tab Buttons */
#teams-tabs .tab-item {
    border: none; /* 无边框 */
    background: none; /* 无背景 */
    font-family: inherit; /* 继承字体 */
}

/* =====================================================
   Players Page Styles
   球员页面样式
===================================================== */
.player-card {
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 20px; /* 内边距 */
    transition: all var(--transition-fast); /* 过渡动画 */
    box-shadow: var(--shadow-sm); /* 阴影 */
}

.player-card:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.player-photo-wrapper {
    display: flex; /* 弹性布局 */
    justify-content: center; /* 水平居中 */
    align-items: center; /* 垂直居中 */
    margin-bottom: 16px; /* 底部外边距 */
    height: 80px; /* 高度 */
    position: relative; /* 相对定位 */
}

.player-photo {
    width: 80px; /* 球员照片宽度 */
    height: 80px; /* 球员照片高度 */
    object-fit: cover; /* 覆盖 */
    border-radius: 50%; /* 圆形 */
    border: 2px solid var(--border-color); /* 边框 */
}

.player-icon {
    font-size: 48px; /* 球员图标字体大小 */
    color: var(--text-muted); /* 图标颜色 */
}

.player-badge {
    position: absolute; /* 绝对定位 */
    top: -5px; /* 距离顶部 */
    right: -5px; /* 距离右侧 */
    font-size: 24px; /* 徽章字体大小 */
}

.player-info {
    text-align: center; /* 文字居中 */
}

.player-name {
    font-size: 1.125rem; /* 球员姓名字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 8px; /* 底部外边距 */
}



.player-team {
    display: block; /* 块级显示 */
    font-size: 0.875rem; /* 球队字体大小 */
    color: var(--text-secondary); /* 文字颜色 */
    margin-bottom: 4px; /* 底部外边距 */
}

.player-team-highlight {
    display: inline-block; /* 行内块 */
    margin-top: 8px; /* 顶部外边距 */
    font-weight: 600; /* 粗细 */
    color: var(--accent-blue); /* 高亮蓝色 */
}

.player-stat-badge {
    display: inline-block; /* 行内块 */
    margin-top: 8px; /* 顶部外边距 */
    padding: 4px 12px; /* 内边距 */
    background-color: var(--accent-blue); /* 背景色 */
    color: white; /* 文字颜色 */
    border-radius: 12px; /* 圆角 */
    font-weight: 600; /* 粗细 */
    font-size: 0.875rem; /* 字体大小 */
}

/* Mini Player Item */
.mini-player-item {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    padding: 12px; /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    transition: background-color var(--transition-fast); /* 背景色过渡 */
    cursor: pointer; /* 手型指针 */
}

.mini-player-item:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.mini-player-avatar {
    width: 40px; /* 小型球员头像宽度 */
    height: 40px; /* 小型球员头像高度 */
    object-fit: cover; /* 覆盖 */
    border-radius: 50%; /* 圆形 */
}

.mini-player-info {
    flex: 1; /* 占满剩余空间 */
}

.mini-player-name {
    display: block; /* 块级显示 */
    font-size: 0.875rem; /* 小型球员姓名字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

.mini-player-position {
    display: block; /* 块级显示 */
    font-size: 0.75rem; /* 小型球员位置字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* Standings Player Cells */
.player-cell {
    align-items: center; /* 垂直居中 */
}

.player-avatar {
    width: 36px; /* 球员头像宽度 */
    height: 36px; /* 球员头像高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 覆盖 */
    margin-right: 10px; /* 右边距 */
}

.goals-cell {
    font-weight: 700; /* 进球数字体粗细 */
    color: var(--accent-red); /* 进球数红色 */
}

.assists-cell {
    font-weight: 700; /* 助攻数字体粗细 */
    color: var(--accent-blue); /* 助攻数蓝色 */
}

/* Section Description */
.section-desc {
    font-size: 0.875rem; /* 区域描述字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* Tabs for Players Page */
#players-tabs .tab-item {
    border: none; /* 无边框 */
    background: none; /* 无背景 */
    font-family: inherit; /* 继承字体 */
}

/* =====================================================
   Two Column Grid
   双列网格
===================================================== */
.two-column-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: 1fr 1fr; /* 2列等宽 */
    gap: 32px; /* 网格间距 */
}

@media (max-width: 900px) { /* 响应式断点 */
    .two-column-grid {
        grid-template-columns: 1fr; /* 单列 */
    }
}

/* =====================================================
   Cards List
   红黄牌列表
===================================================== */
.cards-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 8px; /* 元素间距 */
}

.card-item {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 16px; /* 元素间距 */
    padding: 12px 16px; /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    transition: all 0.2s ease; /* 过渡动画 */
}

.card-item:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.card-rank {
    width: 32px; /* 排名宽度 */
    text-align: center; /* 居中对齐 */
    font-weight: 700; /* 粗细 */
    color: var(--text-muted); /* 文字颜色 */
    font-size: 0.9375rem; /* 字体大小 */
}

.card-avatar {
    width: 40px; /* 头像宽度 */
    height: 40px; /* 头像高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 覆盖 */
}

.card-details {
    flex: 1; /* 占满剩余空间 */
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
}

.card-name {
    font-weight: 600; /* 名字粗细 */
    color: var(--text-primary); /* 名字颜色 */
    font-size: 0.9375rem; /* 名字字体大小 */
}

.card-team {
    font-size: 0.8125rem; /* 球队字体大小 */
    color: var(--text-muted); /* 球队颜色 */
}

.card-count {
    font-weight: 700; /* 计数粗细 */
    padding: 4px 12px; /* 内边距 */
    border-radius: 16px; /* 圆角 */
    font-size: 0.9375rem; /* 字体大小 */
}

.card-count.yellow {
    background-color: rgba(251, 140, 0, 0.2); /* 黄牌背景色 */
    color: var(--accent-orange); /* 黄牌颜色 */
}

.card-count.red {
    background-color: rgba(229, 57, 53, 0.2); /* 红牌背景色 */
    color: var(--accent-red); /* 红牌颜色 */
}

/* =====================================================
   Additional Player Styles
   额外的球员样式
===================================================== */
.minutes-cell {
    font-weight: 700; /* 上场时间字体粗细 */
    color: var(--accent-blue); /* 上场时间蓝色 */
}

.player-stat-badge.assists {
    background-color: var(--accent-blue); /* 助攻徽章蓝色 */
}

.player-stat-badge.gk {
    background-color: var(--accent-purple); /* 门将徽章紫色 */
}

/* =====================================================
   Player Detail Page
   球员详情页
===================================================== */
/* Player Detail Page Layout */
.player-detail-page {
    padding-bottom: 60px; /* 底部内边距 */
}

/* Player Detail Page Layout */
.player-detail-page .fb-leagues-layout {
    display: grid; /* 网格布局 */
    grid-template-columns: 70fr 30fr; /* 70:30 比例，fr 单位自动扣除 gap，防止右栏溢出容器 */
    gap: 24px; /* 间距 */
}
.player-detail-page .fb-leagues-left {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
}

.player-detail-page .fb-leagues-right {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 16px; /* 元素间距 */
}

.player-detail-page .fb-leagues-right .widget {
    margin-bottom: 0; /* 右侧模块无底部外边距 */
}

@media (max-width: 992px) { /* 响应式断点 */
    .player-detail-page .fb-leagues-layout {
        grid-template-columns: minmax(0, 1fr); /* 单列布局, 允许收缩到视口内 */
    }

    .player-detail-page .fb-leagues-left {
        order: 1; /* 左侧内容在前 */
        min-width: 0; /* 允许列宽小于内容最小宽(配合表格容器 overflow-x:auto 滚动) */
    }

    .player-detail-page .fb-leagues-right {
        order: 2; /* 右侧内容在后 */
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }
}

/* Leagues Layout (shared for pages) */
.fb-leagues-layout {
    display: grid; /* 网格布局 */
    grid-template-columns: 70fr 30fr; /* 70:30 比例，fr 单位自动扣除 gap，防止右栏溢出容器 */
    gap: 24px; /* 间距 */
}

.fb-leagues-left {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
}

.fb-leagues-right {
    position: sticky; /* 粘性定位 */
    top: 100px; /* 距离顶部 */
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 16px; /* 元素间距 */
}

@media (max-width: 1024px) { /* 响应式断点 */
    /* minmax(0,1fr): 轨道允许收缩, 防止内容 min-content 撑破手机布局
       — 与球员/球队/比赛详情页同款加固 */
    /* [中文] 单列轨道允许收缩, 防御性加固 */
    .fb-leagues-layout {
        grid-template-columns: minmax(0, 1fr); /* 单列布局, 允许收缩 */
    }

    .fb-leagues-left {
        order: 1; /* 左侧内容在前 */
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }

    .fb-leagues-right {
        position: static; /* 静态定位 */
        order: 2; /* 右侧内容在后 */
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }
}

/* Player Intro Header */
.player-info-section {
    margin-bottom: 8px; /* 缩小底部外边距 */
}

.player-intro-header {
    display: flex; /* 弹性布局 */
    gap: 20px; /* 元素间距 */
    align-items: stretch; /* 拉伸对齐：info-block 与 matches 同高 */
    margin-bottom: 0; /* 无底部外边距（外层 detail-section 已有 padding） */
}

.player-info-block {
    flex: 1; /* 占满剩余空间 */
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    justify-content: space-between; /* top-row 贴顶，meta 贴底 */
    min-width: 0; /* 最小宽度0 */
}

.player-top-row {
    display: flex; /* 弹性布局 */
    gap: 16px; /* 照片与信息间距 */
    align-items: center; /* 垂直居中 */
}

.player-photo-container {
    flex-shrink: 0; /* 不缩小 */
}

.player-photo-large {
    width: 100px; /* 照片宽度 */
    height: 100px; /* 照片高度 */
    border-radius: var(--radius-lg); /* 圆角 */
    object-fit: cover; /* 覆盖 */
    border: 3px solid var(--border-color); /* 边框 */
}

.player-name {
    font-size: 2rem; /* 球员姓名字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 8px; /* 底部外边距 */
    white-space: nowrap; /* 不换行 */
    overflow: hidden; /* 隐藏溢出 */
    text-overflow: ellipsis; /* 省略号 */
}

.player-team-info {
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    padding: 8px 16px; /* 内边距 */
    background: var(--bg-primary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    border: 1px solid var(--border-color); /* 边框 */
    color: var(--text-secondary); /* 文字颜色 */
    text-decoration: none; /* 无下划线 */
    transition: all 0.2s; /* 过渡动画 */
}

.player-team-info:hover {
    background-color: var(--bg-hover); /* 悬停背景色 */
    color: var(--text-secondary); /* 保持文字颜色不变 */
}

.player-team-logo {
    width: 24px; /* 球队标志宽度 */
    height: 24px; /* 球队标志高度 */
    object-fit: contain; /* 包含 */
}

/* Player Stats Row */
.player-stats-row {
    display: flex; /* 弹性布局 */
    flex-wrap: wrap; /* 自动换行 */
    gap: 12px; /* 元素间距 */
    margin-bottom: 24px; /* 底部外边距 */
}

.player-stat-item {
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    padding: 10px 16px; /* 内边距 */
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    border: 1px solid var(--border-color); /* 边框 */
    color: var(--text-secondary); /* 文字颜色 */
    flex: 1; /* 占满剩余空间 */
    min-width: 140px; /* 最小宽度 */
    justify-content: center; /* 水平居中 */
}

.player-stat-item .dashicons {
    color: var(--accent-blue); /* 图标颜色 */
}

/* Player Header Matches (Last Match + Next Match) */
.player-header-matches {
    flex: 0 0 440px; /* 固定宽度右侧栏 */
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 12px; /* 卡片间距 */
}

.player-header-match {
    display: flex; /* 弹性布局 */
    flex-direction: row; /* 水平排列：标题在左，卡片在右 */
    align-items: stretch; /* 拉伸对齐 */
    gap: 8px; /* 标题与卡片间距 */
}

.player-header-match .section-subtitle {
    flex: 0 0 70px; /* 固定宽度 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    margin-bottom: 0; /* 移除底部外边距 */
    font-size: 0.85rem; /* 副标题字体大小 */
    line-height: 1.2; /* 行高 */
}

.player-header-match .live-list {
    flex: 1; /* 占满剩余空间 */
    min-width: 0; /* 最小宽度0 */
}

.player-header-match .live-list {
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 圆角 */
    border: 1px solid var(--border-color); /* 边框 */
}

/* Live Matches Styles */
.live-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
}

.live-item {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    padding: 12px; /* 内边距 */
    text-decoration: none; /* 无下划线 */
    transition: background-color 0.2s; /* 背景色过渡 */
    border-radius: var(--radius-md); /* 圆角 */
}

.live-item:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.live-col {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
}

.live-col-league {
    flex: 0 0 120px; /* 固定宽度 */
    gap: 8px; /* 元素间距 */
}

.live-col-time {
    flex: 0 0 120px; /* 固定宽度 */
    gap: 4px; /* 元素间距 */
}

.live-col-teams {
    flex: 1; /* 占满剩余空间 */
    flex-direction: column; /* 垂直排列 */
    gap: 6px; /* 元素间距 */
}

.live-col-scores {
    flex: 0 0 70px; /* 固定宽度 */
    justify-content: center; /* 水平居中 */
    gap: 10px; /* 元素间距 */
}

.live-league-logo-wrapper {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
}

.league-logo {
    width: 20px; /* 联赛标志宽度 */
    height: 20px; /* 联赛标志高度 */
    object-fit: contain; /* 包含 */
}

.team-logo-tiny {
    width: 20px; /* 小型球队标志宽度 */
    height: 20px; /* 小型球队标志高度 */
    object-fit: contain; /* 包含 */
}

.live-league-name {
    font-size: 0.75rem; /* 联赛名称字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

.live-time-icon {
    color: var(--text-muted); /* 时间图标颜色 */
    font-size: 16px; /* 时间图标字体大小 */
}

.live-time-value {
    font-weight: 600; /* 时间值粗细 */
    color: var(--accent-blue); /* 时间值蓝色 */
    font-size: 0.85rem; /* 时间值字体大小 */
}

.live-team-row {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
}

.live-team-name {
    font-size: 0.8rem; /* 球队名称字体大小 */
    color: var(--text-primary); /* 球队名称颜色 */
    font-weight: 500; /* 粗细 */
}

.live-score {
    font-size: 1rem; /* 比分字体大小 */
    font-weight: 700; /* 比分粗细 */
    color: var(--text-primary); /* 比分颜色 */
}

/* Player Bio */
.player-bio {
    padding: 20px; /* 内边距 */
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 圆角 */
}



/* Match Item */
.match-item {
    padding: 20px 24px; /* 内边距 */
    max-width: 100%; /* 最大宽度 */
}

@media (max-width: 768px) { /* 移动端响应式 */
    .match-item {
        width: 100%; /* 宽度100% */
        padding: 16px; /* 内边距 */
    }
}

.match-league-info {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 12px; /* 元素间距 */
    margin-bottom: 16px; /* 底部外边距 */
    padding-bottom: 12px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

.match-meta {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 12px; /* 元素间距 */
    color: var(--text-muted); /* 文字颜色 */
    font-size: 0.9rem; /* 字体大小 */
}

.match-result {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 12px; /* 元素间距 */
    margin-bottom: 16px; /* 底部外边距 */
}

.match-home,
.match-away {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    justify-content: space-between; /* 两端对齐 */
}

.match-away {
    flex-direction: row-reverse; /* 反向排列 */
}

.match-team .team-name {
    flex: 1; /* 占满剩余空间 */
}

.match-team .team-name.winner {
    color: var(--accent-green); /* 获胜球队绿色 */
}

.team-score {
    font-weight: 700; /* 比分粗细 */
    color: var(--text-primary); /* 比分颜色 */
    font-size: 1.2rem; /* 比分字体大小 */
}

.player-stats {
    display: flex; /* 弹性布局 */
    gap: 20px; /* 元素间距 */
    justify-content: center; /* 水平居中 */
    padding-top: 12px; /* 顶部内边距 */
    border-top: 1px solid var(--border-color); /* 顶部边框 */
}

.player-stats .stat-item {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    font-weight: 600; /* 粗细 */
    color: var(--text-secondary); /* 文字颜色 */
}

.player-stats .stat-item.yellow-card {
    color: #f59e0b; /* 黄牌橙色 */
}

.player-stats .stat-item.red-card {
    color: #ef4444; /* 红牌红色 */
}

.player-stats .stat-item.goals {
    color: var(--accent-green); /* 进球绿色 */
}

/* Player Detail - Trophies */
.player-trophies-section .trophy-list {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); /* 自动填充列 */
    gap: 12px; /* 网格间距 */
}

.trophy-item {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 16px; /* 元素间距 */
    padding: 16px 20px; /* 内边距 */
}

.trophy-icon {
    font-size: 2rem; /* 奖杯图标字体大小 */
}

.trophy-info {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 4px; /* 元素间距 */
}

.trophy-name {
    font-weight: 600; /* 奖杯名称粗细 */
    color: var(--text-primary); /* 奖杯名称颜色 */
}

.trophy-season {
    font-size: 0.8125rem; /* 赛季字体大小 */
    color: var(--text-muted); /* 赛季颜色 */
}

/* Player Detail - Comments */
.comments-section {
    margin-bottom: 0; /* 评论区域无底部外边距 */
}

/* Recent Matches List */
.recent-matches-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 16px; /* 元素间距 */
}

/* Detail Section */
.detail-section {
    margin-bottom: 24px; /* 详情区域底部外边距 */
}

.detail-section:last-child {
    margin-bottom: 0; /* 最后一个详情区域无底部外边距 */
}

/* Section Subtitle */
.section-subtitle {
    font-size: 1.2rem; /* 副标题字体大小 */
    font-weight: 600; /* 副标题粗细 */
    color: var(--text-primary); /* 副标题颜色 */
    margin-bottom: 16px; /* 副标题底部外边距 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
}

.section-subtitle .dashicons {
    color: var(--accent-blue); /* 副标题图标颜色 */
}

/* Widget Box */
.widget-box {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 圆角 */
    border: 1px solid var(--border-color); /* 边框 */
    padding: 20px; /* 内边距 */
}

/* Empty State */
.empty-state {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    padding: 60px 20px; /* 内边距 */
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 圆角 */
    border: 1px dashed var(--border-color); /* 虚线边框 */
    gap: 12px; /* 元素间距 */
}

.empty-state .dashicons {
    font-size: 3rem; /* 图标字体大小 */
    color: var(--text-muted); /* 图标颜色 */
}

.empty-state h3 {
    margin: 0; /* 无外边距 */
    color: var(--text-secondary); /* 标题颜色 */
}

.empty-state p {
    margin: 0; /* 无外边距 */
    color: var(--text-muted); /* 文字颜色 */
}

/* Button Primary */
.btn-primary {
    padding: 10px 24px; /* 内边距 */
    background: var(--accent-red); /* 背景色 - 红底白字,与菜单栏统一 */
    color: #fff; /* 文字颜色 */
    text-decoration: none; /* 无下划线 */
    border-radius: var(--radius-md); /* 圆角 */
    font-weight: 600; /* 粗细 */
    transition: all 0.2s; /* 过渡动画 */
}

.btn-primary:hover {
    background: #c62828; /* 悬停背景色变暗 (Material Red 800) */
    color: #fff;         /* 保持文字白色，防止被全局 a:hover 覆盖为红色 */
}

/* Player Detail - Responsive */
@media (max-width: 1024px) { /* 中等屏幕响应式 */
    .player-intro-header {
        flex-wrap: wrap; /* 允许换行 */
    }

    .player-header-matches {
        flex: 1 1 100%; /* 占满宽度，换行到下方 */
        flex-direction: row; /* 水平排列 */
    }
}

@media (max-width: 768px) { /* 小屏幕响应式 */
    .player-intro-header {
        flex-direction: column; /* 垂直排列 */
        align-items: center; /* 居中对齐 */
        text-align: center; /* 文字居中 */
    }

    .player-top-row {
        flex-direction: column; /* 垂直排列 */
        align-items: center; /* 居中对齐 */
    }

    .player-header-matches {
        flex: 0 0 auto; /* 自动宽度 */
        flex-direction: column; /* 垂直排列 */
        width: 100%; /* 占满宽度 */
    }

    .player-header-match {
        flex-direction: column; /* 垂直排列：标题在上 */
    }

    .player-header-match .section-subtitle {
        flex: 0 0 auto; /* 自动宽度 */
        margin-bottom: 4px; /* 底部外边距 */
    }

    .player-name {
        font-size: 1.75rem; /* 姓名字体大小 */
    }

    .player-photo-large {
        width: 120px; /* 照片宽度 */
        height: 120px; /* 照片高度 */
    }

    .player-stats-row {
        flex-direction: column; /* 垂直排列 */
    }

    .player-stat-item {
        justify-content: center; /* 居中对齐 */
        width: 100%; /* 宽度100% */
    }

    .trophy-list {
        grid-template-columns: 1fr; /* 单列 */
    }
}

/* =====================================================
   Players Page - Complete Redesign
   球员页面 - 完整重新设计
===================================================== */

/* Page Hero Section */
.page-hero {
    background-color: var(--bg-secondary); /* 背景色 */
    padding: 40px 0; /* 上下内边距 */
    margin-bottom: 32px; /* 底部外边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

.page-title {
    font-size: 2rem; /* 页面标题字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 12px; /* 底部外边距 */
}

.page-subtitle {
    font-size: 1rem; /* 页面副标题字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    max-width: 700px; /* 最大宽度 */
    line-height: 1.6; /* 行高 */
    margin-bottom: 24px; /* 底部外边距 */
}

.hero-stats {
    display: flex; /* 弹性布局 */
    gap: 32px; /* 元素间距 */
    flex-wrap: wrap; /* 自动换行 */
}

.stat-item {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
}

.stat-number {
    font-size: 1.75rem; /* 统计数字字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--accent-blue); /* 统计数字颜色 */
}

.stat-label {
    font-size: 0.8125rem; /* 统计标签字体大小 */
    color: var(--text-muted); /* 统计标签颜色 */
    text-transform: uppercase; /* 大写 */
    letter-spacing: 0.5px; /* 字间距 */
}

/* Standings Hero Stats */
.standings-hero-stats {
    gap: 40px; /* 元素间距 */
    margin-bottom: 32px; /* 底部外边距 */
    padding-bottom: 32px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

.standings-hero-stats .stat-item {
    flex-direction: row; /* 水平排列 */
    align-items: center; /* 垂直居中 */
    gap: 16px; /* 元素间距 */
    background-color: var(--bg-secondary); /* 背景色 */
    padding: 16px 24px; /* 内边距 */
    border-radius: var(--radius-md); /* 圆角 */
    border: 1px solid var(--border-color); /* 边框 */
}

.standings-hero-stats .stat-icon {
    font-size: 2rem; /* 图标字体大小 */
    color: var(--accent-blue); /* 图标颜色 */
    width: auto; /* 自动宽度 */
    height: auto; /* 自动高度 */
}

.standings-hero-stats .stat-content {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 4px; /* 元素间距 */
}

.standings-hero-stats .stat-number {
    font-size: 1.5rem; /* 统计数字字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 统计数字颜色 */
}

.standings-hero-stats .stat-label {
    font-size: 0.75rem; /* 统计标签字体大小 */
    color: var(--text-muted); /* 统计标签颜色 */
    text-transform: uppercase; /* 大写 */
    letter-spacing: 0.5px; /* 字间距 */
}

/* Section Description */
.section-description {
    font-size: 0.9375rem; /* 区域描述字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    line-height: 1.6; /* 行高 */
    margin-top: 8px; /* 顶部外边距 */
}

/* Scorers Table */
.top-scorers-section {
    margin-bottom: 40px; /* 底部外边距 */
}

.scorers-table {
    overflow-x: auto; /* 水平滚动 */
}

.scorers-table .standings-row {
    display: grid; /* 网格布局 */
    grid-template-columns: 60px 1fr 160px 60px 70px 70px 70px; /* 列宽定义 */
    align-items: center; /* 垂直居中 */
    padding: 12px 16px; /* 内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
    transition: background-color var(--transition-fast); /* 背景色过渡 */
}

.scorers-table .standings-row:last-child {
    border-bottom: none; /* 最后一行无边框 */
}

.scorers-table .standings-row.header {
    background-color: var(--bg-tertiary); /* 表头背景色 */
    font-size: 0.6875rem; /* 表头字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-muted); /* 表头颜色 */
    text-transform: uppercase; /* 大写 */
    letter-spacing: 0.5px; /* 字间距 */
    padding: 12px 16px; /* 内边距 */
}

.scorers-table .col-rank {
    justify-self: center; /* 排名居中 */
}

.scorers-table .col-player {
    justify-self: start; /* 球员列左对齐 */
}

.scorers-table .col-team {
    justify-self: start; /* 球队列左对齐 */
}

.scorers-table .col-pos {
    justify-self: center; /* 位置列居中 */
}

.scorers-table .col-goals {
    justify-self: center; /* 进球列居中 */
}

.scorers-table .col-assists {
    justify-self: center; /* 助攻列居中 */
}

.scorers-table .col-apps {
    justify-self: center; /* 出场列居中 */
}

.scorers-table .col-rank {
    font-weight: 700; /* 排名字体粗细 */
    font-size: 0.875rem; /* 排名字体大小 */
    color: var(--text-muted); /* 排名颜色 */
}

.scorers-table .col-player {
    min-width: 180px; /* 球员列最小宽度 */
}

.scorers-table .col-team {
    min-width: 140px; /* 球队列最小宽度 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
}

.scorers-table .col-pos {
    font-size: 0.8125rem; /* 位置字体大小 */
    color: var(--text-muted); /* 位置颜色 */
}

.scorers-table .col-goals {
    font-weight: 600; /* 进球数字体粗细 */
    font-size: 0.9375rem; /* 进球数字体大小 */
    color: var(--accent-red); /* 进球数红色 */
}

.scorers-table .col-assists {
    font-size: 0.875rem; /* 助攻数字体大小 */
    color: var(--accent-blue); /* 助攻数蓝色 */
}

.scorers-table .col-apps {
    font-size: 0.875rem; /* 出场数字体大小 */
    color: var(--text-muted); /* 出场数颜色 */
}

.scorers-table .standings-row:not(.header):hover {
    background-color: var(--bg-hover); /* 非表头行悬停背景色 */
}

.player-avatar {
    width: 36px; /* 球员头像宽度 */
    height: 36px; /* 球员头像高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 覆盖 */
    margin-right: 10px; /* 右边距 */
    vertical-align: middle; /* 垂直居中 */
    flex-shrink: 0; /* 不缩小 */
}

.player-icon-placeholder {
    display: inline-flex; /* 行内弹性布局 */
    width: 36px; /* 占位符宽度 */
    height: 36px; /* 占位符高度 */
    border-radius: 50%; /* 圆形 */
    background-color: var(--bg-tertiary); /* 背景色 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    margin-right: 10px; /* 右边距 */
    color: var(--text-muted); /* 颜色 */
    vertical-align: middle; /* 垂直居中 */
    flex-shrink: 0; /* 不缩小 */
}

.player-name-text {
    font-weight: 500; /* 球员姓名字体粗细 */
    color: var(--text-primary); /* 球员姓名颜色 */
}

.team-logo-small {
    width: 20px; /* 小型球队标志宽度 */
    height: 20px; /* 小型球队标志高度 */
    flex-shrink: 0; /* 不缩小 */
}

.team-name-text {
    color: var(--text-secondary); /* 球队名称颜色 */
    font-size: 0.8125rem; /* 球队名称字体大小 */
    white-space: nowrap; /* 不换行 */
    overflow: hidden; /* 隐藏溢出 */
    text-overflow: ellipsis; /* 省略号 */
}

.gold-rank {
    background-color: rgba(255, 215, 0, 0.1); /* 金色排名背景 */
}

.silver-rank {
    background-color: rgba(192, 192, 192, 0.1); /* 银色排名背景 */
}

.bronze-rank {
    background-color: rgba(205, 127, 50, 0.1); /* 铜色排名背景 */
}

.medal-badge {
    display: inline-block; /* 行内块 */
    padding: 2px 6px; /* 内边距 */
    border-radius: var(--radius-sm); /* 圆角 */
    font-size: 0.6875rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    margin-right: 6px; /* 右边距 */
}

.medal-badge.gold {
    background-color: #ffd700; /* 金牌背景色 */
    color: #000; /* 金牌文字颜色 */
}

.medal-badge.silver {
    background-color: #c0c0c0; /* 银牌背景色 */
    color: #000; /* 银牌文字颜色 */
}

.medal-badge.bronze {
    background-color: #cd7f32; /* 铜牌背景色 */
    color: #fff; /* 铜牌文字颜色 */
}

/* Two Column Layout */
.stats-two-column {
    display: grid; /* 网格布局 */
    grid-template-columns: 1fr 1fr; /* 2列等宽 */
    gap: 32px; /* 网格间距 */
    margin-bottom: 40px; /* 底部外边距 */
}

@media (max-width: 1024px) { /* 响应式断点 */
    .stats-two-column {
        grid-template-columns: 1fr; /* 单列 */
        gap: 24px; /* 网格间距 */
    }
}

.stats-column {
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 圆角 */
    padding: 24px; /* 内边距 */
}

/* Assist Cards Grid */
.assist-cards-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); /* 自动填充列 */
    gap: 16px; /* 网格间距 */
}

.player-card-large {
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 20px; /* 内边距 */
    text-align: center; /* 文字居中 */
    position: relative; /* 相对定位 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.player-card-large:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.player-card-large.rank-1 {
    border: 2px solid #ffd700; /* 第一名金色边框 */
}

.player-card-large.rank-2 {
    border: 2px solid #c0c0c0; /* 第二名银色边框 */
}

.player-card-large.rank-3 {
    border: 2px solid #cd7f32; /* 第三名铜色边框 */
}

.card-rank-badge {
    position: absolute; /* 绝对定位 */
    top: -8px; /* 距离顶部 */
    left: 50%; /* 距离左侧 */
    transform: translateX(-50%); /* 水平居中 */
    padding: 3px 10px; /* 内边距 */
    border-radius: var(--radius-md); /* 圆角 */
    font-size: 0.6875rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: #fff; /* 文字颜色 */
}

.rank-1 .card-rank-badge {
    background-color: #ffd700; /* 第一名徽章金色 */
    color: #000; /* 文字颜色 */
}

.rank-2 .card-rank-badge {
    background-color: #c0c0c0; /* 第二名徽章银色 */
    color: #000; /* 文字颜色 */
}

.rank-3 .card-rank-badge {
    background-color: #cd7f32; /* 第三名徽章铜色 */
    color: #fff; /* 文字颜色 */
}

.player-card-photo {
    margin-bottom: 12px; /* 照片底部外边距 */
}

.player-card-photo img {
    width: 64px; /* 照片宽度 */
    height: 64px; /* 照片高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 覆盖 */
    border: 2px solid var(--border-color); /* 边框 */
}

.photo-placeholder {
    width: 64px; /* 占位符宽度 */
    height: 64px; /* 占位符高度 */
    border-radius: 50%; /* 圆形 */
    background-color: var(--bg-secondary); /* 背景色 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    margin: 0 auto; /* 水平居中 */
    color: var(--text-muted); /* 颜色 */
}

.photo-placeholder.small {
    width: 40px; /* 小尺寸宽度 */
    height: 40px; /* 小尺寸高度 */
}

.photo-placeholder.gk {
    background-color: rgba(251, 140, 0, 0.2); /* 门将占位符背景色 */
    color: var(--accent-orange); /* 门将占位符颜色 */
}

.photo-placeholder.tiny {
    width: 32px; /* 微小尺寸宽度 */
    height: 32px; /* 微小尺寸高度 */
}

.player-card-name {
    font-size: 0.9375rem; /* 球员姓名字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 4px; /* 底部外边距 */
}

.player-card-position {
    display: block; /* 块级显示 */
    font-size: 0.75rem; /* 位置字体大小 */
    color: var(--text-muted); /* 位置颜色 */
    margin-bottom: 4px; /* 底部外边距 */
}

.player-card-team {
    display: block; /* 块级显示 */
    font-size: 0.75rem; /* 球队字体大小 */
    color: var(--text-secondary); /* 球队颜色 */
    margin-bottom: 8px; /* 底部外边距 */
}

.player-card-stat {
    background-color: var(--accent-blue); /* 统计徽章背景色 */
    color: #fff; /* 统计徽章文字颜色 */
    padding: 6px 12px; /* 内边距 */
    border-radius: var(--radius-md); /* 圆角 */
    display: inline-block; /* 行内块 */
}

.player-card-stat .stat-value {
    font-size: 1rem; /* 统计值字体大小 */
    font-weight: 600; /* 粗细 */
}

.player-card-stat .stat-label {
    font-size: 0.6875rem; /* 统计标签字体大小 */
    opacity: 0.9; /* 透明度 */
}

/* Discipline Section */
.discipline-section {
    margin-bottom: 24px; /* 纪律区域底部外边距 */
}

.discipline-section:last-child {
    margin-bottom: 0; /* 最后一个纪律区域无底部外边距 */
}

.subsection-title {
    font-size: 1rem; /* 子标题字体大小 */
    font-weight: 600; /* 粗细 */
    margin-bottom: 12px; /* 底部外边距 */
    padding-bottom: 6px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

.yellow-title {
    color: var(--accent-orange); /* 黄牌标题橙色 */
    border-bottom-color: var(--accent-orange); /* 黄牌标题边框橙色 */
}

.red-title {
    color: var(--accent-red); /* 红牌标题红色 */
    border-bottom-color: var(--accent-red); /* 红牌标题边框红色 */
}

.discipline-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 8px; /* 元素间距 */
}

.discipline-item {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    padding: 10px; /* 内边距 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    transition: background-color var(--transition-fast); /* 背景色过渡 */
}

.discipline-item:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.discipline-rank {
    width: 24px; /* 排名宽度 */
    height: 24px; /* 排名高度 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: 50%; /* 圆形 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    font-weight: 600; /* 粗细 */
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

.discipline-player {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    flex: 1; /* 占满剩余空间 */
}

.discipline-avatar {
    width: 36px; /* 头像宽度 */
    height: 36px; /* 头像高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 覆盖 */
}

.discipline-info {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
}

.discipline-name {
    font-weight: 500; /* 名字粗细 */
    color: var(--text-primary); /* 名字颜色 */
    font-size: 0.875rem; /* 名字字体大小 */
}

.discipline-team {
    font-size: 0.75rem; /* 球队字体大小 */
    color: var(--text-muted); /* 球队颜色 */
}

.discipline-count {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 4px; /* 元素间距 */
    padding: 4px 10px; /* 内边距 */
    border-radius: var(--radius-md); /* 圆角 */
    font-weight: 600; /* 粗细 */
    font-size: 0.8125rem; /* 字体大小 */
}

.discipline-count.yellow {
    background-color: rgba(251, 140, 0, 0.2); /* 黄牌计数背景色 */
    color: var(--accent-orange); /* 黄牌计数颜色 */
}

.discipline-count.red {
    background-color: rgba(229, 57, 53, 0.2); /* 红牌计数背景色 */
    color: var(--accent-red); /* 红牌计数颜色 */
}

.yellow-card-icon {
    color: var(--accent-orange); /* 黄牌图标颜色 */
}

.red-card-icon {
    color: var(--accent-red); /* 红牌图标颜色 */
}

/* Minutes Grid */
.minutes-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); /* 自动填充列 */
    gap: 16px; /* 网格间距 */
}

.minutes-card {
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 16px; /* 内边距 */
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 12px; /* 元素间距 */
    transition: all var(--transition-fast); /* 过渡动画 */
    position: relative; /* 相对定位 */
}

.minutes-card:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.minutes-card.top-ranked {
    border-left: 3px solid var(--accent-blue); /* 顶尖排名蓝色左边框 */
}

.minutes-rank {
    position: absolute; /* 绝对定位 */
    top: 12px; /* 距离顶部 */
    right: 12px; /* 距离右侧 */
    width: 28px; /* 排名宽度 */
    height: 28px; /* 排名高度 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: 50%; /* 圆形 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    font-weight: 600; /* 粗细 */
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

.top-ranked .minutes-rank {
    background-color: var(--accent-blue); /* 顶尖排名背景色 */
    color: #fff; /* 顶尖排名文字颜色 */
}

.minutes-photo img {
    width: 56px; /* 照片宽度 */
    height: 56px; /* 照片高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 覆盖 */
}

.minutes-info {
    flex: 1; /* 占满剩余空间 */
}

.minutes-name {
    font-size: 1rem; /* 名字字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 名字颜色 */
    margin-bottom: 4px; /* 底部外边距 */
}

.minutes-team {
    display: block; /* 块级显示 */
    font-size: 0.8125rem; /* 球队字体大小 */
    color: var(--text-secondary); /* 球队颜色 */
    margin-bottom: 2px; /* 底部外边距 */
}

.minutes-position {
    display: block; /* 块级显示 */
    font-size: 0.75rem; /* 位置字体大小 */
    color: var(--text-muted); /* 位置颜色 */
}

.minutes-stat {
    background-color: var(--bg-tertiary); /* 背景色 */
    padding: 12px; /* 内边距 */
    border-radius: var(--radius-sm); /* 圆角 */
    text-align: center; /* 文字居中 */
}

.minutes-value {
    display: block; /* 块级显示 */
    font-size: 1.25rem; /* 时间值字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--accent-blue); /* 时间值蓝色 */
}

.minutes-label {
    font-size: 0.6875rem; /* 标签字体大小 */
    color: var(--text-muted); /* 标签颜色 */
    text-transform: uppercase; /* 大写 */
    letter-spacing: 0.5px; /* 字间距 */
}

.minutes-details {
    display: flex; /* 弹性布局 */
    justify-content: space-around; /* 均匀分布 */
    padding-top: 10px; /* 顶部内边距 */
    border-top: 1px solid var(--border-color); /* 顶部边框 */
}

.detail-item {
    font-size: 0.75rem; /* 详情项字体大小 */
    color: var(--text-muted); /* 详情项颜色 */
}

.detail-item strong {
    color: var(--text-primary); /* 强调文字颜色 */
}

/* Goalkeepers Grid */
.goalkeepers-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); /* 自动填充列 */
    gap: 16px; /* 网格间距 */
}

.goalkeeper-card {
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 16px; /* 内边距 */
    text-align: center; /* 文字居中 */
    position: relative; /* 相对定位 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.goalkeeper-card:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.goalkeeper-card.gk-ranked {
    border: 2px solid var(--accent-blue); /* 排名门将蓝色边框 */
}

.gk-medal {
    position: absolute; /* 绝对定位 */
    top: -8px; /* 距离顶部 */
    right: -8px; /* 距离右侧 */
    font-size: 1.25rem; /* 奖牌字体大小 */
}

.gk-photo {
    margin-bottom: 12px; /* 照片底部外边距 */
}

.gk-photo img {
    width: 64px; /* 照片宽度 */
    height: 64px; /* 照片高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 覆盖 */
    border: 2px solid var(--accent-blue); /* 蓝色边框 */
}

.gk-name {
    font-size: 0.9375rem; /* 门将姓名字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 4px; /* 底部外边距 */
}

.gk-team {
    display: block; /* 块级显示 */
    font-size: 0.8125rem; /* 球队字体大小 */
    color: var(--text-secondary); /* 球队颜色 */
    margin-bottom: 12px; /* 底部外边距 */
}

.gk-stats {
    display: flex; /* 弹性布局 */
    justify-content: center; /* 水平居中 */
    gap: 16px; /* 元素间距 */
}

.gk-stat-item {
    text-align: center; /* 文字居中 */
}

.gk-stat-value {
    display: block; /* 块级显示 */
    font-size: 1rem; /* 统计值字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--accent-blue); /* 统计值蓝色 */
}

.gk-stat-label {
    font-size: 0.6875rem; /* 统计标签字体大小 */
    color: var(--text-muted); /* 统计标签颜色 */
}

/* Position Groups */
.position-group {
    margin-bottom: 32px; /* 位置分组底部外边距 */
    padding: 20px; /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 圆角 */
    border-left: 3px solid var(--position-color); /* 左边框颜色 */
}

.position-header {
    margin-bottom: 16px; /* 头部底部外边距 */
}

.position-title {
    font-size: 1.25rem; /* 位置标题字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 4px; /* 底部外边距 */
}

.position-subtitle {
    font-size: 0.875rem; /* 位置副标题字体大小 */
    color: var(--text-muted); /* 副标题颜色 */
}

.position-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); /* 自动填充列 */
    gap: 12px; /* 网格间距 */
}

.position-player-card {
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    padding: 12px; /* 内边距 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    transition: background-color var(--transition-fast); /* 背景色过渡 */
}

.position-player-card:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.position-player-photo img {
    width: 40px; /* 照片宽度 */
    height: 40px; /* 照片高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 覆盖 */
}

.position-player-info {
    flex: 1; /* 占满剩余空间 */
}

.position-player-name {
    display: block; /* 块级显示 */
    font-weight: 500; /* 粗细 */
    color: var(--text-primary); /* 名字颜色 */
    font-size: 0.875rem; /* 名字字体大小 */
    margin-bottom: 2px; /* 底部外边距 */
}

.position-player-team {
    display: block; /* 块级显示 */
    font-size: 0.75rem; /* 球队字体大小 */
    color: var(--text-muted); /* 球队颜色 */
}

/* Nationality Grid */
.nationality-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); /* 自动填充列 */
    gap: 16px; /* 网格间距 */
}

.nationality-card {
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    overflow: hidden; /* 隐藏溢出 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.nationality-card:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.nationality-header {
    background-color: var(--bg-tertiary); /* 头部背景色 */
    padding: 16px; /* 内边距 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 12px; /* 元素间距 */
}

.nationality-flag {
    width: 40px; /* 国旗宽度 */
    height: 28px; /* 国旗高度 */
    object-fit: cover; /* 覆盖 */
    border-radius: var(--radius-sm); /* 圆角 */
}

.nationality-name {
    font-size: 1.125rem; /* 国家名称字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 2px; /* 底部外边距 */
}

.nationality-count {
    font-size: 0.8125rem; /* 数量字体大小 */
    color: var(--text-muted); /* 数量颜色 */
}

.nationality-players {
    padding: 12px; /* 内边距 */
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(3, 1fr); /* 3列 */
    gap: 10px; /* 网格间距 */
}

.nationality-player-item {
    text-align: center; /* 文字居中 */
}

.nationality-player-photo {
    width: 40px; /* 照片宽度 */
    height: 40px; /* 照片高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 覆盖 */
    margin-bottom: 6px; /* 底部外边距 */
}

.nationality-player-name {
    display: block; /* 块级显示 */
    font-size: 0.75rem; /* 名字字体大小 */
    color: var(--text-primary); /* 名字颜色 */
    font-weight: 500; /* 粗细 */
}

/* All Players Grid */
.all-players-section {
    margin-bottom: 40px; /* 所有球员区域底部外边距 */
}

.all-players-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); /* 自动填充列 */
    gap: 12px; /* 网格间距 */
}

.all-player-card {
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    padding: 12px; /* 内边距 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.all-player-card:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

.all-player-photo img {
    width: 40px; /* 照片宽度 */
    height: 40px; /* 照片高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 覆盖 */
}

.all-player-info {
    flex: 1; /* 占满剩余空间 */
}

.all-player-name {
    display: block; /* 块级显示 */
    font-weight: 500; /* 粗细 */
    color: var(--text-primary); /* 名字颜色 */
    font-size: 0.875rem; /* 名字字体大小 */
    margin-bottom: 2px; /* 底部外边距 */
}

.all-player-position {
    display: block; /* 块级显示 */
    font-size: 0.75rem; /* 位置字体大小 */
    color: var(--text-muted); /* 位置颜色 */
}

/* SEO Section */
.seo-section {
    margin-top: 64px; /* 顶部外边距 */
    padding: 48px 0; /* 上下内边距 */
    border-top: 1px solid var(--border-color); /* 顶部边框 */
}

.seo-content h2 {
    font-size: 2rem; /* 标题字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 标题颜色 */
    margin-bottom: 24px; /* 底部外边距 */
}

.seo-content p {
    font-size: 1rem; /* 段落字体大小 */
    color: var(--text-secondary); /* 段落颜色 */
    line-height: 1.8; /* 行高 */
    margin-bottom: 16px; /* 底部外边距 */
}

.seo-content p:last-child {
    margin-bottom: 0; /* 最后一段无底部外边距 */
}

/* Empty State */
.empty-state {
    text-align: center; /* 文字居中 */
    padding: 64px 32px; /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 圆角 */
}

.empty-state.small {
    padding: 32px 16px; /* 小尺寸内边距 */
}

.empty-icon {
    color: var(--text-muted); /* 图标颜色 */
    margin-bottom: 16px; /* 图标底部外边距 */
}

.empty-state h3 {
    font-size: 1.5rem; /* 标题字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 标题颜色 */
    margin-bottom: 8px; /* 底部外边距 */
}

.empty-state p {
    color: var(--text-muted); /* 段落颜色 */
}

/* No Data */
.no-data {
    color: var(--text-muted); /* 文字颜色 */
    font-style: italic; /* 斜体 */
    padding: 16px; /* 内边距 */
    text-align: center; /* 文字居中 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
}

/* Responsive */
@media (max-width: 768px) { /* 移动端响应式 */
    .page-title {
        font-size: 2rem; /* 页面标题字体大小 */
    }

    .page-subtitle {
        font-size: 1rem; /* 页面副标题字体大小 */
    }

    .hero-stats {
        gap: 24px; /* 统计数据间距 */
    }

    .stat-number {
        font-size: 1.75rem; /* 统计数字字体大小 */
    }

    .section-title {
        font-size: 1.5rem; /* 区域标题字体大小 */
    }

    .nationality-grid {
        grid-template-columns: 1fr; /* 国籍网格单列 */
    }

    .nationality-players {
        grid-template-columns: repeat(2, 1fr); /* 国籍球员2列 */
    }

    .scorers-table .standings-row {
        grid-template-columns: 50px 1fr 70px 50px 50px 50px; /* 射手榜列宽 */
        padding: 10px 12px; /* 内边距 */
        gap: 8px; /* 间距 */
    }

    .scorers-table .col-player {
        min-width: 120px; /* 球员列最小宽度 */
    }

    .scorers-table .col-team {
        min-width: 70px; /* 球队列最小宽度 */
    }

    .scorers-table .col-team .team-name-text {
        display: none; /* 隐藏球队名称文字 */
    }

    .scorers-table .col-apps {
        display: none; /* 隐藏出场列 */
    }

    /* Standings Hero Stats Mobile */
    .standings-hero-stats {
        flex-direction: row; /* 水平排列 */
        gap: 12px; /* 间距 */
        margin-bottom: 24px; /* 底部外边距 */
    }

    .standings-hero-stats .stat-item {
        flex: 1; /* 占满空间 */
        padding: 12px 12px; /* 内边距 */
        gap: 8px; /* 间距 */
    }

    .standings-hero-stats .stat-icon {
        font-size: 1.25rem; /* 图标字体大小 */
    }

    .standings-hero-stats .stat-number {
        font-size: 1.125rem; /* 数字字体大小 */
    }
}

/* =====================================================
   Filter Bar
   筛选栏
===================================================== */
.filter-bar {
    display: flex; /* 弹性布局 */
    gap: 12px; /* 元素间距 */
    margin-bottom: 24px; /* 底部外边距 */
    flex-wrap: wrap; /* 自动换行 */
}

.filter-select {
    background-color: var(--bg-secondary); /* 背景色 */
    border: 1px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 10px 16px; /* 内边距 */
    color: var(--text-primary); /* 文字颜色 */
    font-size: 0.875rem; /* 字体大小 */
    min-width: 150px; /* 最小宽度 */
    cursor: pointer; /* 手型指针 */
}

.filter-select:focus {
    outline: none; /* 无轮廓 */
    border-color: var(--border-color); /* 聚焦边框颜色 */
}

.filter-btn {
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    background-color: var(--accent-red); /* 背景色 */
    border: none; /* 无边框 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 10px 20px; /* 内边距 */
    color: var(--text-primary); /* 文字颜色 */
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 500; /* 粗细 */
    transition: all var(--transition-fast); /* 过渡动画 */
    cursor: pointer; /* 手型指针 */
}

.filter-btn:hover {
    background-color: #c62828; /* 悬停背景色 */
}

/* 重置按钮样式 */
.filter-btn.reset-btn {
    background-color: var(--bg-tertiary); /* 重置按钮背景色 */
    color: var(--text-secondary); /* 重置按钮文字颜色 */
}

/* 重置按钮悬停样式 */
.filter-btn.reset-btn:hover {
    background-color: var(--bg-secondary); /* 重置按钮悬停背景色 */
    color: var(--text-primary); /* 重置按钮悬停文字颜色 */
}

/* =====================================================
   Tabs
   标签页
===================================================== */
/* 标签页容器 */
.tabs {
    display: flex; /* 弹性布局 */
    gap: 4px; /* 元素间距 */
    border-bottom: 2px solid var(--border-color); /* 底部边框 */
    margin-bottom: 24px; /* 底部外边距 */
}

/* 标签项 */
.tab-item {
    padding: 12px 24px; /* 内边距 */
    font-size: 0.9375rem; /* 字体大小 */
    font-weight: 500; /* 粗细 */
    color: var(--text-muted); /* 文字颜色 */
    background-color: var(--bg-secondary); /* 背景色 */
    border: 1px solid var(--border-color); /* 边框 */
    border-bottom: none; /* 无边框底部 */
    border-radius: var(--radius-md) var(--radius-md) 0 0; /* 圆角 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

/* 标签项悬停状态 */
.tab-item:hover {
    color: var(--text-primary); /* 悬停文字颜色 */
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

/* 标签项激活状态 */
.tab-item.active {
    color: var(--text-primary); /* 激活状态文字颜色 */
    background-color: var(--bg-tertiary); /* 激活状态背景色 */
    border-bottom: 1px solid var(--bg-tertiary); /* 激活状态底部边框 */
    margin-bottom: -1px; /* 负边距覆盖底部边框 */
}

/* =====================================================
   Pagination
   分页导航
===================================================== */
/* 分页容器 */
.pagination {
    display: flex; /* 弹性布局 */
    justify-content: center; /* 水平居中 */
    gap: 8px; /* 元素间距 */
    margin-top: 32px; /* 顶部外边距 */
}

/* 分页链接和数字 */
.pagination a,
.pagination span {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    min-width: 40px; /* 最小宽度 */
    height: 40px; /* 高度 */
    padding: 0 12px; /* 内边距 */
    background-color: var(--bg-tertiary); /* 背景色 - 与卡片底色一致，区别于容器背景 */
    border: 1px solid var(--border-color); /* 边框 - 增强可见性 */
    border-radius: var(--radius-md); /* 圆角 */
    font-size: 0.875rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

/* 分页链接悬停状态 */
.pagination a:hover {
    background-color: var(--bg-hover); /* 悬停背景色 - 浅灰色 */
    border-color: var(--accent-red); /* 悬停边框色 - 红色强调 */
    color: var(--text-primary); /* 悬停文字颜色 */
}

/* 当前页状态 */
.pagination .current {
    background-color: var(--accent-red); /* 当前页背景色 */
    border-color: var(--accent-red); /* 当前页边框色 */
    color: var(--text-primary); /* 当前页文字颜色 */
}

/* =====================================================
   Empty State
   空状态提示
===================================================== */
/* 空状态容器 */
.empty-state {
    text-align: center; /* 文字居中 */
    padding: 60px 20px; /* 内边距 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 空状态图标 */
.empty-state .dashicons {
    font-size: 64px; /* 图标字体大小 */
    width: 64px; /* 图标宽度 */
    height: 64px; /* 图标高度 */
    color: var(--text-dark); /* 图标颜色 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 空状态标题 */
.empty-state h3 {
    font-size: 1.25rem; /* 标题字体大小 */
    color: var(--text-secondary); /* 标题颜色 */
    margin-bottom: 8px; /* 底部外边距 */
}

/* 空状态描述文字 */
.empty-state p {
    font-size: 0.875rem; /* 段落字体大小 */
}

/* =====================================================
   Live Indicator
   直播指示器
===================================================== */
/* 直播指示器容器 — 与 .league-match-count 字体字号一致 */
.live-indicator {
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    padding: 2px 8px; /* 内边距 (与 .league-match-count 一致) */
    background-color: var(--accent-blue); /* 背景色 (与 .league-match-count 一致, 蓝色) */
    border-radius: 10px; /* 圆角 (与 .league-match-count 一致) */
    font-size: 0.6875rem; /* 字体大小 (与 .league-match-count 一致) */
    font-weight: 600; /* 粗细 (与 .league-match-count 一致) */
    color: #fff; /* 文字颜色 (与 .league-match-count 一致) */
    margin-left: 12px; /* 左边距 */
}

/* 直播指示点 */
.live-indicator .live-dot {
    display: inline-block; /* 行内块 */
    width: 8px; /* 点宽度 */
    height: 8px; /* 点高度 */
    background-color: #fff; /* 点颜色 (白色, 配蓝色底) */
    border-radius: 50%; /* 圆形 */
    margin-right: 6px; /* 右边距 */
    animation: pulse 1.5s infinite; /* 脉冲动画 */
}

/* 脉冲动画关键帧 */
@keyframes pulse {
    0%,
    100% {
        opacity: 1; /* 完全不透明 */
    }

    50% {
        opacity: 0.5; /* 半透明 */
    }
}

/* =====================================================
   Page Headers
   页面标题
===================================================== */
/* 页面标题容器 */
.page-header {
    padding: 40px 0; /* 上下内边距 */
    margin-bottom: 30px; /* 底部外边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* 页面主标题 */
.page-title {
    font-size: 2rem; /* 页面标题字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 8px; /* 底部外边距 */
}

/* 页面副标题 */
.page-subtitle {
    font-size: 1rem; /* 页面副标题字体大小 */
    color: var(--text-muted); /* 副标题颜色 */
}

/* =====================================================
   Stat Cards
   统计数据卡片
===================================================== */
/* 统计数据卡片容器 */
.stat-card {
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 圆角 */
    padding: 24px; /* 内边距 */
    text-align: center; /* 文字居中 */
}

/* 统计数值 */
.stat-value {
    font-size: 2.5rem; /* 统计值字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 统计值颜色 */
    margin-bottom: 8px; /* 底部外边距 */
}

/* 统计标签 */
.stat-label {
    font-size: 0.875rem; /* 统计标签字体大小 */
    color: var(--text-muted); /* 统计标签颜色 */
}

/* =====================================================
   Sidebar Widgets
   侧边栏小部件
===================================================== */
/* 侧边栏小部件容器 */
.widget {
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 圆角 */
    padding: 20px; /* 内边距 */
    margin-bottom: 20px; /* 底部外边距 */
}

/* 侧边栏小部件标题 */
.widget-title {
    font-size: 1rem; /* 标题字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 标题颜色 */
    margin-bottom: 16px; /* 底部外边距 */
    padding-bottom: 12px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* =====================================================
   Responsive - Tablet & Desktop
   响应式 - 平板和桌面
===================================================== */
/* 平板响应式断点 */
@media (max-width: 1024px) {
    :root {
        --header-height: 60px; /* 调整头部高度变量 */
    }

    /* 导航链接样式调整 */
    .nav-menu a {
        padding: 8px 12px; /* 导航链接内边距 */
        font-size: 0.875rem; /* 导航链接字体大小 */
    }

    /* 主标题字体大小调整 */
    .hero-title {
        font-size: 2rem; /* 主标题字体大小 */
    }
}

/* =====================================================
   Responsive - Tablet Only
   响应式 - 仅平板
===================================================== */
/* 仅平板响应式断点 */
@media (min-width: 769px) and (max-width: 1024px) {
    /* 搜索框容器 */
    .header-search {
        min-width: 180px; /* 搜索框最小宽度 */
    }

    /* 搜索输入框 */
    .header-search input {
        width: 180px; /* 搜索框宽度 */
    }

    /* 搜索输入框聚焦状态 */
    .header-search input:focus {
        width: 200px; /* 搜索框聚焦宽度 */
    }
}

/* =====================================================
   Responsive - Mobile
   响应式 - 移动端
===================================================== */
/* 移动端响应式断点 */
@media (max-width: 768px) {
    :root {
        --header-height: 56px; /* 调整头部高度变量 */
    }

    /* 移动端菜单按钮 */
    .mobile-menu-toggle {
        display: flex; /* 在移动端显示 */
    }

    /* 顶部操作区域 - 搜索框 */
    .header-actions .header-search {
        display: none; /* 在移动端隐藏搜索 */
    }

    /* 主导航 - 移动端菜单 */
    .main-nav {
        position: fixed; /* 固定定位 */
        left: 0; /* 左对齐 */
        right: 0; /* 右对齐 */
        background-color: var(--bg-secondary); /* 背景色 */
        border-bottom: 1px solid var(--border-color); /* 底部边框 */
        flex-direction: column; /* 垂直布局 */
        transition: all var(--transition-normal); /* 过渡动画 */
        z-index: 9999; /* 层级 */
        height: 0; /* 初始高度为0 */
        max-height: calc(100vh - 56px); /* 最大高度 */
        overflow-y: hidden; /* 隐藏溢出内容 */
        opacity: 0; /* 初始透明度 */
    }

    /* 主导航激活状态 */
    .main-nav.is-active {
        height: auto; /* 自动高度 */
        max-height: calc(100vh - 56px); /* 最大高度（老浏览器回落值） */
        max-height: calc(100dvh - 56px); /* [V9.1] 动态视口高：随 iOS 工具栏收起/展开变化，菜单底缘始终贴住屏幕底（不支持 dvh 的老系统自动忽略本行） */
        overflow-y: auto; /* 允许滚动 */
        overscroll-behavior: contain; /* [V9.1] 阻断滚动链：菜单滚到顶/底后手势不再泄给 body（iOS 16+ 原生生效，老系统由 footer.php 边界判断兜底） */
        opacity: 1; /* 完全不透明 */
    }

    /* 导航菜单列表 */
    .nav-menu {
        flex-direction: column; /* 垂直布局 */
        gap: 0; /* 无间距 */
        width: 100%; /* 全宽 */
        padding: 8px 0; /* 上下内边距 */
    }

    /* 导航菜单项 */
    .nav-menu li {
        border-bottom: 1px solid var(--border-color); /* 底部边框分隔 */
    }

    /* 导航菜单第一项 */
    .nav-menu li:first-child {
        border-top: 1px solid var(--border-color); /* 顶部边框 */
    }

    /* 导航链接 */
    .nav-menu a {
        padding: 16px 24px; /* 内边距 */
        font-size: 1rem; /* 字体大小 */
        border-radius: 0; /* 无圆角 */
        justify-content: flex-start; /* 左对齐 */
    }

    /* 导航链接悬停和激活状态 */
    .nav-menu a:hover,
    .nav-menu a.active {
        background-color: var(--bg-tertiary); /* 背景色 */
    }

    /* 导航链接激活状态 */
    .nav-menu a.active {
        background-color: var(--accent-red); /* 激活背景色 */
    }

    /* 导航图标 */
    .nav-menu .dashicons {
        font-size: 1.5rem; /* 图标大小 */
        width: 1.5rem; /* 图标宽度 */
        height: 1.5rem; /* 图标高度 */
    }

    /* 移动端菜单遮罩层 */
    body.mobile-menu-open::before {
        content: ''; /* 生成内容 */
        position: fixed; /* 固定定位 */
        top: 0; /* 顶部 */
        left: 0; /* 左侧 */
        right: 0; /* 右侧 */
        bottom: 0; /* 底部 */
        background-color: rgba(0, 0, 0, 0.5); /* 半透明黑色 */
        z-index: 998; /* 层级 */
    }

    /* 比赛卡片 */
    .match-card {
        flex-wrap: wrap; /* 允许换行 */
        gap: 12px; /* 元素间距 */
    }

    /* 比赛联赛信息 */
    .match-league {
        order: -1; /* 排在最前面 */
        width: 100%; /* 全宽 */
        min-width: auto; /* 最小宽度自适应 */
        padding-bottom: 12px; /* 底部内边距 */
        border-bottom: 1px solid var(--border-color); /* 底部边框分隔 */
    }

    /* 比赛球队信息 */
    .match-teams {
        flex-direction: column; /* 垂直布局 */
        gap: 12px; /* 元素间距 */
    }

    /* 球队信息 */
    .match-teams .team {
        width: 100%; /* 全宽 */
        justify-content: space-between; /* 两端对齐 */
    }

    /* 客队信息 */
    .match-teams .team.away {
        justify-content: space-between; /* 两端对齐 */
    }

    /* 比赛比分 */
    .match-score {
        order: -1; /* 排在前面 */
        min-width: auto; /* 最小宽度自适应 */
    }

    /* 积分榜行 */
    .standings-row {
        grid-template-columns: 40px 1fr 40px 40px 40px 40px 50px; /* 网格列宽 */
        padding: 10px 12px; /* 内边距 */
        font-size: 0.8125rem; /* 字体大小 */
    }

    /* 页面标题 */
    .page-header {
        padding: 24px 0; /* 上下内边距 */
    }

    /* 页面主标题 */
    .page-title {
        font-size: 1.5rem; /* 字体大小 */
    }

    /* 区域标题 */
    .section-header {
        flex-direction: column; /* 垂直布局 */
        align-items: flex-start; /* 左对齐 */
        gap: 12px; /* 元素间距 */
    }

    /* 筛选栏 */
    .filter-bar {
        flex-direction: column; /* 垂直布局 */
    }

    /* 筛选选择框 */
    .filter-select {
        width: 100%; /* 全宽 */
    }

    /* 筛选按钮 */
    .filter-btn {
        width: 100%; /* 全宽 */
        justify-content: center; /* 水平居中 */
    }

    /* 标签页 */
    .tabs {
        overflow-x: visible; /* 允许水平滚动 */
        flex-wrap: wrap; /* 允许换行 */
    }

    /* 标签项 */
    .tab-item {
        padding: 10px 16px; /* 内边距 */
        font-size: 0.875rem; /* 字体大小 */
        white-space: nowrap; /* 不换行 */
    }

    /* 日期选择器下拉框 - 手机端 */
    .date-picker-dropdown {
        position: fixed !important; /* 固定定位 */
        top: 50% !important; /* 顶部居中 */
        left: 50% !important; /* 左侧居中 */
        transform: translate(-50%, -50%) !important; /* 居中偏移 */
        right: auto !important; /* 右侧自适应 */
        margin-top: 0 !important; /* 无上边距 */
        width: 90vw !important; /* 宽度90%视口 */
        max-width: 340px !important; /* 最大宽度 */
        min-width: auto !important; /* 最小宽度自适应 */
        z-index: 9999 !important; /* 最高层级 */
        box-sizing: border-box !important; /* 盒模型 */
        overflow: hidden !important; /* 隐藏溢出 */
    }

    /* 日期选择器容器 */
    .date-picker-container {
        z-index: 100 !important; /* 层级 */
    }

    /* 日期选择器打开状态 */
    .date-picker-dropdown.open {
        display: block !important; /* 显示 */
    }

    /* 日期选择器头部 */
    .date-picker-header {
        padding: 10px 12px !important; /* 内边距 */
    }

    /* 日期选择器选择器区域 */
    .date-picker-selectors {
        gap: 6px !important; /* 元素间距 */
    }

    /* 日期选择器下拉选择框 */
    .date-picker-select {
        padding: 5px 8px !important; /* 内边距 */
        font-size: 0.8125rem !important; /* 字体大小 */
    }

    /* 日期选择器导航按钮 */
    .date-picker-nav {
        width: 28px !important; /* 宽度 */
        height: 28px !important; /* 高度 */
    }

    /* 日期选择器日期格子容器 */
    .date-picker-days {
        padding: 10px 6px 4px !important; /* 内边距 */
    }

    /* 日期选择器日期网格 */
    .date-picker-days-grid {
        gap: 2px !important; /* 格子间距 */
        padding: 6px !important; /* 内边距 */
    }

    /* 日期选择器日期格子 */
    .date-picker-days-grid .day-cell {
        padding: 8px 2px !important; /* 内边距 */
        font-size: 0.8125rem !important; /* 字体大小 */
    }

    /* 日期选择器底部 */
    .date-picker-footer {
        padding: 8px 10px !important; /* 内边距 */
    }

    /* 日期选择器今日按钮 */
    .date-picker-today-btn {
        width: 100% !important; /* 全宽 */
        padding: 8px 12px !important; /* 内边距 */
        font-size: 0.875rem !important; /* 字体大小 */
    }

    /* 日期选择器今日和选中日期格子 */
    .date-picker-days-grid .day-cell.today,
    .date-picker-days-grid .day-cell.selected {
        padding: 8px 2px !important; /* 内边距 */
    }
}

/* =====================================================
   Responsive - Small Mobile
   响应式 - 小屏幕移动端
===================================================== */
/* 小屏幕移动端响应式断点 */
@media (max-width: 480px) {
    /* 站点Logo - 小屏幕缩小Logo以省空间 */
    .site-logo img {
        height: 30px; /* 缩小Logo高度 */
    }

    /* 导航链接 */
    .nav-menu a {
        padding: 14px 20px; /* 调整内边距 */
    }

    /* 比赛时间 */
    .match-time {
        min-width: 50px; /* 最小宽度 */
    }

    /* 比赛时间文字 */
    .match-time .time {
        font-size: 0.8125rem; /* 字体大小 */
    }

    /* 比赛比分 */
    .match-score .score {
        font-size: 1.25rem; /* 比分字体大小 */
    }

    /* 积分榜行 */
    .standings-row {
        grid-template-columns: 35px 1fr 35px 35px 35px 35px 40px; /* 网格列宽 */
        padding: 8px 10px; /* 内边距 */
        font-size: 0.75rem; /* 字体大小 */
    }

    /* 主区域 */
    .hero-section {
        padding: 40px 0; /* 上下内边距 */
    }

    /* 主标题 */
    .hero-title {
        font-size: 1.5rem; /* 字体大小 */
    }

    /* 日期选择器 - 小屏幕移动端 */
    .date-picker-dropdown {
        width: 92vw !important; /* 宽度92%视口 */
        max-width: 320px !important; /* 最大宽度 */
    }

    /* 日期选择器头部 */
    .date-picker-header {
        padding: 8px 10px !important; /* 内边距 */
    }

    /* 日期选择器选择器区域 */
    .date-picker-selectors {
        gap: 4px !important; /* 元素间距 */
    }

    /* 日期选择器下拉选择框 */
    .date-picker-select {
        padding: 4px 6px !important; /* 内边距 */
        font-size: 0.75rem !important; /* 字体大小 */
    }

    /* 日期选择器导航按钮 */
    .date-picker-nav {
        width: 26px !important; /* 宽度 */
        height: 26px !important; /* 高度 */
        font-size: 0.875rem !important; /* 字体大小 */
    }

    /* 日期选择器日期格子容器 */
    .date-picker-days {
        padding: 8px 4px 4px !important; /* 内边距 */
    }

    /* 日期选择器星期名称 */
    .date-picker-days .day-name {
        font-size: 0.6875rem !important; /* 字体大小 */
    }

    /* 日期选择器日期网格 */
    .date-picker-days-grid {
        gap: 1px !important; /* 格子间距 */
        padding: 4px !important; /* 内边距 */
    }

    /* 日期选择器日期格子 */
    .date-picker-days-grid .day-cell {
        padding: 6px 2px !important; /* 内边距 */
        font-size: 0.75rem !important; /* 字体大小 */
    }

    /* 日期选择器底部 */
    .date-picker-footer {
        padding: 6px 8px !important; /* 内边距 */
    }

    /* 日期选择器今日按钮 */
    .date-picker-today-btn {
        padding: 6px 10px !important; /* 内边距 */
        font-size: 0.8125rem !important; /* 字体大小 */
        width: 100% !important; /* 全宽 */
    }

    /* 日期选择器今日和选中日期格子 */
    .date-picker-days-grid .day-cell.today,
    .date-picker-days-grid .day-cell.selected {
        padding: 6px 2px !important; /* 内边距 */
    }
}

/* =====================================================
   Analysis Page - Analysis Hero
   Analysis Page - Analysis 主区域
===================================================== */
/* 分析页面主区域容器 */
.analysis-hero {
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%); /* 渐变背景 */
    border-radius: var(--radius-lg); /* 圆角 */
    padding: 40px; /* 内边距 */
    margin-bottom: 30px; /* 底部外边距 */
    border: 1px solid var(--border-color); /* 边框 */
}

/* 主区域标题行 */
.analysis-hero .hero-title-row {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 16px; /* 元素间距 */
    margin-bottom: 20px; /* 底部外边距 */
}

/* 主区域标题图标 */
.analysis-hero .hero-title-row .dashicons {
    font-size: 2rem; /* 图标大小 */
    color: var(--accent-red); /* 图标颜色 */
}

/* 主区域标题 */
.analysis-hero .hero-title-row h2 {
    font-size: 1.5rem; /* 字体大小 */
    color: var(--text-primary); /* 文字颜色 */
    margin: 0; /* 无外边距 */
}

/* 主区域副标题 */
.analysis-hero .hero-title-row p {
    font-size: 0.875rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin: 0; /* 无外边距 */
}

/* 特色分析区域 */
.featured-analysis {
    display: grid; /* 网格布局 */
    grid-template-columns: 1fr 1fr; /* 两列布局 */
    gap: 30px; /* 列间距 */
}

/* =====================================================
   Analysis Page - Match Preview Card
   Analysis Page - 比赛预览卡片
===================================================== */
/* 比赛预览卡片容器 */
.match-preview {
    background: var(--bg-primary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 24px; /* 内边距 */
}

/* 联赛标签 */
.match-preview .league-badge {
    text-align: center; /* 文字居中 */
    margin-bottom: 20px; /* 底部外边距 */
}

/* 联赛标签文字 */
.match-preview .league-badge span {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--accent-red); /* 文字颜色 */
    font-weight: 600; /* 粗细 */
    text-transform: uppercase; /* 大写 */
}

/* 球队信息行 */
.match-preview .teams-row {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    margin-bottom: 20px; /* 底部外边距 */
}

/* 球队信息 */
.match-preview .team {
    text-align: center; /* 文字居中 */
    flex: 1; /* 等分空间 */
}

/* 球队Logo */
.match-preview .team-logo {
    width: 60px; /* 宽度 */
    height: 60px; /* 高度 */
    margin-bottom: 8px; /* 底部外边距 */
}

/* 球队名称 */
.match-preview .team-name {
    font-size: 0.875rem; /* 字体大小 */
    color: var(--text-primary); /* 文字颜色 */
    font-weight: 500; /* 粗细 */
}

/* VS信息 */
.match-preview .vs-info {
    text-align: center; /* 文字居中 */
    padding: 0 20px; /* 左右内边距 */
}

/* VS文字 */
.match-preview .vs-info .vs {
    font-size: 1.5rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    font-weight: 600; /* 粗细 */
}

/* 日期时间 */
.match-preview .vs-info .datetime {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin: 4px 0 0 0; /* 顶部外边距 */
}

/* =====================================================
   Analysis Page - AI Prediction Card
   Analysis Page - AI预测卡片
===================================================== */
/* AI预测卡片容器 */
.ai-prediction {
    background: var(--bg-primary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 24px; /* 内边距 */
}

/* AI预测标题 */
.ai-prediction h3 {
    font-size: 1rem; /* 字体大小 */
    color: var(--accent-blue); /* 文字颜色 */
    margin-bottom: 16px; /* 底部外边距 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
}

/* 预测结果网格 */
.ai-prediction .prediction-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(3, 1fr); /* 三列布局 */
    gap: 12px; /* 列间距 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 预测项 */
.ai-prediction .prediction-item {
    text-align: center; /* 文字居中 */
    padding: 12px; /* 内边距 */
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
}

/* 预测百分比 */
.ai-prediction .prediction-item .percentage {
    font-size: 1.5rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
}

/* 主队预测百分比 */
.ai-prediction .prediction-item.home .percentage {
    color: var(--accent-green); /* 绿色 */
}

/* 平局预测百分比 */
.ai-prediction .prediction-item.draw .percentage {
    color: var(--text-muted); /* 灰色 */
}

/* 客队预测百分比 */
.ai-prediction .prediction-item.away .percentage {
    color: var(--accent-red); /* 红色 */
}

/* 预测标签 */
.ai-prediction .prediction-item .label {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin: 4px 0 0 0; /* 顶部外边距 */
}

/* 预测说明 */
.ai-prediction .prediction-note {
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin: 0; /* 无外边距 */
}

/* =====================================================
   Analysis Page - Match Previews Grid
   Analysis Page - 比赛预览网格
===================================================== */
/* 比赛预览网格容器 */
.match-previews-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(2, 1fr); /* 两列布局 */
    gap: 16px; /* 列间距 */
}

/* 比赛预览卡片 */
.match-preview-card {
    background: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 20px; /* 内边距 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 16px; /* 元素间距 */
    transition: transform var(--transition-fast), box-shadow var(--transition-fast); /* 过渡动画 */
}

/* 比赛预览卡片悬停状态 */
.match-preview-card:hover {
    background-color: var(--bg-hover); /* 悬停背景色 */
}

/* 球队信息区域 */
.match-preview-card .teams-info {
    flex: 1; /* 占据剩余空间 */
}

/* 球队行 */
.match-preview-card .team-row {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    margin-bottom: 8px; /* 底部外边距 */
}

/* 最后一个球队行 */
.match-preview-card .team-row:last-child {
    margin-bottom: 0; /* 无底部外边距 */
}

/* 球队Logo图片 */
.match-preview-card .team-row img {
    width: 24px; /* 宽度 */
    height: 24px; /* 高度 */
    object-fit: contain; /* 保持比例 */
}

/* 球队名称 */
.match-preview-card .team-row span {
    font-size: 0.9375rem; /* 字体大小 */
    color: var(--text-primary); /* 文字颜色 */
    font-weight: 500; /* 粗细 */
}

/* 比赛日期区域 */
.match-preview-card .match-date {
    text-align: right; /* 文字右对齐 */
}

/* 比赛日期 */
.match-preview-card .match-date .date {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--accent-red); /* 文字颜色 */
    font-weight: 600; /* 粗细 */
    margin: 0; /* 无外边距 */
}

/* 比赛时间 */
.match-preview-card .match-date .time {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin: 4px 0 0 0; /* 顶部外边距 */
}

/* =====================================================
   Analysis Page - League Analysis Grid
   Analysis Page - 联赛分析网格
===================================================== */
/* 联赛分析网格容器 */
.league-analysis-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(3, 1fr); /* 三列布局 */
    gap: 20px; /* 列间距 */
}

/* 联赛分析卡片 */
.league-analysis-card {
    background: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-lg); /* 圆角 */
    padding: 24px; /* 内边距 */
    text-align: center; /* 文字居中 */
    transition: transform var(--transition-fast); /* 过渡动画 */
}

/* 联赛分析卡片悬停状态 */
.league-analysis-card:hover {}

/* 联赛Logo */
.league-analysis-card .league-logo {
    width: 48px; /* 宽度 */
    height: 48px; /* 高度 */
    padding: 4px; /* 内边距 */
    margin: 0 auto 16px; /* 居中并设置底部外边距 */
}

/* 联赛Logo占位符 */
.league-analysis-card .league-logo-placeholder {
    font-size: 40px; /* 字体大小 */
    color: var(--text-dark); /* 文字颜色 */
}

/* 联赛名称 */
.league-analysis-card h3 {
    font-size: 1rem; /* 字体大小 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 8px; /* 底部外边距 */
}

/* 国家名称 */
.league-analysis-card .country {
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 统计数据网格 */
.league-analysis-card .stats-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(2, 1fr); /* 两列布局 */
    gap: 8px; /* 列间距 */
    font-size: 0.75rem; /* 字体大小 */
}

/* 统计项 */
.league-analysis-card .stat-item {
    background: var(--bg-secondary); /* 背景色 */
    padding: 8px; /* 内边距 */
    border-radius: var(--radius-sm); /* 圆角 */
}

/* 统计标签 */
.league-analysis-card .stat-item .stat-label {
    color: var(--text-muted); /* 文字颜色 */
}

/* 统计数值 */
.league-analysis-card .stat-item .stat-value {
    color: var(--text-primary); /* 文字颜色 */
    font-weight: 600; /* 粗细 */
    margin: 4px 0 0 0; /* 顶部外边距 */
}

/* 查看链接 */
.league-analysis-card .view-link {
    margin-top: 16px; /* 顶部外边距 */
    display: inline-flex; /* 行内弹性布局 */
}

/* =====================================================
   Analysis Page - Scorers Table
   Analysis Page - 射手榜表格
===================================================== */
/* 射手榜表格容器 */
.scorers-table {
    background: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-lg); /* 圆角 */
    overflow: hidden; /* 隐藏溢出 */
}

/* 表格头部 */
.scorers-table .table-header {
    display: grid; /* 网格布局 */
    grid-template-columns: 60px 1fr 120px 80px; /* 网格列宽 */
    padding: 16px 20px; /* 内边距 */
    background: var(--bg-tertiary); /* 背景色 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-dark); /* 文字颜色 */
    text-transform: uppercase; /* 大写 */
}

/* 射手行 */
.scorers-table .scorer-row {
    display: grid; /* 网格布局 */
    grid-template-columns: 60px 1fr 120px 80px; /* 网格列宽 */
    padding: 14px 20px; /* 内边距 */
    align-items: center; /* 垂直居中 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
    transition: background-color var(--transition-fast); /* 过渡动画 */
}

/* 射手行悬停状态 */
.scorers-table .scorer-row:hover {
    background-color: var(--bg-hover); /* 悬停背景色 */
}

/* 顶级射手行 */
.scorers-table .scorer-row.top-player {
    background: rgba(255, 215, 0, 0.05); /* 金色高亮背景 */
}

/* 射手排名 */
.scorers-table .rank {
    font-size: 1.25rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 前三名排名颜色 */
.scorers-table .rank.top-3 {
    color: var(--accent-orange); /* 橙色 */
}

/* 球员信息区域 */
.scorers-table .player-info {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 12px; /* 元素间距 */
}

/* 球员照片 */
.scorers-table .player-photo {
    width: 36px; /* 宽度 */
    height: 36px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 填充方式 */
}

/* 球员照片占位符 */
.scorers-table .player-photo-placeholder {
    color: var(--text-dark); /* 文字颜色 */
}

/* 球员姓名 */
.scorers-table .player-details .player-name {
    font-size: 0.9375rem; /* 字体大小 */
    color: var(--text-primary); /* 文字颜色 */
    font-weight: 500; /* 粗细 */
    margin: 0; /* 无外边距 */
}

/* 球员位置 */
.scorers-table .player-details .player-position {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin: 0; /* 无外边距 */
}

/* 射手榜球队名称 */
.scorers-table .team-name {
    font-size: 0.875rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 进球徽章 */
.scorers-table .goals-badge {
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    width: 36px; /* 宽度 */
    height: 36px; /* 高度 */
    background: var(--accent-green); /* 背景色 */
    color: var(--text-primary); /* 文字颜色 */
    font-weight: 700; /* 粗细 */
    border-radius: var(--radius-md); /* 圆角 */
}

/* 进球数列头和单元格居中 */
.scorers-table .goals-header,
.scorers-table .goals-cell {
    text-align: center; /* 文字居中 */
}

/* =====================================================
   Analysis Page - Results Analysis
   Analysis Page - 结果分析
===================================================== */
/* 结果分析网格容器 */
.results-analysis {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(2, 1fr); /* 两列布局 */
    gap: 16px; /* 列间距 */
}

/* 结果卡片 */
.result-card {
    background: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 20px; /* 内边距 */
    transition: transform var(--transition-fast), box-shadow var(--transition-fast); /* 过渡动画 */
}

/* 结果卡片悬停状态 */
.result-card:hover {
    background-color: var(--bg-hover); /* 悬停背景色 */
}

/* 结果卡片头部 */
.result-card .result-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    margin-bottom: 12px; /* 底部外边距 */
}

/* 联赛名称 */
.result-card .league-name {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--accent-blue); /* 文字颜色 */
    font-weight: 600; /* 粗细 */
}

/* 比赛日期 */
.result-card .match-date {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 球队结果信息 */
.result-card .teams-result {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
}

/* 球队信息 */
.result-card .team {
    flex: 1; /* 等分空间 */
    text-align: center; /* 文字居中 */
}

/* 球队Logo */
.result-card .team-logo {
    width: 40px; /* 宽度 */
    height: 40px; /* 高度 */
    margin: 0 auto 8px; /* 居中并设置底部外边距 */
}

/* 结果卡片球队名称 */
.result-card .team-name {
    font-size: 0.875rem; /* 字体大小 */
    color: var(--text-primary); /* 文字颜色 */
    margin: 0; /* 无外边距 */
}

/* 比分显示区域 */
.result-card .score-display {
    padding: 0 16px; /* 左右内边距 */
}

/* 比分文字 */
.result-card .score-display span {
    font-size: 1.25rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

/* =====================================================
   Analysis Page - Insights Grid
   Analysis Page - 洞察网格
===================================================== */
/* 洞察网格容器 */
.insights-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(3, 1fr); /* 三列布局 */
    gap: 20px; /* 列间距 */
}

/* 洞察卡片 */
.insight-card {
    background: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-lg); /* 圆角 */
    padding: 24px; /* 内边距 */
    transition: transform var(--transition-fast); /* 过渡动画 */
}

/* 洞察卡片悬停状态 */
.insight-card:hover {}

/* 绿色边框 */
.insight-card.green-border {
    border-left: 3px solid var(--accent-green); /* 左侧绿色边框 */
}

/* 橙色边框 */
.insight-card.orange-border {
    border-left: 3px solid var(--accent-orange); /* 左侧橙色边框 */
}

/* 蓝色边框 */
.insight-card.blue-border {
    border-left: 3px solid var(--accent-blue); /* 左侧蓝色边框 */
}

/* 洞察卡片头部 */
.insight-card .insight-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 12px; /* 元素间距 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 洞察卡片头部图标 */
.insight-card .insight-header .dashicons {
    font-size: 1.5rem; /* 图标大小 */
}

/* 绿色头部图标 */
.insight-card .insight-header.green .dashicons {
    color: var(--accent-green); /* 绿色 */
}

/* 橙色头部图标 */
.insight-card .insight-header.orange .dashicons {
    color: var(--accent-orange); /* 橙色 */
}

/* 蓝色头部图标 */
.insight-card .insight-header.blue .dashicons {
    color: var(--accent-blue); /* 蓝色 */
}

/* 洞察卡片标题 */
.insight-card .insight-header h3 {
    font-size: 1rem; /* 字体大小 */
    color: var(--text-primary); /* 文字颜色 */
    margin: 0; /* 无外边距 */
}

/* 洞察卡片描述 */
.insight-card .insight-desc {
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 洞察列表 */
.insight-card .insight-list {
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-secondary); /* 文字颜色 */
    margin: 0; /* 无外边距 */
    padding-left: 20px; /* 左侧内边距 */
}

/* 洞察列表项 */
.insight-card .insight-list li {
    margin-bottom: 8px; /* 底部外边距 */
}

/* =====================================================
   Analysis Page - Tools Grid
   Analysis Page - 工具网格
===================================================== */
/* 工具网格容器 */
.tools-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(4, 1fr); /* 四列布局 */
    gap: 16px; /* 列间距 */
}

/* 工具卡片 */
.tool-card {
    background: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 20px; /* 内边距 */
    text-align: center; /* 文字居中 */
    display: block; /* 块级元素 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

/* 工具卡片悬停状态 */
.tool-card:hover {
    box-shadow: var(--shadow-md); /* 阴影效果 */
}

/* 工具卡片图标 */
.tool-card .dashicons {
    font-size: 2rem; /* 图标大小 */
    margin-bottom: 12px; /* 底部外边距 */
}

/* 红色图标 */
.tool-card .dashicons.red {
    color: var(--accent-red); /* 红色 */
}

/* 蓝色图标 */
.tool-card .dashicons.blue {
    color: var(--accent-blue); /* 蓝色 */
}

/* 绿色图标 */
.tool-card .dashicons.green {
    color: var(--accent-green); /* 绿色 */
}

/* =====================================================
   Odds Widget Redesign
   赔率模块重新设计
===================================================== */

/* 赔率导航底部区域 */
.odds-nav-footer {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    gap: 12px; /* 元素间距 */
    margin-top: 16px; /* 顶部外边距 */
    padding-top: 12px; /* 顶部内边距 */
    border-top: 1px solid var(--border-color); /* 顶部边框 */
}

/* 赔率导航按钮 */
.odds-nav-btn {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    width: 32px; /* 宽度 */
    height: 28px; /* 高度 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border: 1px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-md); /* 圆角 */
    cursor: pointer; /* 鼠标指针 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

/* 赔率导航按钮悬停状态 */
.odds-nav-btn:hover {
    background-color: var(--accent-blue); /* 悬停背景色 */
    border-color: var(--accent-blue); /* 悬停边框色 */
}

/* 赔率导航按钮悬停图标 */
.odds-nav-btn:hover .dashicons {
    color: var(--text-primary); /* 图标颜色 */
}

/* 赔率导航按钮图标 */
.odds-nav-btn .dashicons {
    font-size: 1rem; /* 图标大小 */
    width: 1rem; /* 宽度 */
    height: 1rem; /* 高度 */
    color: var(--text-muted); /* 图标颜色 */
}

/* 赔率比赛指示器 */
.odds-match-indicator {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 博彩公司选择器 */
.odds-bookmaker-selector {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 博彩公司选择器标签 */
.odds-bookmaker-selector label {
    font-size: 0.8125rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-muted); /* 文字颜色 */
    white-space: nowrap; /* 不换行 */
}

/* 博彩公司选择器下拉框 */
.odds-bookmaker-selector select {
    flex: 1; /* 占据剩余空间 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border: 1px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 8px 12px; /* 内边距 */
    font-size: 0.875rem; /* 字体大小 */
    color: var(--text-primary); /* 文字颜色 */
    cursor: pointer; /* 鼠标指针 */
    outline: none; /* 无轮廓 */
    transition: border-color var(--transition-fast); /* 过渡动画 */
}

/* 博彩公司选择器下拉框聚焦状态 */
.odds-bookmaker-selector select:focus {
    border-color: var(--accent-blue); /* 聚焦边框色 */
}

/* 赔率比赛容器 - 默认隐藏，由 is-active 类控制显示 */
.odds-match-container {
    display: none; /* 默认隐藏 */
}

/* 赔率比赛头部 - Logo在名称上方 */
.odds-match-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    gap: 16px; /* 元素间距 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 赔率球队 */
.odds-team {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    flex: 1; /* 等分空间 */
}

/* 赔率球队Logo */
.odds-team .team-logo {
    width: 44px; /* 宽度 */
    height: 44px; /* 高度 */
}

/* 赔率球队名称 */
.odds-team .team-name {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    text-align: center; /* 文字居中 */
    max-width: 100%; /* 最大宽度 */
    overflow: hidden; /* 隐藏溢出 */
    text-overflow: ellipsis; /* 省略号 */
    white-space: nowrap; /* 不换行 */
}

/* VS分隔线 */
.vs-divider {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
}

/* VS文字 */
.vs-divider span {
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-muted); /* 文字颜色 */
    text-transform: uppercase; /* 大写 */
    padding: 6px 12px; /* 内边距 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
}

/* 赔率比赛时间 */
.odds-match-time {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    gap: 4px; /* 元素间距 */
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin-bottom: 16px; /* 底部外边距 */
    padding: 8px; /* 内边距 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
}

/* 赔率比赛时间图标 */
.odds-match-time .dashicons {
    font-size: 1rem; /* 图标大小 */
    width: 1rem; /* 宽度 */
    height: 1rem; /* 高度 */
}

/* 赔率主网格 */
.odds-main-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(3, 1fr); /* 三列布局 */
    gap: 12px; /* 列间距 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 赔率主项目 */
.odds-main-item {
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 12px 8px; /* 内边距 */
    text-align: center; /* 文字居中 */
    transition: all var(--transition-fast); /* 过渡动画 */
    cursor: pointer; /* 鼠标指针 */
}

/* 主队赔率项目 */
.odds-main-item.home-odds {
    border-top: 3px solid #22c55e; /* 顶部绿色边框 */
}

/* 平局赔率项目 */
.odds-main-item.draw-odds {
    border-top: 3px solid #f59e0b; /* 顶部橙色边框 */
}

/* 客队赔率项目 */
.odds-main-item.away-odds {
    border-top: 3px solid #ef4444; /* 顶部红色边框 */
}

/* 赔率项目悬停状态 */
.odds-main-item:hover {
    background-color: #000000; /* 悬停背景色变为黑色 */
}

/* 赔率项目悬停时的赔率值 */
.odds-main-item:hover .odds-main-value {
    color: var(--text-primary); /* 文字颜色变为白色 */
}

/* 赔率项目悬停时的标签 */
.odds-main-item:hover .odds-main-label {
    color: var(--text-primary); /* 文字颜色变为白色 */
}

/* 赔率主标签 */
.odds-main-label {
    display: block; /* 块级显示 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-muted); /* 文字颜色 */
    text-transform: uppercase; /* 大写 */
    letter-spacing: 0.5px; /* 字间距 */
    margin-bottom: 4px; /* 底部外边距 */
}

/* 赔率主数值 */
.odds-main-value {
    display: block; /* 块级显示 */
    font-size: 1.25rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

/* 主队赔率数值 */
.odds-main-item.home-odds .odds-main-value {
    color: #22c55e; /* 绿色 */
}

/* 平局赔率数值 */
.odds-main-item.draw-odds .odds-main-value {
    color: #f59e0b; /* 橙色 */
}

/* 客队赔率数值 */
.odds-main-item.away-odds .odds-main-value {
    color: #ef4444; /* 红色 */
}

/* 额外市场区域 */
.odds-additional-markets {
    margin-bottom: 16px; /* 底部外边距 */
}

/* 赔率市场网格 */
.odds-market-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(3, 1fr); /* 三列布局，6 项 3+3 对称 */
    gap: 6px; /* 列间距 */
}

/* 赔率市场项目 */
.odds-market-item {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 8px 4px; /* 内边距 */
    transition: all var(--transition-fast); /* 过渡动画 */
    cursor: pointer; /* 鼠标指针 */
    gap: 2px; /* 元素间距 */
}

/* 赔率市场项目悬停状态 */
.odds-market-item:hover {
    background-color: #000000; /* 悬停背景色变为黑色 */
}

/* 赔率市场项目悬停时的数值 */
.odds-market-item:hover .odds-market-value {
    color: var(--text-primary); /* 文字颜色变为白色 */
}

/* 赔率市场标签 */
.odds-market-label {
    font-size: 0.6875rem; /* 字体大小 */
    font-weight: 500; /* 粗细 */
    color: var(--text-muted); /* 文字颜色 */
    text-align: center; /* 文字居中 */
    white-space: nowrap; /* 不换行 */
}

/* 赔率市场数值 */
.odds-market-value {
    font-size: 0.9375rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

/* 博彩公司信息 */
.odds-bookmaker-info {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    gap: 12px; /* 元素间距 */
    padding-top: 12px; /* 顶部内边距 */
    border-top: 1px solid var(--border-color); /* 顶部边框 */
}

/* 博彩公司名称 */
.odds-bookmaker-info .bookmaker-name {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

/* 赔率更新时间 */
.odds-bookmaker-info .odds-updated {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 赔率模块响应式 - 移动端 */
@media (max-width: 768px) {
    /* 赔率导航头部 */
    .odds-nav-header {
        gap: 8px; /* 元素间距 */
    }

    /* 赔率导航按钮 */
    .odds-nav-btn {
        width: 32px; /* 宽度 */
        height: 32px; /* 高度 */
    }

    /* 紧凑球队名称 */
    .team-name-compact {
        max-width: 80px; /* 最大宽度 */
        font-size: 0.8125rem; /* 字体大小 */
    }

    /* 赔率主网格 */
    .odds-main-grid {
        gap: 8px; /* 列间距 */
    }

    /* 赔率主项目 */
    .odds-main-item {
        padding: 10px 6px; /* 内边距 */
    }

    /* 赔率主数值 */
    .odds-main-value {
        font-size: 1.125rem; /* 字体大小 */
    }
}

/* 工具卡片橙色图标 */
.tool-card .dashicons.orange {
    color: var(--accent-orange); /* 橙色 */
}

/* 工具卡片标题 */
.tool-card h4 {
    font-size: 0.9375rem; /* 字体大小 */
    color: var(--text-primary); /* 文字颜色 */
    margin: 0 0 8px 0; /* 底部外边距 */
}

/* 工具卡片描述 */
.tool-card .tool-desc {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin: 0; /* 无外边距 */
}

/* =====================================================
   Analysis Page - Empty State
   Analysis Page - 空状态
===================================================== */
/* 分析页面空状态 */
.analysis-page .empty-state {
    text-align: center; /* 文字居中 */
    padding: 40px; /* 内边距 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 分析页面空状态图标 */
.analysis-page .empty-state .dashicons {
    font-size: 48px; /* 图标大小 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* =====================================================
   Analysis Page - Responsive
   Analysis Page - 响应式
===================================================== */
/* 平板端响应式 - 分析页面 */
@media (max-width: 1024px) {
    /* 特色分析区域 */
    .featured-analysis {
        grid-template-columns: 1fr; /* 单列布局 */
    }

    /* 比赛预览网格 */
    .match-previews-grid {
        grid-template-columns: 1fr; /* 单列布局 */
    }

    /* 联赛分析网格 */
    .league-analysis-grid {
        grid-template-columns: repeat(2, 1fr); /* 两列布局 */
    }

    /* 洞察网格 */
    .insights-grid {
        grid-template-columns: repeat(2, 1fr); /* 两列布局 */
    }

    /* 工具网格 */
    .tools-grid {
        grid-template-columns: repeat(2, 1fr); /* 两列布局 */
    }

    /* 射手榜表格头部和行 */
    .scorers-table .table-header,
    .scorers-table .scorer-row {
        grid-template-columns: 50px 1fr 100px 60px; /* 网格列宽 */
        padding: 12px 16px; /* 内边距 */
    }

    /* 射手榜表格头部和行（第二次定义） */
    .scorers-table .table-header,
    .scorers-table .scorer-row {
        grid-template-columns: 40px 1fr 80px 50px; /* 网格列宽 */
        font-size: 0.6875rem; /* 字体大小 */
    }

    /* 球员照片 */
    .scorers-table .player-photo {
        width: 28px; /* 宽度 */
        height: 28px; /* 高度 */
    }

    /* 进球徽章 */
    .scorers-table .goals-badge {
        width: 28px; /* 宽度 */
        height: 28px; /* 高度 */
        font-size: 0.75rem; /* 字体大小 */
    }
}

/* 移动端响应式 - 分析页面 */
@media (max-width: 768px) {
    /* 分析页面主区域 */
    .analysis-hero {
        padding: 24px; /* 内边距 */
    }

    /* 联赛分析网格 */
    .league-analysis-grid {
        grid-template-columns: 1fr; /* 单列布局 */
    }

    /* 结果分析区域 */
    .results-analysis {
        grid-template-columns: 1fr; /* 单列布局 */
    }

    /* 洞察网格 */
    .insights-grid {
        grid-template-columns: 1fr; /* 单列布局 */
    }
}

/* =====================================================
   Page Header with Background
   页面头部背景
===================================================== */
/* FB页面头部 */
.fb-page-header {
    position: relative; /* 相对定位 */
    /* min-height 替代固定 height: 长标题/副标题换行时容器随内容撑高,
       避免文字上下溢出背景图 (移动端修复) */
    min-height: 100px; /* 最小高度 */
    padding: 14px 20px; /* 上下内边距保证呼吸空间 */
    box-sizing: border-box; /* 盒模型 */
    background-color: var(--bg-secondary); /* 背景色 */
    background-size: 100% auto; /* 背景尺寸 */
    background-position: center center; /* 背景位置 */
    background-repeat: no-repeat; /* 不重复 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
}

/* FB页面头部遮罩层 */
.fb-page-header-overlay {
    position: absolute; /* 绝对定位 */
    top: 0; /* 顶部 */
    left: 0; /* 左侧 */
    right: 0; /* 右侧 */
    bottom: 0; /* 底部 */
    z-index: 1; /* 层级 */
}

/* FB页面头部容器 */
.fb-page-header .container {
    position: relative; /* 相对定位 */
    z-index: 2; /* 层级 */
    width: 100%; /* 全宽 */
}

/* FB页面头部内容 */
.fb-page-header-content {
    text-align: center; /* 文字居中 */
}

/* FB页面标题 */
.fb-page-title {
    font-size: 1.75rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin: 0; /* 无外边距 */
    line-height: 1.1; /* 行高 */
}

/* FB页面副标题 */
.fb-page-subtitle {
    font-size: 0.875rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    max-width: 600px; /* 最大宽度 */
    margin: 4px auto 0; /* 居中并设置顶部外边距 */
}

/* [栏目页SEO补全] 栏目页导语（主体内容区顶部，非横幅） */
.fb-page-intro-wrap {
    background-color: var(--bg-secondary, #242424);
    border: 1px solid var(--border-color, #333333);
    border-radius: 8px;
    padding: 10px 16px;
    /* 上下视觉间距各 16px（与 Leagues 页模块标准间距一致）：
       上 = margin-top 16；下 = margin-bottom 0 + main 顶部 padding 16 */
    margin: 16px 0 0;
}
.fb-page-intro {
    font-size: 0.8125rem;
    color: var(--text-muted, #b0b0b0);
    max-width: 100%;
    margin: 0;
    line-height: 1.6;
}

/* [FAQ可见化] FAQ 展开面板 — footer 内 Legal 行下方就地向下展开（不弹窗）
   grid 0fr→1fr 平滑动画：展开时 footer 自身增高，收起复原 */
.fb-faq-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease;
}
.fb-faq-panel.is-open {
    grid-template-rows: 1fr;
}
.fb-faq-panel-inner {
    overflow: hidden;
}
.fb-faq-panel-body {
    margin-top: 14px;
    border-top: 1px solid var(--border-color, #333333);
    padding-top: 2px;
}
.fb-faq-item {
    border-bottom: 1px solid var(--border-color, #333333);
}
.fb-faq-item:last-child {
    border-bottom: none;
}
.fb-faq-q {
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    font-family: inherit;
    color: var(--text-primary, #ffffff);
    font-size: 0.9rem;
    font-weight: 600;
    padding: 12px 0;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}
.fb-faq-q::after {
    content: '+';
    font-size: 1.2rem;
    font-weight: 400;
    color: var(--text-muted, #999999);
    flex-shrink: 0;
}
.fb-faq-q[aria-expanded="true"]::after {
    content: '\2212';
}
.fb-faq-a p {
    margin: 0 0 12px;
    font-size: 0.85rem;
    color: var(--text-muted, #999999);
    line-height: 1.7;
}

/* 移动端 - FB页面头部 */
@media (max-width: 768px) {
    /* FB页面头部 */
    .fb-page-header {
        min-height: 80px; /* 最小高度(原固定80px, 现允许内容撑高) */
        padding: 12px 15px; /* 上下内边距 */
    }

    /* FB页面标题 */
    .fb-page-title {
        font-size: 1.25rem; /* 字体大小 */
    }

    /* FB页面副标题 */
    .fb-page-subtitle {
        font-size: 0.75rem; /* 字体大小 */
    }

    /* [栏目页SEO补全] 栏目页导语 */
    .fb-page-intro {
        font-size: 0.8125rem;
    }
}

/* 小屏幕移动端 - FB页面头部 */
@media (max-width: 480px) {
    /* FB页面头部 */
    .fb-page-header {
        min-height: 64px; /* 最小高度(原固定60px, 现允许内容撑高) */
        padding: 10px 10px; /* 上下内边距 */
    }

    /* FB页面标题 */
    .fb-page-title {
        font-size: 1rem; /* 字体大小 */
    }

    /* FB页面副标题 */
    .fb-page-subtitle {
        font-size: 0.625rem; /* 字体大小 */
    }

    /* [栏目页SEO补全] 栏目页导语 */
    .fb-page-intro-wrap {
        padding: 8px 12px;
        margin: 6px 0 12px;
    }
    .fb-page-intro {
        font-size: 0.75rem;
    }
}

/* =====================================================
   Link Cards - Ensure consistent styling for clickable elements
   链接卡片 - 确保可点击元素的一致样式
===================================================== */
/* 链接卡片基础样式 */
a.team-card,
a.mini-team-item,
a.match-card,
a.standings-row,
a.player-card-large,
a.discipline-item,
a.minutes-card,
a.goalkeeper-card,
a.player-list-item {
    text-decoration: none; /* 无下划线 */
    color: inherit; /* 继承颜色 */
    cursor: pointer; /* 鼠标指针 */
}

/* 链接卡片悬停状态 */
a.team-card:hover,
a.mini-team-item:hover,
a.match-card:hover,
a.standings-row:hover,
a.player-card-large:hover,
a.discipline-item:hover,
a.minutes-card:hover,
a.goalkeeper-card:hover,
a.player-list-item:hover {
    text-decoration: none; /* 无下划线 */
}

/* 小屏幕移动端响应式 */
@media (max-width: 480px) {
    /* 工具网格 */
    .tools-grid {
        grid-template-columns: 1fr; /* 单列布局 */
    }

    /* 分析页面主区域标题行 */
    .analysis-hero .hero-title-row {
        flex-direction: column; /* 垂直布局 */
        text-align: center; /* 文字居中 */
    }

    /* AI预测网格 */
    .ai-prediction .prediction-grid {
        grid-template-columns: 1fr; /* 单列布局 */
    }
}

/* =====================================================
   Matches Page - Match List with Odds & Predictions
   比赛页面 - 包含赔率和预测的比赛列表
===================================================== */
/* 比赛页面布局 */
.fb-matches-layout {
    display: grid; /* 网格布局 */
    grid-template-columns: 70fr 30fr; /* 70:30 比例，fr 单位自动扣除 gap，防止右栏溢出容器 */
    gap: 24px; /* 列间距 */
}

/* 比赛页面左侧区域 */
.fb-matches-left {
    min-width: 0; /* 最小宽度 */
}

/* =====================================================
   Standings Page Layout
   积分榜页面布局
===================================================== */
/* 积分榜页面布局 */
.fb-standings-layout {
    display: grid; /* 网格布局 */
    grid-template-columns: 70fr 30fr; /* 70:30 比例，fr 单位自动扣除 gap，防止右栏溢出容器 */
    gap: 24px; /* 列间距 */
}

/* 积分榜页面左侧区域 */
.fb-standings-left {
    min-width: 0; /* 最小宽度 */
}

/* 积分榜页面右侧区域 */
.fb-standings-right {
    min-width: 0; /* 最小宽度 */
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 16px; /* 元素间距 */
}

/* 侧边栏占位符 */
.sidebar-placeholder {
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 24px; /* 内边距 */
    border: 1px dashed var(--border-color); /* 虚线边框 */
    min-height: 300px; /* 最小高度 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
}

/* 占位符内容 */
.placeholder-content {
    text-align: center; /* 文字居中 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 占位符内容图标 */
.placeholder-content .dashicons {
    font-size: 3rem; /* 图标大小 */
    margin-bottom: 12px; /* 底部外边距 */
    opacity: 0.5; /* 透明度 */
}

/* 占位符内容标题 */
.placeholder-content h3 {
    margin: 0 0 8px 0; /* 底部外边距 */
    font-size: 1.125rem; /* 字体大小 */
}

/* 占位符内容段落 */
.placeholder-content p {
    margin: 0; /* 无外边距 */
    font-size: 0.875rem; /* 字体大小 */
}

/* 积分榜列表容器 */
.standings-list-container {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 16px; /* 元素间距 */
}

/* 平板端响应式 - 积分榜页面 */
@media (max-width: 1024px) {
    /* 积分榜页面布局: minmax(0,1fr) 允许收缩, 防止宽表格撑破手机布局 */
    /* [中文] 单列轨道允许收缩, 防御性加固 */
    .fb-standings-layout {
        grid-template-columns: minmax(0, 1fr); /* 单列布局, 允许收缩 */
    }

    /* 积分榜页面左侧区域 */
    .fb-standings-left {
        order: 1; /* 排序顺序 */
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }

    /* 积分榜页面右侧区域 */
    .fb-standings-right {
        order: 2; /* 排序顺序 */
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }
}

/* Matches Hero Stats */
/* 比赛页面顶部统计 */
.matches-hero-stats {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(6, 1fr); /* 六列等宽布局 */
    gap: 8px; /* 卡片间距 */
    margin-bottom: 20px; /* 底部外边距 */
}

/* 球员详情页面顶部统计 */
.player-detail-page .matches-hero-stats {
    grid-template-columns: repeat(6, 1fr); /* 六列等宽布局 */
    margin-bottom: 24px; /* 底部外边距 */
}

/* 顶部统计 — 3 个卡片 */
.matches-hero-stats.stats-count-3 {
    grid-template-columns: repeat(3, 1fr);
}

/* 顶部统计 — 4 个卡片 */
.matches-hero-stats.stats-count-4 {
    grid-template-columns: repeat(4, 1fr);
}

/* 顶部统计 — 5 个卡片 */
.matches-hero-stats.stats-count-5 {
    grid-template-columns: repeat(5, 1fr);
}

/* 比赛页面统计项 */
.matches-hero-stats .stat-item {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    gap: 4px; /* 元素间距 */
    background-color: var(--bg-secondary); /* 背景色 */
    padding: 8px 6px; /* 内边距 */
    border-radius: var(--radius-sm); /* 圆角 */
    border: 1px solid var(--border-color); /* 边框 */
    text-align: center; /* 文字居中 */
}

/* 比赛页面统计图标 */
.matches-hero-stats .stat-icon {
    font-size: 1rem; /* 图标大小 */
    color: var(--accent-red); /* 图标颜色 */
    width: auto; /* 宽度自适应 */
    height: auto; /* 高度自适应 */
}

/* 比赛页面统计标签 */
.matches-hero-stats .stat-label {
    font-size: 0.625rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    text-transform: uppercase; /* 大写 */
    letter-spacing: 0.5px; /* 字间距 */
}

/* 比赛页面统计数值 */
.matches-hero-stats .stat-number {
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

/* 比赛页面Tab内容 */
.matches-tab-content {
    display: none; /* 默认隐藏 */
}

/* 比赛页面Tab内容激活状态 */
.matches-tab-content.active {
    display: block; /* 显示 */
}

/* 比赛页面右侧区域 */
.fb-matches-right {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 16px; /* 元素间距 */
}

/* Matches page right column: reset .widget margin-bottom to avoid
   stacking with flex gap (which caused 36px spacing instead of 16px).
   [中文] Matches 页面右栏：重置 .widget 的 margin-bottom，
   [中文] 避免与 flex gap 叠加导致间距过大（36px → 16px） */
.fb-matches-right .widget {
    margin-bottom: 0;
}

/* 小部件标题图标 */
.widget-title .dashicons {
    font-size: 1.125rem; /* 图标大小 */
    width: 1.125rem; /* 宽度 */
    height: 1.125rem; /* 高度 */
    margin-right: 8px; /* 右边距 */
    color: var(--accent-red); /* 图标颜色 */
}

/* 联赛头部样式 - 单行 */
.league-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    padding: 8px 12px; /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    margin-bottom: 4px; /* 底部外边距 */
    cursor: pointer; /* 鼠标指针 */
    transition: all var(--transition-fast); /* 过渡动画 */
    min-height: 36px; /* 最小高度(原固定36px, 长联赛名换行时允许撑高) */
    text-decoration: none; /* 链接重置：无下划线 */
    color: inherit; /* 链接重置：继承父级颜色 */
}

/* 联赛头部信息包装器 */
.league-header .league-info-wrapper {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    flex-shrink: 1; /* 允许缩小(原flex-shrink:0导致长联赛名整行溢出) */
    min-width: 0; /* 允许内容收缩换行 */
    flex-wrap: wrap; /* 联赛名+国家名过长时换行显示 */
}

/* 联赛头部联赛名: 允许换行
   全局 .league-name 是 nowrap+shrink:0, 长联赛名会把整行撑出容器,
   造成页面横向滚动。此处限定 league-header 内允许换行。 */
/* [中文] 长联赛名换行显示, 消除移动端横向溢出 */
.league-header .league-name {
    white-space: normal; /* 允许换行 */
    flex-shrink: 1; /* 允许收缩 */
    min-width: 0; /* 收缩下限 */
    word-break: break-word; /* 超长单词(无空格)也可断行 */
    line-height: 1.2; /* 行高 */
}

/* 联赛头部悬停状态 */
.league-header:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

/* 联赛图标 */
.league-icon {
    width: 24px; /* 宽度 */
    height: 24px; /* 高度 */
    object-fit: contain; /* 保持比例 */
    border-radius: 50%; /* 圆形 */
    background-color: #ffffff; /* 背景色 */
    padding: 3px; /* 内边距 */
    box-sizing: border-box; /* 盒模型 */
}

/* 联赛图标字体图标 */
.league-icon-dashicon {
    font-size: 16px; /* 图标大小 */
    width: 16px; /* 宽度 */
    height: 16px; /* 高度 */
    color: var(--text-muted); /* 图标颜色 */
}

/* 联赛名称 */
.league-name {
    font-size: 0.8125rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    white-space: nowrap; /* 不换行 */
    flex-shrink: 0; /* 不允许缩小 */
}

/* 联赛分隔符 */
.league-divider {
    color: var(--text-muted); /* 文字颜色 */
    font-size: 0.75rem; /* 字体大小 */
    margin: 0 4px; /* 左右外边距 */
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    height: 100%; /* 高度100% */
}

/* 联赛国家 */
.league-country {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 4px; /* 元素间距 */
}

/* 国家旗帜 */
.country-flag {
    height: 15px; /* 高度 */
    border-radius: 2px; /* 圆角 */
    padding: 1px; /* 内边距 */
    box-sizing: border-box; /* 盒模型 */
    object-fit: cover; /* 填充方式 */
    flex-shrink: 0; /* 不允许缩小 */
}

/* 国家名称 */
.country-name {
    font-size: 0.7rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    white-space: nowrap; /* 不换行 */
}

/* 联赛比赛数量 */
.league-match-count {
    font-size: 0.6875rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: #fff; /* 文字颜色 */
    background-color: var(--accent-blue); /* 背景色 */
    padding: 2px 8px; /* 内边距 */
    border-radius: 10px; /* 圆角 */
    margin-left: auto; /* 左边距自动 */
    flex-shrink: 0; /* 不允许缩小 */
}

/* 联赛分隔线 */
.league-divider {
    height: 1px; /* 高度 */
    background-color: var(--border-color); /* 背景色 */
    margin: 8px 0; /* 上下外边距 */
}

/* 联赛箭头 */
.league-arrow {
    font-size: 12px; /* 字体大小 */
    width: 12px; /* 宽度 */
    height: 12px; /* 高度 */
    color: var(--text-muted); /* 箭头颜色 */
    transition: transform var(--transition-fast); /* 过渡动画 */
    margin-left: 8px; /* 左边距 */
}

/* 联赛头部悬停时箭头颜色 */
.league-header:hover .league-arrow {
    color: var(--text-primary); /* 箭头颜色 */
}

/* 比赛卡片包装器 - 用于赔率定位 */
.match-card-wrapper {
    position: relative; /* 相对定位 */
    margin-bottom: 4px; /* 底部外边距 */
}

/* 比赛卡片紧凑样式 */
.match-card {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    padding: 6px 16px; /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: 0; /* 无圆角 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
    text-decoration: none; /* 无下划线 */
    transition: all var(--transition-fast); /* 过渡动画 */
    height: 38px; /* 高度 */
}

/* 比赛卡片悬停状态 */
.match-card:hover {
    background-color: var(--bg-hover); /* 悬停背景色 */
}

/* 最后一个比赛卡片样式 */
.match-card:last-child {
    border-bottom: none; /* 无底部边框 */
    border-radius: 0 0 var(--radius-md) var(--radius-md); /* 底部圆角 */
}

/* 正在直播的比赛卡片 - 左侧红色边框标记 LIVE 状态 */
.fb-matches-left .match-card.is-live {
    border-left: 4px solid var(--accent-red); /* 左侧红色边框 */
}

/* Home 页面比赛卡片链接样式 */
.home-match-link {
    display: block; /* 块级显示 */
    text-decoration: none; /* 无下划线 */
    color: inherit; /* 继承文字颜色 */
}

.home-match-link:hover {
    text-decoration: none; /* 悬停也无下划线 */
}

/* === 新的统一比赛卡片样式 === */
/* 所有元素在同一层级 - 垂直居中对齐 */
.fb-matches-left .match-card {
    display: flex !important; /* 弹性布局 */
    align-items: center !important; /* 垂直居中 */
    justify-content: flex-start !important; /* 左对齐 */
    gap: 6px !important; /* 元素间距 */
    flex-wrap: nowrap !important; /* 不换行 */
}

/* 联赛详情页 - Upcoming Fixtures 卡片背景 */
/* 模块背景为 --bg-secondary，卡片用 --bg-tertiary 提升一档，形成层次感 */
.league-detail-page .fixtures-section .match-card {
    background-color: var(--bg-tertiary) !important; /* 三级背景色 */
}

.league-detail-page .fixtures-section .match-card:hover {
    background-color: var(--bg-hover) !important; /* 悬停背景色 */
}

/* 比赛时间 */
.fb-matches-left .match-card-time {
    font-size: 0.75rem !important; /* 字体大小 */
    font-weight: 600 !important; /* 粗细 */
    color: var(--text-primary) !important; /* 文字颜色 */
    flex-shrink: 0 !important; /* 不允许缩小 */
    display: flex !important; /* 弹性布局 */
    align-items: center !important; /* 垂直居中 */
    line-height: 18px !important; /* 行高 */
}

/* 比赛日期 - 显示在时间左侧 */
.fb-matches-left .match-card-date {
    font-size: 0.625rem !important; /* 字体大小 */
    font-weight: 500 !important; /* 粗细 */
    color: var(--text-muted) !important; /* 次要文字颜色 */
    flex-shrink: 0 !important; /* 不允许缩小 */
    line-height: 18px !important; /* 行高 */
}

/* 比赛状态 */
.fb-matches-left .match-card-status {
    font-size: 0.625rem !important; /* 字体大小 */
    font-weight: 600 !important; /* 粗细 */
    padding: 2px 6px !important; /* 内边距 */
    border-radius: 3px !important; /* 圆角 */
    display: inline-flex !important; /* 行内弹性布局 */
    align-items: center !important; /* 垂直居中 */
    gap: 3px !important; /* 元素间距 */
    flex-shrink: 0 !important; /* 不允许缩小 */
    line-height: 18px !important; /* 行高 */
}

/* 直播状态 */
.fb-matches-left .match-card-status.live {
    background-color: rgba(220, 38, 38, 0.15) !important; /* 红色半透明背景 */
    color: var(--accent-red) !important; /* 红色文字 */
}

/* 已结束状态 */
.fb-matches-left .match-card-status.finished {
    background-color: rgba(34, 197, 94, 0.15) !important; /* 绿色半透明背景 */
    color: var(--accent-green) !important; /* 绿色文字 */
}

/* 未开始状态 */
.fb-matches-left .match-card-status.upcoming {
    background-color: var(--bg-tertiary) !important; /* 灰色背景 */
    color: var(--text-muted) !important; /* 灰色文字 */
}

/* 直播状态中的圆点 */
.fb-matches-left .match-card-status .live-dot {
    width: 5px; /* 宽度 */
    height: 5px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    background-color: currentColor; /* 继承颜色 */
    animation: pulse 1.5s infinite; /* 脉冲动画 */
}

/* 脉冲动画关键帧 */
@keyframes pulse {

    0%,
    100% {
        opacity: 1; /* 完全不透明 */
    }

    50% {
        opacity: 0.5; /* 半透明 */
    }
}

/* 球队名称 */
.fb-matches-left .match-card-team {
    font-size: 0.75rem !important; /* 字体大小 */
    font-weight: 500 !important; /* 粗细 */
    color: var(--text-primary) !important; /* 文字颜色 */
    flex: 1 !important; /* 占据剩余空间 */
    min-width: 0 !important; /* 最小宽度 */
    white-space: nowrap !important; /* 不换行 */
    overflow: hidden !important; /* 隐藏溢出 */
    text-overflow: ellipsis !important; /* 省略号 */
    display: flex !important; /* 弹性布局 */
    align-items: center !important; /* 垂直居中 */
    line-height: 18px !important; /* 行高 */
}

/* 主队名称 */
.fb-matches-left .match-card-team.home {
    text-align: right !important; /* 右对齐 */
    justify-content: flex-end !important; /* 右对齐 */
}

/* 客队名称 */
.fb-matches-left .match-card-team.away {
    text-align: left !important; /* 左对齐 */
    justify-content: flex-start !important; /* 左对齐 */
}

/* 球队Logo */
.fb-matches-left .match-card-logo {
    width: 28px !important; /* 宽度 */
    height: 28px !important; /* 高度 */
    object-fit: contain !important; /* 保持比例 */
    flex-shrink: 0 !important; /* 不允许缩小 */
    display: inline-flex !important; /* 行内弹性布局 */
    align-items: center !important; /* 垂直居中 */
    justify-content: center !important; /* 水平居中 */
    font-size: 1.25rem !important; /* 字体大小 */
    color: var(--text-muted) !important; /* 图标颜色 */
    padding: 3px !important; /* 内边距 */
}

/* 国家队国旗：图片已预裁剪透明边框，用 cover 填满圆形容器，保留 padding 白色边框 */
.fb-matches-left .match-card-logo.match-card-logo-national {
    object-fit: cover !important; /* 填充容器，无空隙 */
    display: block !important; /* 覆盖 inline-flex，确保 object-fit 正常工作 */
}

/* 通用国家队国旗样式：适用于所有模块的 team-logo / team-logo-small 等 */
/* [中文] 国家队国旗通用样式：预裁剪图片 + object-fit:cover 填满容器 */
.logo-national {
    object-fit: cover !important;
    display: block !important;
}

/* 比分 */
.fb-matches-left .match-card-score-home,
.fb-matches-left .match-card-score-away {
    font-size: 0.875rem !important; /* 字体大小 */
    font-weight: 700 !important; /* 粗细 */
    color: var(--text-primary) !important; /* 文字颜色 */
    flex-shrink: 0 !important; /* 不允许缩小 */
    display: flex !important; /* 弹性布局 */
    align-items: center !important; /* 垂直居中 */
    line-height: 18px !important; /* 行高 */
}

/* 比分分隔符 */
.fb-matches-left .match-card-score-sep {
    font-size: 0.75rem !important; /* 字体大小 */
    color: var(--text-muted) !important; /* 文字颜色 */
    flex-shrink: 0 !important; /* 不允许缩小 */
    display: flex !important; /* 弹性布局 */
    align-items: center !important; /* 垂直居中 */
    line-height: 18px !important; /* 行高 */
}

/* 赔率 */
.fb-matches-left .match-card-odds {
    padding: 2px 5px !important; /* 内边距 */
    background-color: var(--bg-tertiary) !important; /* 背景色 */
    border-radius: 3px !important; /* 圆角 */
    font-size: 0.625rem !important; /* 字体大小 */
    font-weight: 600 !important; /* 粗细 */
    color: var(--text-primary) !important; /* 文字颜色 */
    min-width: 32px !important; /* 最小宽度 */
    text-align: center !important; /* 文字居中 */
    flex-shrink: 0 !important; /* 不允许缩小 */
    display: flex !important; /* 弹性布局 */
    align-items: center !important; /* 垂直居中 */
    justify-content: center !important; /* 水平居中 */
    line-height: 18px !important; /* 行高 */
}

/* 平局赔率 */
.fb-matches-left .match-card-odds.match-card-odds-x {
    background-color: rgba(251, 140, 0, 0.2) !important; /* 橙色半透明背景 */
    color: var(--accent-orange) !important; /* 橙色文字 */
}

/* 赔率占位符 */
.fb-matches-left .match-card-odds.match-card-odds-placeholder {
    background-color: transparent !important; /* 透明背景 */
    color: transparent !important; /* 透明文字 */
}

/* 比赛徽章 (LIVE/FT) */
.fb-matches-left .match-card-badge {
    padding: 2px 6px !important; /* 内边距 */
    border-radius: 3px !important; /* 圆角 */
    font-size: 0.5625rem !important; /* 字体大小 */
    font-weight: 700 !important; /* 粗细 */
    text-transform: uppercase !important; /* 大写 */
    flex-shrink: 0 !important; /* 不允许缩小 */
    display: flex !important; /* 弹性布局 */
    align-items: center !important; /* 垂直居中 */
    justify-content: center !important; /* 水平居中 */
    line-height: 18px !important; /* 行高 */
    min-width: 28px !important; /* 最小宽度 */
}

/* 直播徽章 */
.fb-matches-left .match-card-badge.badge-live {
    background-color: var(--accent-red) !important; /* 红色背景 */
    color: #fff !important; /* 白色文字 */
}

/* 已结束徽章 */
.fb-matches-left .match-card-badge.badge-finished {
    background-color: var(--accent-green) !important; /* 绿色背景 */
    color: #fff !important; /* 白色文字 */
}

/* 徽章占位符 */
.fb-matches-left .match-card-badge.match-card-badge-placeholder {
    background-color: transparent !important; /* 透明背景 */
    color: transparent !important; /* 透明文字 */
}

/* 赔率小部件 */
.fb-widget-odds .odds-match-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    margin-bottom: 12px; /* 底部外边距 */
    padding-bottom: 12px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* 球队信息 */
.fb-widget-odds .team-info {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
}

/* 球队小Logo */
.fb-widget-odds .team-logo-small {
    width: 32px; /* 宽度 */
    height: 32px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: contain; /* 保持比例 */
}

/* 球队名称 */
.fb-widget-odds .team-name {
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    text-align: center; /* 文字居中 */
    max-width: 80px; /* 最大宽度 */
}

/* VS文字 */
.fb-widget-odds .vs-text {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    font-weight: 600; /* 粗细 */
}

/* 赔率网格 */
.fb-widget-odds .odds-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(3, 1fr); /* 三列布局 */
    gap: 8px; /* 列间距 */
    margin-bottom: 12px; /* 底部外边距 */
}

/* 赔率项 */
.fb-widget-odds .odds-item {
    text-align: center; /* 文字居中 */
    padding: 10px 8px; /* 内边距 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

/* 赔率项悬停状态 */
.fb-widget-odds .odds-item:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

/* 赔率标签 */
.fb-widget-odds .odds-label {
    display: block; /* 块级显示 */
    font-size: 0.6875rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin-bottom: 4px; /* 底部外边距 */
}

/* 赔率数值 */
.fb-widget-odds .odds-value {
    display: block; /* 块级显示 */
    font-size: 1rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

/* 赔率变化 */
.fb-widget-odds .odds-change {
    display: block; /* 块级显示 */
    font-size: 0.625rem; /* 字体大小 */
    margin-top: 2px; /* 顶部外边距 */
}

/* 赔率上升 */
.fb-widget-odds .odds-change.up {
    color: var(--accent-green); /* 绿色 */
}

/* 赔率下降 */
.fb-widget-odds .odds-change.down {
    color: var(--accent-red); /* 红色 */
}

/* 博彩公司信息 */
.fb-widget-odds .odds-bookmaker {
    display: flex; /* 弹性布局 */
    justify-content: space-between; /* 两端对齐 */
    align-items: center; /* 垂直居中 */
    padding: 8px 10px; /* 内边距 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    margin-bottom: 12px; /* 底部外边距 */
    font-size: 0.75rem; /* 字体大小 */
}

/* 博彩公司名称 */
.fb-widget-odds .bookmaker-name {
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

/* 赔率更新时间 */
.fb-widget-odds .odds-updated {
    color: var(--text-muted); /* 文字颜色 */
}

/* 赔率统计 */
.fb-widget-odds .odds-stats {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 6px; /* 元素间距 */
}

/* 统计行 */
.fb-widget-odds .stat-row {
    display: flex; /* 弹性布局 */
    justify-content: space-between; /* 两端对齐 */
    align-items: center; /* 垂直居中 */
    padding: 6px 10px; /* 内边距 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    font-size: 0.75rem; /* 字体大小 */
}

/* 统计标签 */
.fb-widget-odds .stat-label {
    color: var(--text-muted); /* 文字颜色 */
}

/* 统计数值 */
.fb-widget-odds .stat-value {
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

/* 预测小部件 */
.fb-widget-prediction .odds-match-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    gap: 16px; /* 元素间距 */
    margin-bottom: 16px; /* 底部外边距 */
}

.fb-widget-prediction .odds-team {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    flex: 1; /* 占据剩余空间 */
}

.fb-widget-prediction .odds-team .team-logo {
    width: 44px; /* 宽度 */
    height: 44px; /* 高度 */
}

.fb-widget-prediction .odds-team .team-name {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    text-align: center; /* 文字居中 */
    max-width: 100%; /* 最大宽度 */
    overflow: hidden; /* 隐藏溢出 */
    text-overflow: ellipsis; /* 省略号 */
    display: -webkit-box; /* 弹性盒 */
    -webkit-line-clamp: 2; /* 限制行数 */
    -webkit-box-orient: vertical; /* 垂直方向 */
}

.fb-widget-prediction .vs-divider {
    width: 32px; /* 宽度 */
    height: 32px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    background-color: var(--bg-tertiary); /* 背景色 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    font-size: 0.6875rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-muted); /* 文字颜色 */
}

.fb-widget-prediction .vote-section {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 12px; /* 元素间距 */
}

.fb-widget-prediction .vote-bars {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 8px; /* 元素间距 */
}

.fb-widget-prediction .vote-bar-item {
    display: grid; /* 网格布局 */
    grid-template-columns: 44px 1fr 36px; /* 网格列宽 */
    gap: 8px; /* 列间距 */
    align-items: center; /* 垂直居中 */
}

.fb-widget-prediction .vote-label {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

.fb-widget-prediction .vote-bar {
    height: 6px; /* 高度 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: 3px; /* 圆角 */
    overflow: hidden; /* 隐藏溢出 */
}

.fb-widget-prediction .vote-fill {
    height: 100%; /* 高度100% */
    background-color: var(--accent-red); /* 背景色 */
    border-radius: 3px; /* 圆角 */
    transition: width var(--transition-normal); /* 过渡动画 */
}

.fb-widget-prediction .vote-fill.draw {
    background-color: var(--accent-orange); /* 橙色背景 */
}

.fb-widget-prediction .vote-fill.away {
    background-color: var(--accent-blue); /* 蓝色背景 */
}

.fb-widget-prediction .vote-percent {
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    text-align: right; /* 文字右对齐 */
}

.fb-widget-prediction .vote-buttons {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(3, 1fr); /* 三列布局 */
    gap: 6px; /* 列间距 */
}

.fb-widget-prediction .vote-btn {
    padding: 8px 6px; /* 内边距 */
    border: none; /* 无边框 */
    border-radius: var(--radius-sm); /* 圆角 */
    background-color: var(--accent-red); /* 背景色 */
    color: var(--text-primary); /* 文字颜色 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    cursor: pointer; /* 鼠标指针 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.fb-widget-prediction .vote-btn:hover {
    background-color: #c62828; /* 悬停背景色 */
}

.fb-widget-prediction .vote-btn.draw {
    background-color: var(--accent-orange); /* 橙色背景 */
}

.fb-widget-prediction .vote-btn.draw:hover {
    background-color: #e65100; /* 悬停背景色 */
}

.fb-widget-prediction .vote-btn.away {
    background-color: var(--accent-blue); /* 蓝色背景 */
}

.fb-widget-prediction .vote-btn.away:hover {
    background-color: #1565c0; /* 悬停背景色 */
}

.fb-widget-prediction .vote-btn:disabled {
    background-color: var(--text-muted); /* 禁用背景色 */
    cursor: not-allowed; /* 禁用鼠标指针 */
    opacity: 0.6; /* 透明度 */
}

.fb-widget-prediction .vote-count {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    gap: 4px; /* 元素间距 */
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 预测导航底部 */
.fb-widget-prediction .prediction-nav-footer {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    gap: 12px; /* 元素间距 */
    margin-top: 16px; /* 顶部外边距 */
    padding-top: 12px; /* 顶部内边距 */
    border-top: 1px solid var(--border-color); /* 顶部边框 */
}

.fb-widget-prediction .prediction-nav-btn {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    width: 32px; /* 宽度 */
    height: 28px; /* 高度 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border: 1px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-md); /* 圆角 */
    cursor: pointer; /* 鼠标指针 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.fb-widget-prediction .prediction-nav-btn:hover {
    background-color: var(--accent-blue); /* 悬停背景色 */
    border-color: var(--accent-blue); /* 悬停边框色 */
}

.fb-widget-prediction .prediction-nav-btn:hover .dashicons {
    color: var(--text-primary); /* 悬停图标颜色 */
}

.fb-widget-prediction .prediction-nav-btn .dashicons {
    font-size: 1rem; /* 图标大小 */
    width: 1rem; /* 宽度 */
    height: 1rem; /* 高度 */
    color: var(--text-muted); /* 图标颜色 */
}

.fb-widget-prediction .prediction-match-indicator {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-muted); /* 文字颜色 */
}

.fb-widget-prediction .vote-count .dashicons {
    font-size: 0.875rem; /* 图标大小 */
    width: 0.875rem; /* 宽度 */
    height: 0.875rem; /* 高度 */
}

/* 球员小部件 */
.fb-widget-players .players-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 8px; /* 元素间距 */
}

.fb-widget-players .player-item {
    display: grid; /* 网格布局 */
    grid-template-columns: 24px 36px 1fr auto; /* 网格列宽 */
    gap: 8px; /* 列间距 */
    align-items: center; /* 垂直居中 */
    padding: 10px; /* 内边距 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.fb-widget-players .player-item:hover {
    background-color: var(--bg-hover); /* 悬停背景色 */
}

.fb-widget-players .player-rank {
    width: 24px; /* 宽度 */
    height: 24px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    background-color: var(--accent-red); /* 背景色 */
    color: var(--text-primary); /* 文字颜色 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
}

.fb-widget-players .player-photo {
    width: 36px; /* 宽度 */
    height: 36px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    overflow: hidden; /* 隐藏溢出 */
    background-color: var(--bg-hover); /* 背景色 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
}

.fb-widget-players .player-photo img {
    width: 100%; /* 宽度100% */
    height: 100%; /* 高度100% */
    object-fit: cover; /* 填充方式 */
}

.fb-widget-players .player-photo .dashicons {
    font-size: 1.25rem; /* 图标大小 */
    color: var(--text-dark); /* 图标颜色 */
}

.fb-widget-players .player-info {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 2px; /* 元素间距 */
}

.fb-widget-players .playerName {
    font-size: 0.8125rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

.fb-widget-players .player-team {
    font-size: 0.6875rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

.fb-widget-players .player-stats {
    text-align: center; /* 文字居中 */
}

.fb-widget-players .stat-number {
    display: block; /* 块级显示 */
    font-size: 1rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--accent-red); /* 文字颜色 */
}

.fb-widget-players .stat-label {
    display: block; /* 块级显示 */
    font-size: 0.625rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 场馆小部件 */
.fb-widget-venues .venues-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 8px; /* 元素间距 */
}

.fb-widget-venues .venue-item {
    display: grid; /* 网格布局 */
    grid-template-columns: 32px 1fr auto; /* 网格列宽 */
    gap: 8px; /* 列间距 */
    align-items: center; /* 垂直居中 */
    padding: 10px; /* 内边距 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.fb-widget-venues .venue-item:hover {
    background-color: var(--bg-hover); /* 悬停背景色 */
}

.fb-widget-venues .venue-icon {
    width: 32px; /* 宽度 */
    height: 32px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    background-color: var(--accent-green); /* 背景色 */
    color: var(--text-primary); /* 文字颜色 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
}

.fb-widget-venues .venue-icon .dashicons {
    font-size: 1rem; /* 图标大小 */
    width: 1rem; /* 宽度 */
    height: 1rem; /* 高度 */
}

.fb-widget-venues .venue-info {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 2px; /* 元素间距 */
}

.fb-widget-venues .venueName {
    font-size: 0.8125rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

.fb-widget-venues .venue-city {
    font-size: 0.6875rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

.fb-widget-venues .venue-capacity {
    text-align: center; /* 文字居中 */
}

.fb-widget-venues .capacity-number {
    display: block; /* 块级显示 */
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--accent-green); /* 文字颜色 */
}

.fb-widget-venues .capacity-label {
    display: block; /* 块级显示 */
    font-size: 0.625rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 统计小部件 */
.fb-widget-stats .stats-overview {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(2, 1fr); /* 两列布局 */
    gap: 8px; /* 列间距 */
}

.fb-widget-stats .stat-card {
    padding: 12px 8px; /* 内边距 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    text-align: center; /* 文字居中 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

.fb-widget-stats .stat-card:hover {
    background-color: var(--bg-hover); /* 悬停背景色 */
}

.fb-widget-stats .stat-card .stat-icon {
    font-size: 1.25rem; /* 图标大小 */
    width: 1.25rem; /* 宽度 */
    height: 1.25rem; /* 高度 */
    color: var(--accent-red); /* 图标颜色 */
    margin-bottom: 6px; /* 底部外边距 */
}

.fb-widget-stats .stat-card .stat-value {
    display: block; /* 块级显示 */
    font-size: 1.25rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 2px; /* 底部外边距 */
}

.fb-widget-stats .stat-card .stat-label {
    display: block; /* 块级显示 */
    font-size: 0.6875rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 无数据 */
.no-data {
    text-align: center; /* 文字居中 */
    color: var(--text-muted); /* 文字颜色 */
    padding: 20px; /* 内边距 */
    font-size: 0.875rem; /* 字体大小 */
}

/* 响应式 */
@media (max-width: 1024px) {
    /* minmax(0,1fr): 轨道允许收缩, 防止内容 min-content 撑破手机布局 */
    /* [中文] 单列轨道允许收缩, 防御性加固 */
    .fb-matches-layout {
        grid-template-columns: minmax(0, 1fr); /* 单列布局, 允许收缩 */
    }

    /* 左侧列在前，右侧列在后 */
    .fb-matches-left {
        order: 1; /* 排序顺序 */
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }

    .fb-matches-right {
        order: 2; /* 排序顺序 */
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }
}

@media (max-width: 768px) {

    /* 赔率网格、投票按钮、统计概览单列布局 */
    .fb-widget-odds .odds-grid,
    .fb-widget-prediction .vote-buttons,
    .fb-widget-stats .stats-overview {
        grid-template-columns: 1fr; /* 单列布局 */
    }

    /* === 移动端比赛卡片样式 === */
    .match-card {
        padding: 4px 8px !important; /* 内边距 */
        height: 34px !important; /* 高度 */
        gap: 4px !important; /* 元素间距 */
    }

    /* 时间 - 移动端 */
    .fb-matches-left .match-card-time {
        font-size: 0.65rem !important; /* 字体大小 */
    }

    /* 日期 - 移动端 */
    .fb-matches-left .match-card-date {
        font-size: 0.5rem !important; /* 字体大小 */
    }

    /* 状态 - 移动端 */
    .fb-matches-left .match-card-status {
        font-size: 0.5rem !important; /* 字体大小 */
        padding: 1px 3px !important; /* 内边距 */
        gap: 2px !important; /* 元素间距 */
    }

    /* 球队名称 - 移动端 */
    .fb-matches-left .match-card-team {
        font-size: 0.65rem !important; /* 字体大小 */
    }

    /* Logo - 移动端 */
    .fb-matches-left .match-card-logo {
        width: 22px !important; /* 宽度 */
        height: 22px !important; /* 高度 */
        padding: 2px !important; /* 内边距 */
    }

    /* 比分 - 移动端 */
    .fb-matches-left .match-card-score-home,
    .fb-matches-left .match-card-score-away {
        font-size: 0.75rem !important; /* 字体大小 */
    }

    .fb-matches-left .match-card-score-sep {
        font-size: 0.65rem !important; /* 字体大小 */
    }

    /* 赔率 - 移动端 */
    .fb-matches-left .match-card-odds {
        padding: 1px 3px !important; /* 内边距 */
        font-size: 0.5rem !important; /* 字体大小 */
        min-width: 28px !important; /* 最小宽度 */
    }

    /* 比赛徽章 - 移动端 */
    .fb-matches-left .match-card-badge {
        padding: 1px 4px !important; /* 内边距 */
        font-size: 0.5rem !important; /* 字体大小 */
    }
}

/* =====================================================
   Date Picker Styles
   日期选择器样式
===================================================== */
/* 标签页容器 */
.tabs {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    margin-bottom: 16px; /* 底部外边距 */
    gap: 8px; /* 元素间距 */
}

/* 日期选择器容器 */
.date-picker-container {
    position: relative; /* 相对定位 */
    margin-left: auto; /* 左边距自动 */
}

/* 日期选择器触发器 */
.date-picker-trigger {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    padding: 8px 12px; /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border: 1px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-sm); /* 圆角 */
    cursor: pointer; /* 鼠标指针 */
    transition: all var(--transition-fast); /* 过渡动画 */
    color: var(--text-primary); /* 文字颜色 */
}

/* 日期选择器触发器悬停状态 */
.date-picker-trigger:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
    border-color: var(--accent-blue); /* 悬停边框色 */
}

/* 日期选择器触发器图标 */
.date-picker-trigger .dashicons {
    font-size: 1.125rem; /* 图标大小 */
    width: 1.125rem; /* 宽度 */
    height: 1.125rem; /* 高度 */
}

/* 日期选择器下拉框 */
.date-picker-dropdown {
    position: absolute; /* 绝对定位 */
    top: 100%; /* 顶部位置 */
    right: 0; /* 右对齐 */
    margin-top: 8px; /* 顶部外边距 */
    background-color: var(--bg-primary); /* 背景色 */
    border: 1px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-md); /* 圆角 */
    box-shadow: var(--shadow-lg); /* 阴影 */
    z-index: 1000; /* 层级 */
    min-width: 280px; /* 最小宽度 */
    display: none; /* 默认隐藏 */
}

/* 日期选择器下拉框打开状态 */
.date-picker-dropdown.open {
    display: block; /* 显示 */
}

/* 日期选择器头部 */
.date-picker-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    padding: 12px 16px; /* 内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* 日期选择器选择器区域 */
.date-picker-selectors {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    flex: 1; /* 占据剩余空间 */
    justify-content: center; /* 水平居中 */
}

/* 日期选择器下拉框 */
.date-picker-select {
    padding: 6px 10px; /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border: 1px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-sm); /* 圆角 */
    color: var(--text-primary); /* 文字颜色 */
    font-size: 0.875rem; /* 字体大小 */
    cursor: pointer; /* 鼠标指针 */
    transition: all var(--transition-fast); /* 过渡动画 */
    outline: none; /* 无轮廓 */
}

/* 日期选择器下拉框悬停状态 */
.date-picker-select:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
    border-color: var(--accent-blue); /* 悬停边框色 */
}

/* 日期选择器下拉框聚焦状态 */
.date-picker-select:focus {
    border-color: var(--accent-blue); /* 聚焦边框色 */
}

/* 日期选择器导航按钮 */
.date-picker-nav {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    width: 32px; /* 宽度 */
    height: 32px; /* 高度 */
    background-color: var(--bg-secondary); /* 背景色 */
    border: 1px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-sm); /* 圆角 */
    color: var(--text-primary); /* 文字颜色 */
    cursor: pointer; /* 鼠标指针 */
    transition: all var(--transition-fast); /* 过渡动画 */
    font-weight: bold; /* 粗细 */
}

/* 日期选择器导航按钮悬停状态 */
.date-picker-nav:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
    border-color: var(--accent-blue); /* 悬停边框色 */
}

/* 日期选择器日期区域 */
.date-picker-days {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(7, 1fr); /* 七列布局 */
    padding: 12px 8px 4px; /* 内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* 日期选择器星期名称 */
.date-picker-days .day-name {
    text-align: center; /* 文字居中 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-muted); /* 文字颜色 */
    padding: 4px 0; /* 上下内边距 */
}

/* 日期选择器日期网格 */
.date-picker-days-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(7, 1fr); /* 七列布局 */
    gap: 2px; /* 列间距 */
    padding: 8px; /* 内边距 */
}

/* 日期选择器日期格子 */
.date-picker-days-grid .day-cell {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    padding: 10px 4px; /* 内边距 */
    font-size: 0.875rem; /* 字体大小 */
    color: var(--text-primary); /* 文字颜色 */
    border-radius: var(--radius-sm); /* 圆角 */
    cursor: pointer; /* 鼠标指针 */
    transition: all var(--transition-fast); /* 过渡动画 */
    text-align: center; /* 文字居中 */
}

/* 日期选择器日期格子悬停状态 */
.date-picker-days-grid .day-cell:hover {
    background-color: var(--bg-tertiary); /* 悬停背景色 */
}

/* 日期选择器日期空格 */
.date-picker-days-grid .day-cell.empty {
    cursor: default; /* 默认鼠标指针 */
    background-color: transparent; /* 透明背景 */
}

/* 日期选择器日期空格悬停状态 */
.date-picker-days-grid .day-cell.empty:hover {
    background-color: transparent; /* 透明背景 */
}

/* 日期选择器今日日期 */
.date-picker-days-grid .day-cell.today {
    background-color: var(--accent-blue); /* 蓝色背景 */
    color: #fff; /* 白色文字 */
    font-weight: 600; /* 粗细 */
}

/* 日期选择器今日日期悬停状态 */
.date-picker-days-grid .day-cell.today:hover {
    background-color: #1565c0; /* 深蓝色背景 */
}

/* 日期选择器底部 */
.date-picker-footer {
    padding: 10px 12px; /* 内边距 */
    border-top: 1px solid var(--border-color); /* 顶部边框 */
}

/* 日期选择器今日按钮 */
.date-picker-today-btn {
    width: 100%; /* 全宽 */
    padding: 8px 12px; /* 内边距 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border: 1px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-sm); /* 圆角 */
    color: var(--accent-color); /* 文字颜色 */
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 500; /* 粗细 */
    cursor: pointer; /* 鼠标指针 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

/* 日期选择器今日按钮悬停状态 */
.date-picker-today-btn:hover {
    background-color: var(--accent-color); /* 悬停背景色 */
    color: var(--text-primary); /* 悬停文字颜色 */
}

/* 日期选择器今日按钮按下状态 */
.date-picker-today-btn:active {
    transform: scale(0.98); /* 按下缩放 */
}

/* 加载更多容器 */
.load-more-container {
    margin-top: 16px; /* 顶部外边距 */
    text-align: center; /* 内容水平居中 */
}

/* 加载更多包装器 */
.load-more-wrapper {
    margin-top: 16px; /* 顶部外边距 */
    text-align: center; /* 文字居中 */
}

/* 加载更多按钮 */
.load-more-btn {
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    padding: 10px 20px; /* 内边距 */
    margin-top: 16px; /* 顶部外边距 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border: 1px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-sm); /* 圆角 */
    color: var(--text-primary); /* 文字颜色 */
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 500; /* 粗细 */
    cursor: pointer; /* 鼠标指针 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

/* 加载更多按钮悬停状态 */
.load-more-btn:hover {
    background-color: var(--accent-color); /* 悬停背景色 */
    color: var(--text-primary); /* 悬停文字颜色 */
    border-color: var(--accent-color); /* 悬停边框色 */
}

/* 加载更多按钮按下状态 */
.load-more-btn:active {
    transform: scale(0.98); /* 按下缩放 */
}

/* 加载更多按钮禁用状态 (AJAX加载中) */
.load-more-btn:disabled {
    opacity: 0.7; /* 透明度 */
    cursor: not-allowed; /* 禁用光标 */
    pointer-events: none; /* 禁止点击 */
}

/* 加载更多按钮图标 */
.load-more-btn .dashicons {
    font-size: 1rem; /* 图标大小 */
}

/* 加载中旋转动画 (AJAX请求时使用) */
.dashicons.spin {
    animation: fb-spin 1s linear infinite; /* 1秒一圈匀速旋转 */
}

@keyframes fb-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* 没有更多联赛提示 */
.no-more-leagues {
    margin-top: 16px; /* 顶部外边距 */
    text-align: center; /* 文字居中 */
    color: var(--text-muted); /* 文字颜色 */
    font-size: 0.875rem; /* 字体大小 */
    padding: 10px 20px; /* 内边距 */
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
}

/* 日期选择器选中日期 */
.date-picker-days-grid .day-cell.selected {
    background-color: #2e7d32; /* 绿色背景 */
    color: #fff; /* 白色文字 */
    font-weight: 600; /* 粗细 */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* 阴影 */
}

/* 日期选择器今日并选中日期 */
.date-picker-days-grid .day-cell.today.selected {
    background-color: #2e7d32; /* 绿色背景 */
    color: #fff; /* 白色文字 */
    font-weight: 600; /* 粗细 */
}

/* 日期选择器今日并选中日期悬停状态 */
.date-picker-days-grid .day-cell.today.selected:hover {
    background-color: #1b5e20; /* 深绿色背景 */
}

/* 比赛页面顶部统计响应式 */
@media (max-width: 768px) {
    /* 比赛页面顶部统计 */
    .matches-hero-stats {
        grid-template-columns: repeat(3, 1fr); /* 三列布局 */
        gap: 6px; /* 列间距 */
        margin-bottom: 12px; /* 底部外边距 */
        padding-bottom: 12px; /* 底部内边距 */
    }

    /* 比赛页面统计项 */
    .matches-hero-stats .stat-item {
        padding: 6px 4px; /* 内边距 */
        gap: 3px; /* 元素间距 */
    }

    /* 比赛页面统计图标 */
    .matches-hero-stats .stat-icon {
        font-size: 0.875rem; /* 图标大小 */
    }

    /* 比赛页面统计标签 */
    .matches-hero-stats .stat-label {
        font-size: 0.5625rem; /* 字体大小 */
    }

    /* 比赛页面统计数值 */
    .matches-hero-stats .stat-number {
        font-size: 0.875rem; /* 字体大小 */
    }
}

/* =====================================================
   Popular Teams Widget
   热门球队模块
===================================================== */
/* 热门球队小部件容器 */
.popular-teams-widget {
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 16px; /* 内边距 */
}

/* 热门球队小部件头部 */
.popular-teams-widget .widget-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    margin-bottom: 16px; /* 底部外边距 */
    padding-bottom: 12px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* Live Matches 小部件头部 — 复用 popular-teams 同款布局
   [中文] Live Matches 头部布局,与热门球队模块一致 */
.fb-widget-live .widget-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    margin-bottom: 16px; /* 底部外边距 */
    padding-bottom: 12px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* Live Matches 标题在 widget-header 内时,去除基础 .widget-title 自带的下边距/下边框
   (基础 .widget-title 在上方自带 margin-bottom/padding-bottom/border-bottom)
   [中文] 标题在 widget-header 内时去除基础样式自带的下边距和边框 */
.fb-widget-live .widget-header .widget-title {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    margin: 0; /* 无外边距 */
    padding: 0; /* 无内边距 */
    border: none; /* 无边框 */
}

/* Popular Players 小部件头部 — 复用 popular-teams 同款布局
   [中文] Popular Players 头部布局,与热门球队/热门赛事模块一致 */
.popular-players-widget .widget-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    margin-bottom: 16px; /* 底部外边距 */
    padding-bottom: 12px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* Popular Players 小部件标题 — 复用 popular-teams 同款样式
   [中文] Popular Players 标题样式,与热门球队模块一致 */
.popular-players-widget .widget-title {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin: 0; /* 无外边距 */
    padding: 0; /* 无内边距 */
    border: none; /* 无边框 */
}

/* Popular Players 小部件图标 — 与其他 widget-icon 一致使用红色
   [中文] Popular Players 图标颜色,与其他小部件一致 */
.popular-players-widget .widget-icon {
    color: var(--accent-red); /* 图标颜色 */
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
}

/* 热门球队小部件标题 */
.popular-teams-widget .widget-title {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin: 0; /* 无外边距 */
    padding: 0; /* 无内边距 */
    border: none; /* 无边框 */
}

/* 热门球队小部件图标 */
.popular-teams-widget .widget-icon {
    color: var(--accent-red); /* 图标颜色 */
}

/* 小部件更多按钮 — shared with .view-all-link on Analysis pages
   [中文] 小部件更多按钮 — 与 Analysis 页 .view-all-link 共享样式 */
.widget-more-btn,
.view-all-link {
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 4px; /* 元素间距 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 500; /* 粗细 */
    color: var(--text-muted); /* 文字颜色 */
    text-decoration: none; /* 无下划线 */
    padding: 4px 8px; /* 内边距 */
    border-radius: var(--radius-sm); /* 圆角 */
    background-color: var(--bg-tertiary); /* 背景色 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

/* 小部件更多按钮悬停状态 — shared with .view-all-link
   [中文] 小部件更多按钮悬停状态 — 与 .view-all-link 共享 */
.widget-more-btn:hover,
.view-all-link:hover {
    color: var(--text-primary); /* 悬停文字颜色 */
    background-color: var(--accent-red); /* 悬停背景色 */
}

/* 热门球队列表 */
.popular-teams-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 8px; /* 元素间距 */
}

/* 热门球队列表头行 */
.popular-teams-header-row {
    display: grid; /* 网格布局 */
    grid-template-columns: 1fr 36px 48px 28px 48px; /* 列宽：球队列弹性宽度，联赛列仅logo */
    gap: 6px; /* 列间距 */
    align-items: center; /* 垂直居中，与数据行一致 */
    padding: 0 12px 6px 12px; /* 内边距，左右与数据行一致 */
    font-size: 0.6875rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    text-transform: uppercase; /* 大写 */
    letter-spacing: 0.3px; /* 字间距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* 表头 - 球队列/联赛列左对齐 */
.popular-teams-header-row .col-team-header,
.popular-teams-header-row .col-league-header {
    justify-self: start; /* grid item 左对齐，参考 Standings */
    text-align: left; /* 文字左对齐 */
}

/* 表头 - 数值列居中对齐 */
.popular-teams-header-row .col-rank-header,
.popular-teams-header-row .col-points-header,
.popular-teams-header-row .col-winrate-header {
    justify-self: center; /* grid item 居中对齐，参考 Standings */
    text-align: center; /* 文字居中对齐 */
}

/* 热门球队项 - 单行 grid 布局，列宽与表头一致 */
.popular-team-item {
    display: grid; /* 网格布局 */
    grid-template-columns: 1fr 36px 48px 28px 48px; /* 列宽：球队列弹性宽度，联赛列仅logo，与表头一致 */
    gap: 6px; /* 列间距 */
    align-items: center; /* 垂直居中 */
    background-color: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    padding: 8px 12px; /* 内边距，减小行高 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

/* 热门球队项悬停状态 */
.popular-team-item:hover {
    background-color: var(--bg-hover); /* 悬停背景色 */
}

/* 数据列 - 数值列居中对齐 */
.popular-team-item .col-rank,
.popular-team-item .col-points,
.popular-team-item .col-winrate {
    justify-self: center; /* grid item 居中对齐，参考 Standings */
    text-align: center; /* 文字居中对齐 */
}

/* 球队列 - 固定宽度下列内容溢出隐藏，防止右侧列错位 */
.popular-team-item .col-team {
    min-width: 0; /* 允许内容缩小 */
    overflow: hidden; /* 超出隐藏 */
}

/* 联赛列 - 仅显示 logo,居中对齐
   [中文] 联赛列仅显示 logo,居中对齐 */
.popular-team-item .col-league {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    min-width: 0; /* 允许子元素省略 */
    justify-self: center; /* grid item 居中对齐 */
}

/* 联赛列表头居中对齐
   [中文] 联赛列表头居中对齐 */
.popular-teams-header-row .col-league-header {
    justify-self: center; /* 居中对齐 */
    text-align: center; /* 文字居中 */
}

/* 联赛名称文字 */
.popular-team-item .col-league .league-name-text {
    font-size: 0.6875rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    white-space: nowrap; /* 不换行 */
    overflow: hidden; /* 溢出隐藏 */
    text-overflow: ellipsis; /* 省略号 */
}

/* 球队主要行 */
.popular-team-item .team-main-row {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    margin-bottom: 8px; /* 底部外边距 */
}

/* 球队左侧信息 */
.popular-team-item .team-left {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    flex: 1; /* 占据剩余空间 */
    min-width: 0; /* 最小宽度 */
}

/* 球队右侧信息 */
.popular-team-item .team-right {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    flex-shrink: 0; /* 不允许缩小 */
}

/* 球队链接 */
.popular-team-item .team-link {
    display: flex; /* 弹性布局，允许 overflow */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    text-decoration: none; /* 无下划线 */
    color: inherit; /* 继承颜色 */
    line-height: 1; /* 行高 */
    overflow: hidden; /* 超出隐藏 */
    min-width: 0; /* 允许子元素缩小 */
}

/* 球队Logo */
.popular-team-item .team-logo {
    width: 18px; /* 宽度 */
    height: 18px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    padding: 1px; /* 内边距 */
    flex-shrink: 0; /* 不允许缩小 */
}

/* 球队名称 */
.popular-team-item .team-name {
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    font-size: 0.8125rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    white-space: nowrap; /* 不换行 */
    overflow: hidden; /* 超出隐藏 */
    text-overflow: ellipsis; /* 省略号 */
    flex: 1; /* 占满剩余空间，允许缩小 */
    min-width: 0; /* 允许缩小 */
    line-height: 1; /* 行高 */
}

/* 球队国家旗帜 */
.popular-team-item .team-country-flag {
    height: 14px; /* 高度 */
    object-fit: cover; /* 填充方式 */
    flex-shrink: 0; /* 不允许缩小 */
}

/* 球队分隔符 */
.popular-team-item .team-divider {
    color: var(--text-muted); /* 文字颜色 */
    font-size: 0.75rem; /* 字体大小 */
    margin: 0 4px; /* 左右外边距 */
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    height: 100%; /* 高度100% */
}

/* 球队粉丝数 */
.popular-team-item .team-followers {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    white-space: nowrap; /* 不换行 */
}

/* 球队下一场比赛 */
.popular-team-item .team-next-match {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    padding-top: 8px; /* 顶部内边距 */
    border-top: 1px solid var(--border-color); /* 顶部边框 */
}

/* 比赛左侧信息 */
.popular-team-item .match-left {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
}

/* 比赛右侧信息 */
.popular-team-item .match-right {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
}

/* 下一场比赛标签 */
.popular-team-item .next-match-label {
    display: inline-block; /* 行内块显示 */
    font-size: 0.6875rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    background-color: var(--accent-red); /* 背景色 */
    padding: 2px 6px; /* 内边距 */
    border-radius: var(--radius-sm); /* 圆角 */
    text-transform: uppercase; /* 大写 */
    letter-spacing: 0.5px; /* 字间距 */
}

/* 对手Logo */
.popular-team-item .opponent-logo {
    width: 20px; /* 宽度 */
    height: 20px; /* 高度 */
    padding: 1px; /* 内边距 */
}

/* 对手名称 */
.popular-team-item .opponent-name {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-secondary); /* 文字颜色 */
}

/* 比赛分隔符 */
.popular-team-item .match-divider {
    color: var(--text-muted); /* 文字颜色 */
    font-size: 0.75rem; /* 字体大小 */
}

/* 比赛时间 */
.popular-team-item .match-time {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-secondary); /* 文字颜色 */
    font-weight: 500; /* 粗细 */
}

/* =====================================================
   Player Rankings Widget
   球员榜单模块
===================================================== */
/* 球员榜单小部件容器 */
.player-rankings-widget {
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 16px; /* 内边距 */
}

/* 球员榜单小部件头部 */
.player-rankings-widget .widget-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    margin-bottom: 16px; /* 底部外边距 */
    padding-bottom: 12px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* 球员榜单小部件标题 */
.player-rankings-widget .widget-title {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin: 0; /* 无外边距 */
    padding: 0; /* 无内边距 */
    border: none; /* 无边框 */
}

/* 球员榜单小部件图标 */
.player-rankings-widget .widget-icon {
    color: var(--accent-red); /* 图标颜色 */
}

/* =====================================================
   Trending Leagues Widget
   热门赛事模块
===================================================== */
/* 热门赛事小部件容器 */
.trending-leagues-widget {
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 16px; /* 内边距 */
}

/* 热门赛事小部件头部 */
.trending-leagues-widget .widget-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    margin-bottom: 16px; /* 底部外边距 */
    padding-bottom: 12px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* 热门赛事小部件标题 */
.trending-leagues-widget .widget-title {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin: 0; /* 无外边距 */
    padding: 0; /* 无内边距 */
    border: none; /* 无边框 */
}

/* 热门赛事小部件图标 */
.trending-leagues-widget .widget-icon {
    color: var(--accent-red); /* 图标颜色 */
}

/* 热门赛事内容区域 */
.trending-leagues-content {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
}

/* 热门赛事列表头部 */
.trending-leagues-header {
    display: grid; /* 网格布局 */
    grid-template-columns: 30px 1fr 45px; /* 网格列宽 */
    gap: 6px; /* 列间距 */
    padding: 8px 10px; /* 内边距 */
    background: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    text-transform: uppercase; /* 大写 */
    letter-spacing: 0.5px; /* 字间距 */
}

/* 热门赛事列表 */
.trending-leagues-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 4px; /* 元素间距 */
    margin-top: 8px; /* 顶部外边距 */
}

/* 热门赛事项 */
.trending-league-item {
    display: grid; /* 网格布局 */
    grid-template-columns: 30px 1fr 45px; /* 网格列宽 */
    gap: 6px; /* 列间距 */
    align-items: center; /* 垂直居中 */
    padding: 10px; /* 内边距 */
    background: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    text-decoration: none; /* 无下划线 */
    transition: background var(--transition-fast); /* 过渡动画 */
    min-height: 44px; /* 最小高度 */
}

/* 热门赛事项悬停状态 */
.trending-league-item:hover {
    background: var(--bg-hover); /* 悬停背景色 */
}

/* 热门赛事小部件排名列 */
.trending-leagues-widget .col-rank {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
}

/* 排名徽章 */
.trending-leagues-widget .rank-badge {
    width: 24px; /* 宽度 */
    height: 24px; /* 高度 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    border-radius: 50%; /* 圆形 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    background-color: var(--bg-hover); /* 背景色 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 第一名排名徽章 */
.trending-leagues-widget .rank-badge.rank-1 {
    background-color: #ffd700; /* 金色背景 */
    color: #000; /* 黑色文字 */
}

/* 第二名排名徽章 */
.trending-leagues-widget .rank-badge.rank-2 {
    background-color: #c0c0c0; /* 银色背景 */
    color: #000; /* 黑色文字 */
}

/* 第三名排名徽章 */
.trending-leagues-widget .rank-badge.rank-3 {
    background-color: #cd7f32; /* 铜色背景 */
    color: #fff; /* 白色文字 */
}

/* 其他排名徽章 */
.trending-leagues-widget .rank-badge.rank-other {
    background-color: var(--bg-hover); /* 背景色 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 热门赛事项联赛列 */
.trending-league-item .col-league {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    font-size: 0.8125rem; /* 字体大小 */
    font-weight: 500; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    line-height: 1.2; /* 行高 */
}

/* 联赛Logo */
.trending-league-item .league-logo {
    width: 36px; /* 宽度 */
    height: 36px; /* 高度 */
    padding: 3px; /* 内边距 */
    flex-shrink: 0; /* 不允许缩小 */
}

/* 联赛名称 */
.trending-league-item .league-name {
    white-space: normal; /* 正常换行 */
    overflow: hidden; /* 隐藏溢出 */
    text-overflow: ellipsis; /* 省略号 */
}

/* 热门赛事项人气列 */
.trending-league-item .col-popularity {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 400; /* 粗细 */
    color: var(--text-secondary); /* 文字颜色 */
    text-align: right; /* 文字右对齐 */
}

/* 移动端响应式 - 热门赛事小部件 */
@media (max-width: 768px) {
    /* 热门赛事小部件 */
    .trending-leagues-widget {
        padding: 12px; /* 内边距 */
    }

    /* 热门赛事列表头部 */
    .trending-leagues-header {
        grid-template-columns: 28px 1fr 40px; /* 网格列宽 */
        gap: 4px; /* 列间距 */
        font-size: 0.65rem; /* 字体大小 */
    }

    /* 热门赛事项 */
    .trending-league-item {
        grid-template-columns: 28px 1fr 40px; /* 网格列宽 */
        gap: 4px; /* 列间距 */
        padding: 8px; /* 内边距 */
        min-height: 40px; /* 最小高度 */
    }

    /* 联赛Logo */
    .trending-league-item .league-logo {
        width: 32px; /* 宽度 */
        height: 32px; /* 高度 */
    }

    /* 热门赛事项联赛列 */
    .trending-league-item .col-league {
        font-size: 0.75rem; /* 字体大小 */
    }

    /* 热门赛事项人气列 */
    .trending-league-item .col-popularity {
        font-size: 0.75rem; /* 字体大小 */
    }
}

/* =====================================================
   Leagues Page Layout
   联赛页面布局
===================================================== */
/* 联赛页面布局容器 */
.fb-leagues-layout {
    display: grid; /* 网格布局 */
    grid-template-columns: 70fr 30fr; /* 70:30 比例，fr 单位自动扣除 gap，防止右栏溢出容器 */
    gap: 24px; /* 列间距 */
}

/* 平板端响应式 - 联赛页面布局 */
@media (max-width: 1024px) {
    /* 联赛页面布局容器: minmax(0,1fr) 允许收缩, 防止内容撑破手机布局 */
    /* [中文] 单列轨道允许收缩, 防御性加固 */
    .fb-leagues-layout {
        grid-template-columns: minmax(0, 1fr); /* 单列布局, 允许收缩 */
    }

    /* 联赛页面左侧区域 */
    .fb-leagues-left {
        order: 1; /* 排序顺序 */
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }

    /* 联赛页面右侧区域 */
    .fb-leagues-right {
        position: static; /* 静态定位 */
        order: 2; /* 排序顺序 */
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }
}

/* 联赛页面左侧区域 */
.fb-leagues-left {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
}

/* 联赛页面右侧区域 */
.fb-leagues-right {
    position: sticky; /* 粘性定位 */
    top: 100px; /* 距离顶部 */
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 16px; /* 元素间距 */
}

/* Leagues page right column: reset .widget margin-bottom to avoid
   stacking with flex gap (which caused 36px spacing instead of 16px).
   [中文] Leagues 页面右栏：重置 .widget 的 margin-bottom，
   [中文] 避免与 flex gap 叠加导致间距过大（36px → 16px） */
.fb-leagues-right .widget {
    margin-bottom: 0;
}

/* 联赛页面右侧小部件占位符 */
.fb-leagues-right .widget-placeholder {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 48px 24px; /* 内边距 */
    text-align: center; /* 文字居中 */
    color: var(--text-muted); /* 文字颜色 */
    border: 2px dashed var(--border-color); /* 虚线边框 */
}

/* =====================================================
   Teams Page Layout
   球队页面布局
===================================================== */
/* 球队页面布局容器 */
.fb-teams-layout {
    display: grid; /* 网格布局 */
    grid-template-columns: 70fr 30fr; /* 70:30 比例，fr 单位自动扣除 gap，防止右栏溢出容器 */
    gap: 24px; /* 列间距 */
}

/* 平板端响应式 - 球队页面布局 */
@media (max-width: 1024px) {
    /* 球队页面布局容器: minmax(0,1fr) 允许收缩, 防止内容撑破手机布局 */
    /* [中文] 单列轨道允许收缩, 防御性加固 */
    .fb-teams-layout {
        grid-template-columns: minmax(0, 1fr); /* 单列布局, 允许收缩 */
    }

    /* 球队页面左侧区域 */
    .fb-teams-left {
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }

    /* 球队页面右侧区域 */
    .fb-teams-right {
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }
}

/* 球队页面左侧区域 */
.fb-teams-left {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 24px; /* 元素间距 */
}

/* 球队页面右侧区域 */
.fb-teams-right {
    position: sticky; /* 粘性定位 */
    top: 100px; /* 距离顶部 */
}

/* 占位符小部件 */
.placeholder-widget {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 24px; /* 内边距 */
    text-align: center; /* 文字居中 */
}

/* 占位符内容 */
.placeholder-content {
    padding: 24px 0; /* 上下内边距 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 占位符提示 */
.placeholder-hint {
    font-size: 0.875rem; /* 字体大小 */
    opacity: 0.7; /* 透明度 */
}

/* =====================================================
   Popular Teams Section
   热门球队模块
===================================================== */
/* 热门球队区域容器 */
.popular-teams-section {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 20px; /* 内边距 */
}

/* 热门球队网格布局 */
.popular-teams-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(3, 1fr); /* 三列等宽布局 */
    gap: 12px; /* 列间距 */
}

/* 移动端响应式 - 平板端 */
@media (max-width: 768px) {
    .popular-teams-grid {
        grid-template-columns: repeat(2, 1fr); /* 两列布局 */
    }
}

/* 移动端响应式 - 小屏幕 */
@media (max-width: 480px) {
    .popular-teams-grid {
        grid-template-columns: 1fr; /* 单列布局 */
    }
}

/* 热门球队卡片 */
.popular-team-card {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    background: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    padding: 12px; /* 内边距 */
    text-decoration: none; /* 无下划线 */
    color: var(--text-primary); /* 文字颜色 */
    transition: all var(--transition-fast); /* 过渡动画 */
    position: relative; /* 相对定位 */
}

/* 热门球队卡片悬停状态 */
.popular-team-card:hover {
    background: var(--border-color); /* 悬停背景色 */
}

/* 球队排名徽章 */
.team-rank {
    position: absolute; /* 绝对定位 */
    top: -8px; /* 距顶部 */
    right: -8px; /* 距右侧 */
    width: 24px; /* 宽度 */
    height: 24px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: bold; /* 粗细 */
    color: #fff; /* 文字颜色 */
}

/* 第一名排名徽章 */
.team-rank.rank-1 {
    background: var(--accent-yellow); /* 黄色背景 */
}

/* 第二名排名徽章 */
.team-rank.rank-2 {
    background: var(--text-muted); /* 灰色背景 */
}

/* 第三名排名徽章 */
.team-rank.rank-3 {
    background: #cd7f32; /* 铜色背景 */
}

/* 其他排名徽章 */
.team-rank.rank-other {
    background: var(--bg-primary); /* 背景色 */
    color: var(--text-muted); /* 文字颜色 */
    border: 1px solid var(--border-color); /* 边框 */
}

/* 球队左侧信息 */
.team-left {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    margin-bottom: 10px; /* 底部外边距 */
}

/* 球队Logo包装器 */
.team-logo-wrapper {
    width: 36px; /* 宽度 */
    height: 36px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    overflow: hidden; /* 隐藏溢出 */
    background: var(--bg-primary); /* 背景色 */
    flex-shrink: 0; /* 不允许缩小 */
}

/* 球队Logo */
.team-logo {
    width: 100%; /* 宽度100% */
    height: 100%; /* 高度100% */
    object-fit: contain; /* 保持比例 */
}

/* 球队名称 */
.team-name {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    margin: 0; /* 无外边距 */
    white-space: nowrap; /* 不换行 */
    overflow: hidden; /* 隐藏溢出 */
    text-overflow: ellipsis; /* 省略号 */
}

/* 球队右侧信息 */
.team-right {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 4px; /* 元素间距 */
}

/* 球队详情行 */
.team-detail {
    display: flex; /* 弹性布局 */
    justify-content: space-between; /* 两端对齐 */
    align-items: center; /* 垂直居中 */
    font-size: 0.75rem; /* 字体大小 */
}

/* 球队详情标签 */
.team-detail .detail-label {
    color: var(--text-dark); /* 文字颜色 */
}

/* 球队详情数值 */
.team-detail .detail-value {
    color: var(--text-muted); /* 文字颜色 */
}

/* 粉丝数量 */
.followers-count {
    font-size: 0.7rem; /* 字体大小 */
}

/* 球队列表区域 */
.teams-list-section {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    padding: 20px; /* 内边距 */
}

/* =====================================================
   Team Detail Page Layout
   球队详情页面布局
===================================================== */

/* 球队详情页面布局容器 */
.fb-team-detail-layout {
    display: grid; /* 网格布局 */
    grid-template-columns: 70fr 30fr; /* 70:30 比例，fr 单位自动扣除 gap，防止右栏溢出容器 */
    gap: 24px; /* 列间距 */
}

/* 球队详情页面左侧区域 */
.fb-team-detail-left {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 0; /* [V6.0.1] 改为 0，与 .fb-leagues-left 一致，模块间距由 .detail-section 的 margin-bottom(16px) 控制 */
}

/* 球队详情页面右侧区域 */
.fb-team-detail-right {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 16px; /* 元素间距 */
}

/* 球队详情页面右侧小部件 */
.fb-team-detail-right .widget {
    margin-bottom: 0; /* 无底部外边距 */
}

/* 平板端响应式 - 球队详情页面布局 */
@media (max-width: 992px) {
    /* 球队详情页面布局容器
       minmax(0,1fr): 轨道允许收缩到视口内, 防止内容 min-content
       (宽表格/长文本) 撑破手机布局 — 与球员详情页同款加固 */
    /* [中文] 单列轨道允许收缩, 防御性加固 */
    .fb-team-detail-layout {
        grid-template-columns: minmax(0, 1fr); /* 单列布局, 允许收缩 */
    }

    /* 球队详情页面左侧区域 */
    .fb-team-detail-left {
        order: 1; /* 排序顺序 */
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }

    /* 球队详情页面右侧区域 */
    .fb-team-detail-right {
        order: 2; /* 排序顺序 */
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }
}

/* 球队成就区域 */
.team-achievements-section {
}

/* 球队成就区域标题图标 */
.team-achievements-section .section-title .dashicons {
    display: inline-flex !important; /* 行内弹性布局 */
    align-items: center !important; /* 垂直居中 */
    justify-content: center !important; /* 水平居中 */
    color: var(--accent-red) !important; /* 图标颜色 */
    font-size: 1.125rem !important; /* 图标大小 */
    width: 1.125rem !important; /* 宽度 */
    height: 1.125rem !important; /* 高度 */
    line-height: 1 !important; /* 行高 */
}

/* 成就概览容器 */
.achievements-summary {
    display: flex; /* 弹性布局 */
    gap: 16px; /* 元素间距 */
    margin-bottom: 20px; /* 底部外边距 */
}

/* 成就概览卡片 */
.achievement-summary-card {
    flex: 1; /* 占据剩余空间 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 16px; /* 元素间距 */
    padding: 20px; /* 内边距 */
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    border: 1px solid var(--border-color); /* 边框 */
}

/* 冠军成就卡片 - 金色渐变背景 */
.achievement-summary-card.champion {
    border-left: 3px solid #ffd700; /* 金色左侧边框 */
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.08), var(--bg-secondary)); /* 金色渐变背景 */
}

/* 亚军成就卡片 - 银色渐变背景 */
.achievement-summary-card.runner-up {
    border-left: 3px solid #c0c0c0; /* 银色左侧边框 */
    background: linear-gradient(135deg, rgba(192, 192, 192, 0.08), var(--bg-secondary)); /* 银色渐变背景 */
}

/* 冠军汇总卡片图标 - 金色圆形底色 */
.achievement-summary-card.champion .achievement-icon {
    color: #ffd700; /* 金色 */
    background: rgba(255, 215, 0, 0.12); /* 金色半透明底色 */
    border-radius: 50%; /* 圆形 */
}

/* 亚军汇总卡片图标 - 银色圆形底色 */
.achievement-summary-card.runner-up .achievement-icon {
    color: #c0c0c0; /* 银色 */
    background: rgba(192, 192, 192, 0.12); /* 银色半透明底色 */
    border-radius: 50%; /* 圆形 */
}

/* 冠军汇总数值 - 金色 */
.achievement-summary-card.champion .achievement-value {
    color: #ffd700; /* 金色 */
}

/* 亚军汇总数值 - 银色 */
.achievement-summary-card.runner-up .achievement-value {
    color: #c0c0c0; /* 银色 */
}

/* 成就图标 */
.achievement-icon {
    font-size: 2.5rem; /* 图标大小 */
    width: 2.5rem; /* 宽度（适配 dashicons） */
    height: 2.5rem; /* 高度（适配 dashicons） */
    line-height: 1; /* 行高 */
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
}

/* 成就信息容器 */
.achievement-info {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
}

/* 成就数值 */
.achievement-value {
    font-size: 2rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    line-height: 1; /* 行高 */
}

/* 成就标签 */
.achievement-label {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    text-transform: uppercase; /* 大写 */
    letter-spacing: 0.5px; /* 字间距 */
}

/* 成就网格布局 */
.achievements-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* 自适应列数 */
    gap: 16px; /* 列间距 */
}

/* 成就卡片 */
.achievement-card {
    background: var(--bg-secondary); /* 背景色 */
    padding: 16px; /* 内边距 */
    border-radius: var(--radius-md); /* 圆角 */
    border: 1px solid var(--border-color); /* 边框 */
    overflow: hidden; /* 防止内容溢出 */
    transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease; /* 过渡动画 */
}

/* 成就卡片悬停效果 */
.achievement-card:hover {
    border-color: var(--border-light); /* 边框变亮 */
    background: var(--bg-tertiary); /* 背景变亮 */
    transform: translateY(-2px); /* 轻微上移 */
}

/* 有冠军的联赛卡片 - 金色左边框及底色 */
.achievement-card.has-titles {
    border-left: 3px solid #ffd700; /* 金色左侧边框 */
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.05), var(--bg-secondary)); /* 金色渐变底色 */
}

/* 有亚军的联赛卡片 - 银色左边框及底色 */
.achievement-card.has-runners {
    border-left: 3px solid #c0c0c0; /* 银色左侧边框 */
    background: linear-gradient(135deg, rgba(192, 192, 192, 0.05), var(--bg-secondary)); /* 银色渐变底色 */
}

/* 有冠军的联赛卡片图标 - 金色圆形底色 */
.achievement-card.has-titles .achievement-badge {
    color: #ffd700; /* 金色 */
    background: rgba(255, 215, 0, 0.15); /* 金色半透明底色 */
    border-radius: 50%; /* 圆形 */
}

/* 有亚军的联赛卡片图标 - 银色圆形底色 */
.achievement-card.has-runners .achievement-badge {
    color: #c0c0c0; /* 银色 */
    background: rgba(192, 192, 192, 0.15); /* 银色半透明底色 */
    border-radius: 50%; /* 圆形 */
}

/* 无成绩的联赛卡片图标 - 蓝色圆形底色 */
.achievement-card.no-achievement .achievement-badge {
    color: var(--accent-blue); /* 蓝色 */
    background: rgba(30, 136, 229, 0.15); /* 蓝色半透明底色 */
    border-radius: 50%; /* 圆形 */
}

/* 成就卡片头部 */
.achievement-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    margin-bottom: 12px; /* 底部外边距 */
    padding-bottom: 8px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
    min-width: 0; /* 防止 flex 子元素溢出 */
}

.achievement-team {
    margin-bottom: 8px; /* 底部外边距 */
    font-size: 0.85rem; /* 字体大小 */
    color: var(--text-secondary); /* 次要文字颜色 */
}

/* 成就徽章 */
.achievement-badge {
    font-size: 1.25rem; /* 徽章大小 */
    width: 1.25rem; /* 宽度（适配 dashicons） */
    height: 1.25rem; /* 高度（适配 dashicons） */
    line-height: 1; /* 行高 */
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
}

/* 成就分类 */
.achievement-category {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    overflow: hidden; /* 防止长联赛名溢出 */
    text-overflow: ellipsis; /* 溢出时显示省略号 */
    white-space: nowrap; /* 不换行 */
    flex: 1; /* 占据剩余空间 */
    min-width: 0; /* 允许收缩 */
}

/* 成就统计容器 */
.achievement-stats {
    display: flex; /* 弹性布局 */
    gap: 16px; /* 元素间距 */
    flex-wrap: wrap; /* 空间不足时换行 */
}

/* 成就统计项 */
.achievement-stats .stat-item {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    min-width: 0; /* 允许收缩 */
}

/* 成就统计数值 */
.achievement-stats .stat-value {
    font-size: 1.5rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
}

/* 胜利统计数值 */
.achievement-stats .stat-item.win .stat-value {
    color: var(--accent-green); /* 绿色文字 */
}

/* 有冠军卡片的胜利数值 - 金色药丸 */
.achievement-card.has-titles .stat-item.win .stat-value {
    color: #ffd700; /* 金色 */
    background: rgba(255, 215, 0, 0.12); /* 金色半透明底色 */
    padding: 2px 8px; /* 内边距 */
    border-radius: var(--radius-sm); /* 小圆角 */
    display: inline-block; /* 行内块级 */
    min-width: 1.5em; /* 最小宽度 */
    text-align: center; /* 文字居中 */
}

/* 有亚军卡片的胜利数值 - 银色药丸 */
.achievement-card.has-runners .stat-item.win .stat-value {
    color: #c0c0c0; /* 银色 */
    background: rgba(192, 192, 192, 0.12); /* 银色半透明底色 */
    padding: 2px 8px; /* 内边距 */
    border-radius: var(--radius-sm); /* 小圆角 */
    display: inline-block; /* 行内块级 */
    min-width: 1.5em; /* 最小宽度 */
    text-align: center; /* 文字居中 */
}

/* 成就统计标签 */
.achievement-stats .stat-label {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 球员成就额外样式 */
.player-achievements-section .section-subtitle {
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 16px; /* 底部外边距 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
}

/* 球员成就个人成就副标题 */
.player-achievements-section .section-subtitle.individual {
    margin: 32px 0 16px 0; /* 外边距 */
}

/* 球员比赛卡片样式 */
.player-matches-section .match-card-wrapper {
    position: relative; /* 相对定位 */
    margin-bottom: 2px; /* 底部外边距 */
}

/* 球员比赛卡片 */
.player-matches-section .match-card {
    display: flex !important; /* 弹性布局 */
    align-items: center !important; /* 垂直居中 */
    justify-content: flex-start !important; /* 左对齐 */
    gap: 6px !important; /* 元素间距 */
    flex-wrap: nowrap !important; /* 不换行 */
    padding: 6px 16px !important; /* 内边距 */
    background-color: var(--bg-secondary) !important; /* 背景色 */
    border-radius: var(--radius-md) !important; /* 圆角 */
    border: 1px solid var(--border-color) !important; /* 边框 */
    text-decoration: none !important; /* 无下划线 */
    transition: all var(--transition-fast) !important; /* 过渡动画 */
    height: 38px !important; /* 高度 */
}

/* 球员比赛卡片悬停状态 */
.player-matches-section .match-card:hover {
    background-color: var(--bg-hover) !important; /* 悬停背景色 */
}

/* 球员比赛卡片直播状态 */
.player-matches-section .match-card.is-live {
    border-left: 3px solid var(--accent-red) !important; /* 红色左侧边框 */
}

/* 比赛时间 */
.player-matches-section .match-card-time {
    font-size: 0.75rem !important; /* 字体大小 */
    font-weight: 600 !important; /* 粗细 */
    color: var(--text-primary) !important; /* 文字颜色 */
    flex-shrink: 0 !important; /* 不允许缩小 */
    display: flex !important; /* 弹性布局 */
    align-items: center !important; /* 垂直居中 */
    line-height: 18px !important; /* 行高 */
}

/* 比赛状态 */
.player-matches-section .match-card-status {
    font-size: 0.625rem !important; /* 字体大小 */
    font-weight: 600 !important; /* 粗细 */
    padding: 2px 6px !important; /* 内边距 */
    border-radius: 3px !important; /* 圆角 */
    display: inline-flex !important; /* 行内弹性布局 */
    align-items: center !important; /* 垂直居中 */
    gap: 3px !important; /* 元素间距 */
    flex-shrink: 0 !important; /* 不允许缩小 */
    line-height: 18px !important; /* 行高 */
}

/* 直播状态 */
.player-matches-section .match-card-status.live {
    background-color: rgba(220, 38, 38, 0.15) !important; /* 红色半透明背景 */
    color: var(--accent-red) !important; /* 红色文字 */
}

/* 已结束状态 */
.player-matches-section .match-card-status.finished {
    background-color: rgba(34, 197, 94, 0.15) !important; /* 绿色半透明背景 */
    color: var(--accent-green) !important; /* 绿色文字 */
}

/* 未开始状态 */
.player-matches-section .match-card-status.upcoming {
    background-color: var(--bg-tertiary) !important; /* 灰色背景 */
    color: var(--text-muted) !important; /* 灰色文字 */
}

/* 直播状态圆点 */
.player-matches-section .match-card-status .live-dot {
    width: 5px; /* 宽度 */
    height: 5px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    background-color: currentColor; /* 继承颜色 */
    animation: pulse 1.5s infinite; /* 脉冲动画 */
}

/* 球队名称 */
.player-matches-section .match-card-team {
    font-size: 0.75rem !important; /* 字体大小 */
    font-weight: 500 !important; /* 粗细 */
    color: var(--text-primary) !important; /* 文字颜色 */
    flex: 1 !important; /* 占据剩余空间 */
    min-width: 0 !important; /* 最小宽度 */
    white-space: nowrap !important; /* 不换行 */
    overflow: hidden !important; /* 隐藏溢出 */
    text-overflow: ellipsis !important; /* 省略号 */
    display: flex !important; /* 弹性布局 */
    align-items: center !important; /* 垂直居中 */
    line-height: 18px !important; /* 行高 */
}

/* 主队名称 */
.player-matches-section .match-card-team.home {
    text-align: right !important; /* 右对齐 */
    justify-content: flex-end !important; /* 右对齐 */
}

/* 客队名称 */
.player-matches-section .match-card-team.away {
    text-align: left !important; /* 左对齐 */
    justify-content: flex-start !important; /* 左对齐 */
}

/* 球队Logo */
.player-matches-section .match-card-logo {
    width: 28px !important; /* 宽度 */
    height: 28px !important; /* 高度 */
    object-fit: contain !important; /* 保持比例 */
    flex-shrink: 0 !important; /* 不允许缩小 */
}

/* 比分 */
.player-matches-section .match-card-score-home,
.player-matches-section .match-card-score-away {
    font-size: 0.8125rem !important; /* 字体大小 */
    font-weight: 700 !important; /* 粗细 */
    color: var(--text-primary) !important; /* 文字颜色 */
    min-width: 18px !important; /* 最小宽度 */
    text-align: center !important; /* 文字居中 */
    line-height: 18px !important; /* 行高 */
}

/* 比分分隔符 */
.player-matches-section .match-card-score-sep {
    font-size: 0.75rem !important; /* 字体大小 */
    color: var(--text-muted) !important; /* 文字颜色 */
    margin: 0 2px !important; /* 左右外边距 */
    line-height: 18px !important; /* 行高 */
}

/* 比赛徽章 */
.player-matches-section .match-card-badge {
    font-size: 0.625rem !important; /* 字体大小 */
    font-weight: 600 !important; /* 粗细 */
    padding: 2px 6px !important; /* 内边距 */
    border-radius: 3px !important; /* 圆角 */
    flex-shrink: 0 !important; /* 不允许缩小 */
    line-height: 18px !important; /* 行高 */
}

/* 直播徽章 */
.player-matches-section .match-card-badge.badge-live {
    background-color: rgba(220, 38, 38, 0.15) !important; /* 红色半透明背景 */
    color: var(--accent-red) !important; /* 红色文字 */
}

/* 已结束徽章 */
.player-matches-section .match-card-badge.badge-finished {
    background-color: rgba(34, 197, 94, 0.15) !important; /* 绿色半透明背景 */
    color: var(--accent-green) !important; /* 绿色文字 */
}

/* 徽章占位符 */
.player-matches-section .match-card-badge.match-card-badge-placeholder {
    visibility: hidden !important; /* 隐藏 */
}

/* 赔率 */
.player-matches-section .match-card-odds {
    padding: 2px 5px !important; /* 内边距 */
    background-color: var(--bg-tertiary) !important; /* 背景色 */
    border-radius: 3px !important; /* 圆角 */
    font-size: 0.625rem !important; /* 字体大小 */
    font-weight: 600 !important; /* 粗细 */
    color: var(--text-primary) !important; /* 文字颜色 */
    min-width: 32px !important; /* 最小宽度 */
    text-align: center !important; /* 文字居中 */
    flex-shrink: 0 !important; /* 不允许缩小 */
    display: flex !important; /* 弹性布局 */
    align-items: center !important; /* 垂直居中 */
    justify-content: center !important; /* 水平居中 */
    line-height: 18px !important; /* 行高 */
}

/* 平局赔率 */
.player-matches-section .match-card-odds.match-card-odds-x {
    background-color: rgba(251, 140, 0, 0.2) !important; /* 橙色半透明背景 */
    color: var(--accent-orange) !important; /* 橙色文字 */
}

/* 赔率占位符 */
.player-matches-section .match-card-odds.match-card-odds-placeholder {
    background-color: transparent !important; /* 透明背景 */
    color: transparent !important; /* 透明文字 */
}

/* 球员统计覆盖层 */
.player-matches-section .player-match-stats {
    position: absolute; /* 绝对定位 */
    right: 16px; /* 距右侧 */
    top: 50%; /* 顶部位置 */
    transform: translateY(-50%); /* 垂直居中 */
    display: flex; /* 弹性布局 */
    gap: 12px; /* 元素间距 */
    opacity: 0; /* 初始透明 */
    transition: opacity 0.2s ease; /* 过渡动画 */
}

/* 球员比赛卡片悬停显示统计 */
.player-matches-section .match-card:hover .player-match-stats {
    opacity: 1; /* 完全显示 */
}

/* 球员统计项 */
.player-matches-section .player-stat-item {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 4px; /* 元素间距 */
    font-size: 0.75rem; /* 字体大小 */
    padding: 4px 8px; /* 内边距 */
    border-radius: 4px; /* 圆角 */
    background: var(--bg-secondary); /* 背景色 */
    color: var(--text-secondary); /* 文字颜色 */
}

/* 进球统计项 */
.player-matches-section .player-stat-item.goals {
    background: rgba(46, 125, 50, 0.15); /* 绿色半透明背景 */
    color: var(--color-green); /* 绿色文字 */
}

/* 黄牌统计项 */
.player-matches-section .player-stat-item.yellow {
    background: rgba(253, 216, 53, 0.15); /* 黄色半透明背景 */
    color: #fdd835; /* 黄色文字 */
}

/* 出场时间统计项 */
.player-matches-section .player-stat-item.mins {
    background: rgba(33, 150, 243, 0.15); /* 蓝色半透明背景 */
    color: var(--color-blue); /* 蓝色文字 */
}

/* =====================================================
   Player Recent Form Module — 球员近期战绩模块
   Reuses: .form-badges/.form-badge/.form-w/.form-d/.form-l (line ~11310)
           .related-match-item/.related-match-left/.related-match-right etc. (line ~12988)
   ===================================================== */

/* 战绩摘要条容器 */
.player-form-summary {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    gap: 12px; /* 元素间距 */
    padding: 10px 12px; /* 内边距 */
    margin-bottom: 10px; /* 底部外边距 */
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    border: 1px solid var(--border-color); /* 边框 */
}

/* 统计数据容器 */
.form-stats {
    display: flex; /* 弹性布局 */
    gap: 16px; /* 元素间距 */
}

/* 单个统计项 */
.form-stat {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
}

/* 统计数值 */
.form-stat-value {
    font-size: 1rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    line-height: 1.2; /* 行高 */
}

/* 统计标签 */
.form-stat-label {
    font-size: 0.65rem; /* 字体大小 */
    color: var(--text-muted); /* 暗淡文字颜色 */
    margin-top: 2px; /* 顶部外边距 */
    white-space: nowrap; /* 不换行 */
}

/* 近期战绩列表容器 */
.recent-form-list {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(2, 1fr); /* 桌面端两列 */
    gap: 8px; /* 元素间距 */
}

/* 移动端单列 */
@media (max-width: 768px) {
    .recent-form-list {
        grid-template-columns: 1fr; /* 单列 */
    }
}

/* 结果徽章列 */
.recent-form-result {
    flex-shrink: 0; /* 不收缩 */
}

/* 未开始比赛徽章 */
.form-badge.form-pending {
    background: var(--bg-tertiary); /* 三级背景色 */
    color: var(--text-muted); /* 暗淡文字颜色 */
    box-shadow: none; /* 无阴影 */
}

/* 下一场比赛预告 */
.next-match-preview {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    padding: 10px 12px; /* 内边距 */
    margin-top: 10px; /* 顶部外边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    border: 1px solid var(--border-color); /* 边框 */
    text-decoration: none; /* 无下划线 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

/* 下一场比赛预告悬停 */
.next-match-preview:hover {
    border-color: var(--accent-blue); /* 蓝色边框 */
}

/* 下一场比赛图标 */
.next-match-icon {
    color: var(--accent-blue); /* 蓝色 */
    font-size: 1.1rem; /* 字体大小 */
    width: 1.1rem; /* 宽度 */
    height: 1.1rem; /* 高度 */
}

/* 下一场比赛标签 */
.next-match-label {
    font-size: 0.7rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--accent-blue); /* 蓝色 */
    text-transform: uppercase; /* 大写转换 */
    letter-spacing: 0.5px; /* 字间距 */
    white-space: nowrap; /* 不换行 */
}

/* 下一场比赛信息 */
.next-match-info {
    font-size: 0.8rem; /* 字体大小 */
    color: var(--text-secondary); /* 次要文字颜色 */
}

/* 成就赛季区域 */
.achievement-seasons {
    margin-top: 12px; /* 顶部外边距 */
    padding-top: 12px; /* 顶部内边距 */
    border-top: 1px solid var(--border-color); /* 顶部边框 */
}

/* 成就赛季标签 */
.achievement-seasons-label {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    text-transform: uppercase; /* 大写 */
    letter-spacing: 0.5px; /* 字间距 */
    display: block; /* 块级显示 */
    margin-bottom: 4px; /* 底部外边距 */
}

/* 成就赛季列表 */
.achievement-seasons-list {
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-secondary); /* 文字颜色 */
    line-height: 1.4; /* 行高 */
    word-break: break-word; /* 长文本换行 */
    overflow-wrap: break-word; /* 防止溢出 */
}

/* 成就模块移动端紧凑样式 — 减小 padding/字号/间距，避免手机端占满整屏 */
/* [中文] 成就模块移动端紧凑样式 */
@media (max-width: 768px) {
    .achievements-summary {
        gap: 10px; /* 缩小卡片间距 */
        margin-bottom: 12px; /* 缩小底部外边距 */
    }

    .achievement-summary-card {
        padding: 12px; /* 缩小内边距 */
        gap: 10px; /* 缩小图标与文字间距 */
    }

    .achievement-icon {
        font-size: 1.75rem; /* 缩小图标 */
        width: 1.75rem; /* 宽度同步 */
        height: 1.75rem; /* 高度同步 */
    }

    .achievement-value {
        font-size: 1.5rem; /* 缩小数值字号 */
    }

    .achievements-grid {
        gap: 10px; /* 缩小网格间距 */
    }

    .achievement-card {
        padding: 12px; /* 缩小卡片内边距 */
    }

    .achievement-header {
        margin-bottom: 8px; /* 缩小头部底部外边距 */
        padding-bottom: 6px; /* 缩小头部底部内边距 */
    }

    .achievement-stats {
        gap: 12px; /* 缩小统计项间距 */
    }

    .achievement-stats .stat-value {
        font-size: 1.25rem; /* 缩小统计数值字号 */
    }

    .achievement-seasons {
        margin-top: 8px; /* 缩小赛季区域顶部外边距 */
        padding-top: 8px; /* 缩小赛季区域顶部内边距 */
    }
}

/* 超小屏幕进一步紧凑 — 480px 以下 */
/* [中文] 超小屏幕进一步紧凑 */
@media (max-width: 480px) {
    .achievements-summary {
        gap: 8px; /* 进一步缩小卡片间距 */
    }

    .achievement-summary-card {
        padding: 10px; /* 进一步缩小内边距 */
        gap: 8px; /* 进一步缩小图标与文字间距 */
    }

    .achievement-icon {
        font-size: 1.5rem; /* 进一步缩小图标 */
        width: 1.5rem; /* 宽度同步 */
        height: 1.5rem; /* 高度同步 */
    }

    .achievement-value {
        font-size: 1.35rem; /* 进一步缩小数值字号 */
    }

    .achievement-card {
        padding: 10px; /* 进一步缩小卡片内边距 */
    }

    .achievement-stats .stat-value {
        font-size: 1.125rem; /* 进一步缩小统计数值字号 */
    }
}

/* 球队阵容区域 */
.team-squad-section {
}

/* 阵容分组 */
.squad-group {
    margin-bottom: 24px; /* 底部外边距 */
}

/* 阵容位置标题 */
.squad-position-title {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin-bottom: 12px; /* 底部外边距 */
    padding-bottom: 8px; /* 底部内边距 */
    border-bottom: 2px solid var(--border-color); /* 底部边框 */
}

/* 位置表情符号 */
.position-emoji {
    font-size: 1.25rem; /* 字体大小 */
}

/* 阵容列表 */
.squad-list {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); /* 自适应列数 */
    gap: 8px; /* 列间距 */
}

/* 阵容球员卡片 */
.squad-player-card {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 12px; /* 元素间距 */
    padding: 10px 14px; /* 内边距 */
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 圆角 */
    border: 1px solid var(--border-color); /* 边框 */
    text-decoration: none; /* 无下划线 */
    transition: all 0.2s; /* 过渡动画 */
}

/* 阵容球员卡片悬停状态 */
.squad-player-card:hover {
    background: var(--bg-tertiary); /* 悬停背景色 */
    border-color: var(--accent-blue); /* 悬停边框色 */
}

/* 球员照片 */
.squad-player-card .player-photo {
    width: 36px; /* 宽度 */
    height: 36px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 填充方式 */
    flex-shrink: 0; /* 不允许缩小 */
}

/* 球衣号码 */
.player-jersey-number {
    width: 26px; /* 宽度 */
    height: 26px; /* 高度 */
    background: var(--bg-tertiary); /* 背景色 */
    border-radius: var(--radius-sm); /* 圆角 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    font-size: 0.7rem; /* 字体大小 */
    font-weight: 700; /* 粗细 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 球衣号码悬停状态 */
.squad-player-card:hover .player-jersey-number {
    background: var(--accent-blue); /* 蓝色背景 */
    color: white; /* 白色文字 */
}

/* 球员信息 */
.squad-player-card .player-info {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
}

/* 球员姓名 */
.squad-player-card .player-name {
    font-weight: 500; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    font-size: 0.875rem; /* 字体大小 */
}

/* 球员年龄 */
.squad-player-card .player-age {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 球队积分榜区域 */
.team-standings-section {
}

/* =====================================================
   Team Detail Section
   球队详情模块
===================================================== */

/* 球队信息区域 */
.team-info-section {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 大圆角 */
    padding: 20px; /* 内边距 */
    cursor: default; /* 默认鼠标指针 */
    pointer-events: none; /* 禁用鼠标事件 */
}

/* 球队信息区域内所有子元素 */
.team-info-section * {
    pointer-events: auto; /* 启用鼠标事件 */
}

/* 球队信息区域内的链接样式 */
.team-info-section a,
.team-info-section a:hover,
.team-info-section a:active {
    text-decoration: none; /* 无下划线 */
    color: inherit; /* 继承父元素颜色 */
    cursor: default; /* 默认鼠标指针 */
}

/* 球队介绍头部 */
.team-intro-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 20px; /* 元素间距 */
    margin-bottom: 10px; /* 底部外边距 */
}

/* 球队Logo容器 */
.team-logo-container {
    width: 90px; /* 宽度 */
    height: 90px; /* 高度 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    flex-shrink: 0; /* 不缩小 */
    margin-top: 8px; /* 顶部外边距 */
    margin-bottom: 8px; /* 底部外边距 */
}

/* 球队Logo */
.team-info-section .team-logo-container .team-logo {
    width: 90px !important; /* 宽度 */
    height: 90px !important; /* 高度 */
    max-width: 90px !important; /* 最大宽度 */
    max-height: 90px !important; /* 最大高度 */
    display: block !important; /* 块级显示 */
}

/* 球队图标 */
.team-logo-container .team-icon {
    width: 90px; /* 宽度 */
    height: 90px; /* 高度 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    font-size: 40px; /* 字体大小 */
    color: var(--text-secondary); /* 文字颜色 */
}

/* 球队信息详情 */
.team-info-details {
    flex: 1; /* 占据剩余空间 */
    min-width: 0; /* 最小宽度为0 */
    padding: 0; /* 无内边距 */
    background: transparent; /* 透明背景 */
}

/* 球队标题 */
.team-title {
    font-size: 22px; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin: 0 0 12px 0; /* 底部外边距 */
    line-height: 1.3; /* 行高 */
}

/* 球队元信息容器 */
.team-meta {
    display: flex; /* 弹性布局 */
    gap: 10px; /* 元素间距 */
    flex-wrap: wrap; /* 自动换行 */
    margin-bottom: 8px; /* 底部外边距 */
}

/* 球队元信息项（国家、成立时间、教练、场馆） */
.team-country,
.team-founded,
.team-coach,
.team-venue {
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    padding: 5px 12px; /* 内边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: 6px; /* 圆角 */
    font-size: 13px; /* 字体大小 */
    color: var(--text-secondary); /* 次要文字颜色 */
    font-weight: 500; /* 中等粗细 */
}

/* 球员元信息容器 */
.player-meta {
    display: flex; /* 弹性布局 */
    gap: 10px; /* 元素间距 */
    flex-wrap: wrap; /* 自动换行 */
}

/* 球员元信息项（年龄、生日、身高体重、位置、国籍、号码） */
.player-age,
.player-birthday,
.player-body,
.player-height,
.player-weight,
.player-position,
.player-nationality,
.player-birthplace,
.player-number {
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    padding: 6px 12px; /* 内边距 */
    background-color: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-sm); /* 小圆角 */
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-secondary); /* 次要文字颜色 */
}

/* 球员元信息图标 */
.player-meta .dashicons {
    font-size: 14px; /* 字体大小 */
    width: 14px; /* 宽度 */
    height: 14px; /* 高度 */
}

/* 国家国旗图片 */
.team-country .country-flag-img {
    height: 15px; /* 高度 */
    border-radius: 2px; /* 圆角 */
    padding: 1px; /* 内边距 */
    box-sizing: border-box; /* 盒模型 */
    object-fit: cover; /* 图片填充方式 */
    flex-shrink: 0; /* 不缩小 */
}

/* 教练头像 */
.team-coach .coach-avatar {
    width: 20px; /* 宽度 */
    height: 20px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 图片填充方式 */
    flex-shrink: 0; /* 不缩小 */
    background: #ffffff; /* 白色背景 */
    padding: 1px; /* 内边距 */
    box-sizing: border-box; /* 盒模型 */
}

/* 球队描述 */
.team-description {
    margin-top: 10px; /* 顶部外边距 */
    margin-bottom: 10px; /* 底部外边距 */
    padding: 16px; /* 内边距 */
    background: var(--bg-primary); /* 主背景色 */
    border-radius: 8px; /* 圆角 */
    border-left: 3px solid var(--accent-blue); /* 左侧蓝色边框 */
}

/* 球队描述文字 */
.team-description p {
    color: var(--text-secondary); /* 次要文字颜色 */
    line-height: 1.7; /* 行高 */
    margin: 0; /* 无外边距 */
    font-size: 14px; /* 字体大小 */
}

/* 球队统计网格 */
.team-stats-grid {
    display: flex; /* 弹性布局 */
    justify-content: center; /* 水平居中 */
    gap: 14px; /* 元素间距 */
    margin-top: 16px; /* 顶部外边距 */
}

/* 球队统计项 */
.team-stat-item {
    background: var(--bg-primary); /* 主背景色 */
    padding: 14px 40px; /* 内边距 */
    border-radius: 8px; /* 圆角 */
    text-align: center; /* 文字居中 */
    border: 1px solid var(--border-color); /* 边框 */
}

/* 移动端响应式 */
@media (max-width: 768px) {
    .team-intro-header {
        flex-direction: column; /* 垂直排列 */
        text-align: center; /* 文字居中 */
    }
}

/* 移动端统计卡防溢出：4 项统计卡允许换行
   (修复: flex 不换行 + 左右 40px 内边距使最小内容宽 ~569px,
    在手机视口撑破整页布局导致横向溢出; 换行后平板不受影响,
    仅在放不下时自动折为 2x2) */
/* [中文] 球队统计卡移动端允许换行, 消除横向溢出 */
@media (max-width: 768px) {
    .team-stats-grid {
        flex-wrap: wrap; /* 允许换行 */
    }
}

/* =====================================================
   Popular Leagues Section
   热门联赛模块
===================================================== */
/* 热门联赛区域 */
.popular-leagues-section {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
    padding: 16px; /* 内边距 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 热门联赛区域头部 */
.popular-leagues-section .section-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    margin-bottom: 16px; /* 底部外边距 */
    padding-bottom: 12px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* 热门联赛区域标题 */
.popular-leagues-section .section-title {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin: 0; /* 无外边距 */
}

/* 区域标题图标 */
.popular-leagues-section .section-title .dashicons,
.leagues-list-section .section-title .dashicons,
.highlights-grid-section .section-title .dashicons {
    color: var(--accent-red); /* 红色图标 */
    font-size: 1.125rem; /* 字体大小 */
    width: 1.125rem; /* 宽度 */
    height: 1.125rem; /* 高度 */
}

/* 热门联赛网格容器 */
.popular-leagues-grid,
#all-leagues-container,
#all-teams-container,
#all-players-container {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(3, 1fr); /* 三列 */
    gap: 16px; /* 网格间距 */
}

/* 热门联赛卡片 */
.popular-league-card {
    position: relative; /* 相对定位 */
    display: flex; /* 弹性布局 */
    align-items: stretch; /* 拉伸对齐 */
    padding: 16px; /* 内边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
    text-decoration: none; /* 无下划线 */
    transition: background var(--transition-fast); /* 过渡动画 */
    overflow: hidden; /* 隐藏溢出 */
}

/* 热门联赛卡片悬停状态 */
.popular-league-card:hover {
    background: var(--bg-hover); /* 悬停背景色 */
}

/* 联赛排名徽章 */
.popular-league-card .league-rank {
    position: absolute; /* 绝对定位 */
    top: 8px; /* 顶部距离 */
    left: 8px; /* 左侧距离 */
    width: 24px; /* 宽度 */
    height: 24px; /* 高度 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    border-radius: 50%; /* 圆形 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    background-color: var(--bg-hover); /* 背景色 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 排名第一 */
.popular-league-card .league-rank.rank-1 {
    background-color: #ffd700; /* 金色 */
    color: #000; /* 黑色文字 */
}

/* 排名第二 */
.popular-league-card .league-rank.rank-2 {
    background-color: #c0c0c0; /* 银色 */
    color: #000; /* 黑色文字 */
}

/* 排名第三 */
.popular-league-card .league-rank.rank-3 {
    background-color: #cd7f32; /* 铜色 */
    color: #fff; /* 白色文字 */
}

/* 其他排名 */
.popular-league-card .league-rank.rank-other {
    background-color: var(--bg-hover); /* 背景色 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 联赛卡片左侧区域 */
.popular-league-card .league-left {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    width: 90px; /* 宽度 */
    flex-shrink: 0; /* 不缩小 */
    padding-right: 12px; /* 右侧内边距 */
    border-right: 1px solid var(--border-color); /* 右侧边框 */
}

/* 联赛Logo包装器 */
.popular-league-card .league-logo-wrapper {
    margin-bottom: 8px; /* 底部外边距 */
}

/* 联赛Logo */
.popular-league-card .league-logo {
    width: 40px; /* 宽度 */
    height: 40px; /* 高度 */
    max-width: 100%; /* 最大宽度 */
    max-height: 100%; /* 最大高度 */
    object-fit: contain; /* 图片填充方式 */
    object-position: center; /* 图片位置 */
    padding: 4px; /* 内边距 */
    background: #ffffff; /* 白色背景 */
    border-radius: 50%; /* 圆形 */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); /* 阴影 */
}

/* 联赛名称 */
.popular-league-card .league-name {
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin: 0; /* 无外边距 */
    line-height: 1.3; /* 行高 */
    text-align: center; /* 文字居中 */
    white-space: normal; /* 正常换行 */
    word-wrap: break-word; /* 单词换行 */
    word-break: break-word; /* 强制换行 */
}

/* 联赛卡片右侧区域 */
.popular-league-card .league-right {
    flex: 1; /* 占据剩余空间 */
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    justify-content: center; /* 垂直居中 */
    padding-left: 16px; /* 左侧内边距 */
    gap: 8px; /* 元素间距 */
}

/* 联赛详情项 */
.popular-league-card .league-detail {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    gap: 8px; /* 元素间距 */
}

/* 详情标签 */
.popular-league-card .detail-label {
    font-size: 0.625rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-muted); /* 次要文字颜色 */
    text-transform: uppercase; /* 大写转换 */
    letter-spacing: 0.5px; /* 字母间距 */
    flex-shrink: 0; /* 不缩小 */
    width: 40px; /* 宽度 */
    padding: 2px 6px; /* 内边距 */
    background: var(--bg-hover); /* 背景色 */
    border-radius: var(--radius-xs); /* 小圆角 */
    text-align: center; /* 文字居中 */
}

/* 详情值 */
.popular-league-card .detail-value {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 500; /* 中等粗细 */
    color: var(--text-primary); /* 主文字颜色 */
    text-align: right; /* 文字右对齐 */
    flex: 1; /* 占据剩余空间 */
    justify-content: flex-end; /* 右对齐 */
    min-width: 0; /* 允许子文本收缩, 否则 flex 项 min-width:auto 阻止截断 */
}

/* 详情文本 — 单行省略, 防止超长场馆/联赛名撑破卡片 */
.popular-league-card .detail-value .detail-text {
    min-width: 0; /* 允许收缩 */
    overflow: hidden; /* 隐藏溢出 */
    text-overflow: ellipsis; /* 省略号 */
    white-space: nowrap; /* 单行 */
}

/* 国家国旗 */
.popular-league-card .country-flag {
    height: 15px; /* 高度 */
    border-radius: 2px; /* 圆角 */
    padding: 1px; /* 内边距 */
    box-sizing: border-box; /* 盒模型 */
    object-fit: cover; /* 图片填充方式 */
    flex-shrink: 0; /* 不缩小 */
}

/* 联赛迷你Logo */
.popular-league-card .league-mini-logo {
    width: 15px; /* 宽度 */
    height: 15px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    padding: 2px; /* 内边距 */
    box-sizing: border-box; /* 盒模型 */
    object-fit: contain; /* 图片填充方式 */
    flex-shrink: 0; /* 不缩小 */
    background: #ffffff; /* 白色背景 */
}

/* 场馆图标 */
.popular-league-card .venue-icon {
    height: 14px; /* 高度 */
    color: var(--text-muted); /* 图标颜色 */
    font-size: 13px; /* 字体大小 */
    flex-shrink: 0; /* 不缩小 */
}

/* 联赛状态徽章 */
.popular-league-card .league-status {
    padding: 2px 8px; /* 内边距 */
    border-radius: var(--radius-sm); /* 小圆角 */
    font-size: 0.625rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    margin-left: auto; /* 右对齐 */
}

/* 进行中状态 */
.popular-league-card .league-status.status-active {
    background: rgba(34, 197, 94, 0.15); /* 绿色背景 */
    color: var(--accent-green); /* 绿色文字 */
}

/* 即将开始状态 */
.popular-league-card .league-status.status-upcoming {
    background: rgba(245, 158, 11, 0.15); /* 橙色背景 */
    color: var(--accent-orange); /* 橙色文字 */
}

/* 已结束状态 */
.popular-league-card .league-status.status-finished {
    background: rgba(156, 163, 175, 0.15); /* 灰色背景 */
    color: var(--text-muted); /* 灰色文字 */
}

/* 平板端响应式 */
@media (max-width: 992px) {

    .popular-leagues-grid,
    #all-leagues-container,
    #all-teams-container,
    #all-players-container {
        grid-template-columns: repeat(2, 1fr); /* 两列布局 */
    }
}

/* 移动端响应式 */
@media (max-width: 768px) {

    .popular-leagues-grid,
    #all-leagues-container,
    #all-teams-container,
    #all-players-container {
        grid-template-columns: 1fr; /* 单列布局 */
        gap: 12px; /* 网格间距 */
    }

    .popular-league-card {
        padding: 20px 16px; /* 内边距 */
    }

    .popular-league-card .league-left {
        width: 100px; /* 宽度 */
        padding-right: 12px; /* 右侧内边距 */
    }

    .popular-league-card .league-logo {
        width: 48px; /* 宽度 */
        height: 48px; /* 高度 */
    }

    .popular-league-card .league-name {
        font-size: 0.6875rem; /* 字体大小 */
    }
}

/* 小屏幕移动端响应式 */
@media (max-width: 480px) {
    .popular-leagues-grid {
        grid-template-columns: 1fr; /* 单列布局 */
    }

    .popular-league-card .league-left {
        width: 80px; /* 宽度 */
    }

    .popular-league-card .league-logo {
        width: 40px; /* 宽度 */
        height: 40px; /* 高度 */
    }

    .popular-league-card .league-right {
        padding-left: 12px; /* 左侧内边距 */
    }

    .popular-league-card .detail-label {
        font-size: 0.5625rem; /* 字体大小 */
    }

    .popular-league-card .detail-value {
        font-size: 0.6875rem; /* 字体大小 */
    }
}

/* 热门联赛列表头部 */
.popular-leagues-header {
    display: grid; /* 网格布局 */
    grid-template-columns: 36px 1fr 120px 100px 80px 80px; /* 列布局 */
    gap: 8px; /* 网格间距 */
    padding: 10px 12px; /* 内边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-sm); /* 小圆角 */
    font-size: 0.7rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    text-transform: uppercase; /* 大写转换 */
    letter-spacing: 0.5px; /* 字母间距 */
}

/* 热门联赛列表容器 */
.popular-leagues-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 4px; /* 元素间距 */
    margin-top: 8px; /* 顶部外边距 */
    max-height: 500px; /* 最大高度 */
    overflow-y: auto; /* 垂直滚动 */
}

/* 热门联赛列表项 */
.popular-league-item {
    display: grid; /* 网格布局 */
    grid-template-columns: 36px 1fr 120px 100px 80px 80px; /* 列布局 */
    gap: 8px; /* 网格间距 */
    align-items: center; /* 垂直居中 */
    padding: 10px 12px; /* 内边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-sm); /* 小圆角 */
    text-decoration: none; /* 无下划线 */
    transition: background var(--transition-fast); /* 过渡动画 */
}

/* 热门联赛列表项悬停状态 */
.popular-league-item:hover {
    background: var(--bg-hover); /* 悬停背景色 */
}

/* Logo列 */
.popular-league-item .col-logo {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
}

/* 列表项中的联赛Logo */
.popular-league-item .league-logo {
    width: 28px; /* 宽度 */
    height: 28px; /* 高度 */
    padding: 3px; /* 内边距 */
    background: #ffffff; /* 白色背景 */
    border-radius: 50%; /* 圆形 */
}

/* 名称列 */
.popular-league-item .col-name {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* 国家列 */
.popular-league-item .col-country {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-muted); /* 次要文字颜色 */
}

/* 迷你国旗 */
.popular-league-item .country-flag-mini {
    width: 20px; /* 宽度 */
    height: 20px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    background: #ffffff; /* 白色背景 */
    padding: 2px; /* 内边距 */
}

/* 类型列 */
.popular-league-item .col-type {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
}

/* 类型徽章 */
.popular-league-item .type-badge {
    padding: 4px 8px; /* 内边距 */
    border-radius: var(--radius-sm); /* 小圆角 */
    font-size: 0.6875rem; /* 字体大小 */
    font-weight: 500; /* 中等粗细 */
    background: var(--bg-hover); /* 背景色 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 国际赛事类型 */
.popular-league-item .type-badge.type-international {
    background: rgba(59, 130, 246, 0.15); /* 蓝色背景 */
    color: var(--accent-blue); /* 蓝色文字 */
}

/* 国内赛事类型 */
.popular-league-item .type-badge.type-domestic {
    background: rgba(34, 197, 94, 0.15); /* 绿色背景 */
    color: var(--accent-green); /* 绿色文字 */
}

/* 赛季列 */
.popular-league-item .col-season {
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-secondary); /* 次要文字颜色 */
}

/* 状态列 */
.popular-league-item .col-status {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
}

/* 状态徽章 */
.popular-league-item .status-badge {
    padding: 4px 8px; /* 内边距 */
    border-radius: var(--radius-sm); /* 小圆角 */
    font-size: 0.6875rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
}

/* 进行中状态 */
.popular-league-item .status-badge.status-active {
    background: rgba(34, 197, 94, 0.15); /* 绿色背景 */
    color: var(--accent-green); /* 绿色文字 */
}

/* 即将开始状态 */
.popular-league-item .status-badge.status-upcoming {
    background: rgba(245, 158, 11, 0.15); /* 橙色背景 */
    color: var(--accent-orange); /* 橙色文字 */
}

/* 已结束状态 */
.popular-league-item .status-badge.status-finished {
    background: rgba(156, 163, 175, 0.15); /* 灰色背景 */
    color: var(--text-muted); /* 灰色文字 */
}

/* 移动端响应式 */
@media (max-width: 768px) {
    .popular-leagues-section {
        padding: 12px; /* 内边距 */
    }

    .popular-leagues-header {
        display: none; /* 隐藏头部 */
    }

    .popular-league-item {
        grid-template-columns: 36px 1fr; /* 两列布局 */
        gap: 8px; /* 网格间距 */
        padding: 12px; /* 内边距 */
    }

    .popular-league-item .col-country,
    .popular-league-item .col-type,
    .popular-league-item .col-season,
    .popular-league-item .col-status {
        display: none; /* 隐藏列 */
    }
}

/* =====================================================
   Leagues List Section
   联赛列表模块
===================================================== */
/* 联赛列表区域 */
.leagues-list-section {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
    padding: 16px; /* 内边距 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 积分榜列表区域 - 无容器底色和内边距,各积分榜直接排列 */
.standings-list-section {
    margin-bottom: 16px; /* 底部外边距 */
}

/* 联赛/积分榜/集锦列表区域头部 */
.leagues-list-section .section-header,
.standings-list-section .section-header,
.highlights-grid-section .section-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    margin-bottom: 16px; /* 底部外边距 */
    padding-bottom: 12px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* 联赛/积分榜/集锦列表区域标题 */
.leagues-list-section .section-title,
.standings-list-section .section-title,
.highlights-grid-section .section-title {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin: 0; /* 无外边距 */
}

/* 过滤栏 */
.leagues-list-section .filter-bar,
.standings-list-section .filter-bar {
    display: flex; /* 弹性布局 */
    gap: 8px; /* 元素间距 */
    flex-wrap: wrap; /* 自动换行 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 过滤选择器 */
.leagues-list-section .filter-bar .filter-select,
.standings-list-section .filter-bar .filter-select {
    flex: 1; /* 占据1份空间 */
    min-width: 150px; /* 最小宽度 */
}

/* 过滤搜索框 */
.leagues-list-section .filter-bar .filter-search,
.standings-list-section .filter-bar .filter-search {
    flex: 2; /* 占据2份空间 */
    min-width: 200px; /* 最小宽度 */
}

/* 过滤输入框 */
.leagues-list-section .filter-bar .filter-input,
.standings-list-section .filter-bar .filter-input {
    width: 100%; /* 宽度100% */
    padding: 10px 16px; /* 内边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border: 1px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-md); /* 中等圆角 */
    color: var(--text-primary); /* 主文字颜色 */
    font-size: 0.875rem; /* 字体大小 */
}

/* 过滤输入框聚焦状态 */
.leagues-list-section .filter-bar .filter-input:focus,
.standings-list-section .filter-bar .filter-input:focus {
    outline: none; /* 无轮廓 */
    border-color: var(--accent-blue); /* 蓝色边框 */
}

/* 联赛国家分组 */
.leagues-country-group {
    margin-bottom: 20px; /* 底部外边距 */
}

/* 最后一个国家分组 */
.leagues-country-group:last-child {
    margin-bottom: 0; /* 无底部外边距 */
}

/* 国家分组头部 */
.country-group-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    margin-bottom: 12px; /* 底部外边距 */
    padding: 8px 0; /* 垂直内边距 */
}

/* 国家分组国旗 */
.country-group-header .country-flag {
    width: 24px; /* 宽度 */
    height: 24px; /* 高度 */
    border-radius: 50%; /* 圆形 */
}

/* 国家分组标题 */
.country-group-title {
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin: 0; /* 无外边距 */
}

/* 国家分组数量 */
.country-group-count {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 次要文字颜色 */
    margin-left: auto; /* 右对齐 */
}

/* 联赛网格 */
.leagues-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); /* 自动填充列 */
    gap: 12px; /* 网格间距 */
}

/* 联赛迷你卡片 */
.league-card-mini {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    padding: 12px; /* 内边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
    text-decoration: none; /* 无下划线 */
    transition: all var(--transition-fast); /* 过渡动画 */
    min-width: 0; /* 最小宽度为0 */
}

/* 联赛迷你卡片悬停状态 */
.league-card-mini:hover {
    background: var(--bg-hover); /* 悬停背景色 */
}

/* 联赛Logo包装器 */
.league-card-mini .league-logo-wrapper {
    flex-shrink: 0; /* 不缩小 */
}

/* 联赛Logo */
.league-card-mini .league-logo {
    width: 36px; /* 宽度 */
    height: 36px; /* 高度 */
    padding: 4px; /* 内边距 */
    background: #ffffff; /* 白色背景 */
    border-radius: 50%; /* 圆形 */
}

/* 联赛图标 */
.league-card-mini .league-icon {
    width: 36px; /* 宽度 */
    height: 36px; /* 高度 */
    font-size: 24px; /* 字体大小 */
    color: var(--text-muted); /* 图标颜色 */
}

/* 联赛信息 */
.league-card-mini .league-info {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 4px; /* 元素间距 */
    min-width: 0; /* 最小宽度为0 */
}

/* 联赛名称 */
.league-card-mini .league-name {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    white-space: nowrap; /* 不换行 */
    overflow: hidden; /* 隐藏溢出 */
    text-overflow: ellipsis; /* 省略号 */
}

/* 联赛类型徽章 */
.league-card-mini .league-type-badge {
    font-size: 0.6875rem; /* 字体大小 */
    color: var(--text-muted); /* 次要文字颜色 */
}

/* 移动端响应式 */
@media (max-width: 768px) {
    .leagues-list-section {
        padding: 12px; /* 内边距 */
    }

    .leagues-grid {
        grid-template-columns: 1fr; /* 单列布局 */
    }
}

/* =====================================================
   Team Stats Ranking Widget
   球队数据榜单模块
===================================================== */
/* 球队数据榜单组件 */
.team-stats-ranking-widget {
    background-color: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
    padding: 16px; /* 内边距 */
}

/* 组件标题 — 移入 widget-header 后,下边距改由 widget-header 提供 */
.team-stats-ranking-widget .widget-title {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin: 0; /* 无外边距 (原 0 0 16px 0, 下边距改由 widget-header 提供) */
    padding: 0; /* 无内边距 */
    border: none; /* 无边框 */
}

/* Team Stats Ranking 小部件头部 — 复用 popular-teams 同款布局
   [中文] Team Stats Ranking 头部布局,与热门球队模块一致 */
.team-stats-ranking-widget .widget-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
    margin-bottom: 16px; /* 底部外边距 */
    padding-bottom: 12px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* 标签页容器 */
.team-stats-ranking-widget .tabs {
    display: flex; /* 弹性布局 */
    gap: 4px; /* 元素间距 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 标签页按钮 */
.team-stats-ranking-widget .tab-btn {
    flex: 1; /* 平均分配空间 */
    padding: 12px 24px; /* 内边距 */
    background: var(--bg-secondary); /* 背景色 */
    border: 1px solid var(--border-color); /* 边框 */
    border-bottom: none; /* 无边框底部 */
    border-radius: var(--radius-md) var(--radius-md) 0 0; /* 顶部圆角 */
    font-size: 0.9375rem; /* 字体大小 */
    font-weight: 500; /* 中等粗细 */
    color: var(--text-muted); /* 文字颜色 */
    cursor: pointer; /* 鼠标指针 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

/* 标签页按钮悬停状态 */
.team-stats-ranking-widget .tab-btn:hover {
    color: var(--text-primary); /* 主文字颜色 */
    background: var(--bg-tertiary); /* 三级背景色 */
}

/* 标签页按钮激活状态 */
.team-stats-ranking-widget .tab-btn.active {
    color: var(--text-primary); /* 主文字颜色 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-bottom: 1px solid var(--bg-tertiary); /* 底部边框 */
    margin-bottom: -1px; /* 负边距 */
}

/* 数据榜单内容区域 */
.team-stats-ranking-widget .stats-ranking-content {
    padding: 12px; /* 内边距 */
}

/* 数据榜单头部 */
.team-stats-ranking-widget .stats-header {
    display: grid; /* 网格布局 */
    grid-template-columns: 30px 1fr 40px 30px 45px; /* 列布局 */
    gap: 6px; /* 网格间距 */
    padding: 8px 10px; /* 内边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-sm); /* 小圆角 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    text-transform: uppercase; /* 大写转换 */
    letter-spacing: 0.5px; /* 字母间距 */
}

/* 数据榜单列表 */
.team-stats-ranking-widget .stats-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 4px; /* 元素间距 */
    margin-top: 8px; /* 顶部外边距 */
}

/* 数据榜单行 */
.team-stats-ranking-widget .stats-row {
    display: grid; /* 网格布局 */
    grid-template-columns: 30px 1fr 40px 30px 45px; /* 列布局 */
    gap: 6px; /* 网格间距 */
    align-items: center; /* 垂直居中 */
    padding: 10px; /* 内边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-sm); /* 小圆角 */
    transition: background var(--transition-fast); /* 过渡动画 */
    min-height: 44px; /* 最小高度 */
    text-decoration: none; /* 去除链接下划线 */
    color: inherit; /* 继承文字颜色 */
}

/* 数据榜单行悬停状态 */
.team-stats-ranking-widget .stats-row:hover {
    background: var(--bg-hover); /* 悬停背景色 */
}

/* 排名列 */
.team-stats-ranking-widget .col-rank {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    text-align: center; /* 文字居中 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
}

/* 排名徽章 */
.team-stats-ranking-widget .rank-badge {
    width: 24px; /* 宽度 */
    height: 24px; /* 高度 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    border-radius: 50%; /* 圆形 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    background-color: var(--bg-hover); /* 背景色 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 排名第一 */
.team-stats-ranking-widget .rank-badge.rank-1 {
    background-color: #ffd700; /* 金色 */
    color: #000; /* 黑色文字 */
}

/* 排名第二 */
.team-stats-ranking-widget .rank-badge.rank-2 {
    background-color: #c0c0c0; /* 银色 */
    color: #000; /* 黑色文字 */
}

/* 排名第三 */
.team-stats-ranking-widget .rank-badge.rank-3 {
    background-color: #cd7f32; /* 铜色 */
    color: #fff; /* 白色文字 */
}

/* 其他排名 */
.team-stats-ranking-widget .rank-badge.rank-other {
    background-color: var(--bg-hover); /* 背景色 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 球队列 */
.team-stats-ranking-widget .col-team {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    font-size: 0.8125rem; /* 字体大小 */
    font-weight: 500; /* 中等粗细 */
    color: var(--text-primary); /* 主文字颜色 */
    line-height: 1.2; /* 行高 */
}

/* 球队小Logo */
.team-stats-ranking-widget .col-team .team-logo-small {
    width: 36px; /* 宽度 */
    height: 36px; /* 高度 */
    flex-shrink: 0; /* 不缩小 */
}

/* 进球数列 */
.team-stats-ranking-widget .col-goals {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 400; /* 正常粗细 */
    color: var(--text-secondary); /* 次要文字颜色 */
    text-align: right; /* 文字右对齐 */
}

/* 失球数列 */
.team-stats-ranking-widget .col-ga {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 400; /* 正常粗细 */
    color: var(--text-secondary); /* 次要文字颜色 */
    text-align: right; /* 文字右对齐 */
}

/* 胜率列 */
.team-stats-ranking-widget .col-win {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 400; /* 正常粗细 */
    color: var(--text-secondary); /* 次要文字颜色 */
    text-align: right; /* 文字右对齐 */
}

/* 空数据状态 */
.team-stats-ranking-widget .stats-empty {
    justify-content: center; /* 水平居中 */
    color: var(--text-muted); /* 静默文字颜色 */
    font-size: 0.8125rem; /* 字体大小 */
}

/* 移动端响应式 */
@media (max-width: 768px) {
    .team-stats-ranking-widget {
        padding: 12px; /* 内边距 */
    }

    .team-stats-ranking-widget .stats-header {
        grid-template-columns: 28px 1fr 36px 28px 40px; /* 列布局 */
        gap: 4px; /* 网格间距 */
        font-size: 0.65rem; /* 字体大小 */
    }

    .team-stats-ranking-widget .stats-row {
        grid-template-columns: 28px 1fr 36px 28px 40px; /* 列布局 */
        gap: 4px; /* 网格间距 */
        padding: 8px; /* 内边距 */
        min-height: 40px; /* 最小高度 */
    }

    .team-stats-ranking-widget .col-team {
        font-size: 0.75rem; /* 字体大小 */
    }

    .team-stats-ranking-widget .col-team .team-logo-small {
        width: 32px; /* 宽度 */
        height: 32px; /* 高度 */
    }

    .team-stats-ranking-widget .rank-badge {
        width: 24px; /* 宽度 */
        height: 24px; /* 高度 */
        font-size: 0.75rem; /* 字体大小 */
    }

    .team-stats-ranking-widget .col-goals,
    .team-stats-ranking-widget .col-ga,
    .team-stats-ranking-widget .col-win {
        font-size: 0.75rem; /* 字体大小 */
    }

    .player-rankings-header {
        grid-template-columns: 28px 1fr 40px 40px; /* 列布局 */
        gap: 4px; /* 网格间距 */
        font-size: 0.65rem; /* 字体大小 */
    }
    
    /* 3列布局 */
    .player-rankings-header.cols-3 {
        grid-template-columns: 28px 1fr 50px; /* 列布局 */
    }

    .player-ranking-item {
        grid-template-columns: 28px 1fr 40px 40px; /* 列布局 */
        gap: 4px; /* 网格间距 */
        padding: 8px; /* 内边距 */
    }
    
    /* 3列布局 */
    .player-ranking-item.cols-3 {
        grid-template-columns: 28px 1fr 50px; /* 列布局 */
    }

    .player-ranking-item .player-name {
        font-size: 0.75rem; /* 字体大小 */
    }

    .player-ranking-item .player-team {
        font-size: 0.625rem; /* 字体大小 */
    }

    .player-ranking-item .player-team-logo {
        width: 12px; /* 宽度 */
        height: 12px; /* 高度 */
    }

    .player-ranking-item .col-goals,
    .player-ranking-item .col-assists {
        font-size: 0.75rem; /* 字体大小 */
    }
}

/* 球员排名头部 */
.player-rankings-header {
    display: grid; /* 网格布局 */
    grid-template-columns: 30px 1fr 50px 50px; /* 列布局 */
    gap: 6px; /* 网格间距 */
    padding: 8px 10px; /* 内边距 */
    margin-bottom: 8px; /* 底部外边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-sm); /* 小圆角 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    text-transform: uppercase; /* 大写转换 */
    letter-spacing: 0.5px; /* 字母间距 */
}

/* 进球和助攻列头部 */
.player-rankings-header .col-goals,
.player-rankings-header .col-assists {
    text-align: right; /* 文字右对齐 */
}

/* 3列布局样式（出场榜） */
.player-rankings-header.cols-3 {
    grid-template-columns: 30px 1fr 60px; /* 列布局 */
}

/* 球员排名列表 */
.player-rankings-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 4px; /* 元素间距 */
}

/* 球员排名项 */
.player-ranking-item {
    display: grid; /* 网格布局 */
    grid-template-columns: 30px 1fr 50px 50px; /* 列布局 */
    gap: 6px; /* 网格间距 */
    align-items: center; /* 垂直居中 */
    padding: 10px; /* 内边距 */
    background-color: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-sm); /* 小圆角 */
    transition: background-color var(--transition-fast); /* 过渡动画 */
}

/* 3列布局样式（出场榜） */
.player-ranking-item.cols-3 {
    grid-template-columns: 30px 1fr 60px; /* 列布局 */
}

/* 球员排名项悬停状态 */
.player-ranking-item:hover {
    background-color: var(--bg-hover); /* 悬停背景色 */
}

/* 排名列 */
.player-ranking-item .col-rank {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
}

/* 排名徽章 */
.player-ranking-item .rank-badge {
    width: 24px; /* 宽度 */
    height: 24px; /* 高度 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    border-radius: 50%; /* 圆形 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    background-color: var(--bg-hover); /* 背景色 */
    color: var(--text-muted); /* 文字颜色 */
    flex-shrink: 0; /* 不缩小 */
}

/* 排名第一 */
.player-ranking-item .rank-badge.rank-1 {
    background-color: #ffd700; /* 金色 */
    color: #000; /* 黑色文字 */
}

/* 排名第二 */
.player-ranking-item .rank-badge.rank-2 {
    background-color: #c0c0c0; /* 银色 */
    color: #000; /* 黑色文字 */
}

/* 排名第三 */
.player-ranking-item .rank-badge.rank-3 {
    background-color: #cd7f32; /* 铜色 */
    color: #fff; /* 白色文字 */
}

/* 其他排名 */
.player-ranking-item .rank-badge.rank-other {
    background-color: var(--bg-hover); /* 背景色 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 球员列 */
.player-ranking-item .col-player {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    text-decoration: none; /* 无下划线 */
    color: inherit; /* 继承颜色 */
}

/* 球员照片 */
.player-ranking-item .player-photo {
    width: 36px; /* 宽度 */
    height: 36px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 图片填充方式 */
    background-color: var(--bg-hover); /* 背景色 */
}

/* 球员照片占位符（默认头像） */
.player-ranking-item .player-photo-placeholder {
    width: 36px; /* 宽度（与 .player-photo 一致） */
    height: 36px; /* 高度（与 .player-photo 一致） */
    border-radius: 50%; /* 圆形 */
    background-color: var(--bg-hover); /* 背景色（与 .player-photo 一致） */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    font-size: 1.25rem; /* 图标大小 */
    color: var(--text-dark); /* 图标颜色 */
    flex-shrink: 0; /* 禁止收缩 */
}

/* 球员信息 */
.player-ranking-item .player-info {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 4px; /* 元素间距 */
    text-align: left; /* 文字左对齐 */
}

/* 球员姓名 */
.player-ranking-item .player-name {
    display: block; /* 块级显示 */
    font-size: 0.8125rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    text-align: left; /* 文字左对齐 */
}

/* 球员所属球队 */
.player-ranking-item .player-team {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 4px; /* 元素间距 */
    font-size: 0.7rem; /* 字体大小 */
    color: var(--text-muted); /* 次要文字颜色 */
    text-align: left; /* 文字左对齐 */
}

/* 球员球队Logo */
.player-ranking-item .player-team-logo {
    width: 14px; /* 宽度 */
    height: 14px; /* 高度 */
    padding: 1px; /* 内边距 */
}

/* 进球和助攻列 */
.player-ranking-item .col-goals,
.player-ranking-item .col-assists {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 400; /* 正常粗细 */
    color: var(--text-secondary); /* 次要文字颜色 */
    text-align: right; /* 文字右对齐 */
}

/* 球员排名组件中的统计网格和统计框隐藏 */
.player-rankings-widget .player-stats-grid,
.player-rankings-widget .stat-box {
    display: none; /* 隐藏 */
}

/* Related Players Widget - 相关球员组件 */
.related-players-widget .player-ranking-item,
.related-players-widget .player-rankings-header {
    grid-template-columns: 30px 1fr 50px; /* 三列布局 */
}

/* 位置列 */
.related-players-widget .col-position {
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 白色文字 - 与 widget 内其他文字一致 */
    text-align: center; /* 文字居中 */
    padding-right: 4px; /* 右侧留白 - 防止贴边 */
    text-transform: uppercase; /* 大写转换 */
    letter-spacing: 0.5px; /* 字母间距 */
    overflow: hidden; /* 防止溢出 - 长字符串裁剪在列框内 */
    white-space: nowrap; /* 单行不换行 - 保持行高一致 */
}

/* Team Stats Ranking Widget with player rankings - 包含球员排名的球队数据榜单 */
.team-stats-ranking-widget .player-rankings-header {
    margin-bottom: 8px; /* 底部外边距 */
}

.team-stats-ranking-widget .stats-ranking-content {
    padding: 0; /* 无内边距 */
}

.team-stats-ranking-widget .player-rankings-list {
    margin-top: 0; /* 无顶部外边距 */
}

/* =====================================================
   Match Detail Page
   比赛详情页
===================================================== */
/* 比赛详情页面 */
.match-detail-page {
    padding-bottom: 60px; /* 底部内边距 */
}

/* Match Header - 比赛头部 */
.match-header {
    text-align: center; /* 文字居中 */
    margin-bottom: 16px; /* [V6.0.1] 由 32px 改为 16px，与其他 .detail-section 模块一致 */
    padding: 24px; /* 内边距 */
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 大圆角 */
}

/* 比赛联赛信息 */
.match-league {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    gap: 8px; /* 元素间距 */
    margin-bottom: 24px; /* 底部外边距 */
    padding: 8px 16px; /* 内边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
}

/* 联赛Logo */
.match-league .league-logo {
    width: 24px; /* 宽度 */
    height: 24px; /* 高度 */
    padding: 2px; /* 内边距 */
}

/* 联赛名称 */
.match-league .league-name {
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* 国家国旗 */
.match-league .country-flag {
    box-sizing: border-box; /* 盒模型 */
    object-fit: cover; /* 图片填充方式 */
}

/* Match Scoreboard - 比赛记分牌 */
.match-scoreboard {
    display: grid; /* 三列网格（主队/比分/客队） */
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); /* 左右两列恒等宽，比分列居中 */
    align-items: center; /* 垂直居中 */
    gap: 40px; /* 元素间距 */
    margin-bottom: 20px; /* 底部外边距 */
}

/* 球队区块链接 */
.team-block a {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    gap: 12px; /* 元素间距 */
    text-decoration: none; /* 无下划线 */
    transition: transform 0.2s; /* 过渡动画 */
}

/* 球队区块链接悬停状态 */
.team-block a:hover {
    opacity: 0.8; /* 透明度 */
}

/* 球队Logo */
.team-block .team-logo {
    width: 80px; /* 宽度 */
    height: 80px; /* 高度 */
}

/* 球队图标 */
.team-block .team-icon {
    font-size: 48px; /* 字体大小 */
    color: var(--text-muted); /* 图标颜色 */
}

/* 球队名称 */
.team-block .team-name {
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    text-align: center; /* 文字居中 */
    max-width: 120px; /* 最大宽度 */
}

/* 比分区域 */
.score-section {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
}

/* 比分 */
.score {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 16px; /* 元素间距 */
    font-size: 3rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* VS文字 */
.score.vs {
    font-size: 2rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 比分分隔符 */
.score-divider {
    color: var(--text-muted); /* 文字颜色 */
}

/* 半场比分 */
.score-half {
    font-size: 0.875rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 比赛状态 */
.match-status {
    padding: 4px 12px; /* 内边距 */
    border-radius: var(--radius-md); /* 中等圆角 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    text-transform: uppercase; /* 大写转换 */
}

/* 已结束状态 */
.match-status.finished {
    background: rgba(34, 197, 94, 0.2); /* 绿色背景 */
    color: #22c55e; /* 绿色文字 */
}

/* 即将开始状态 */
.match-status.upcoming {
    background: var(--bg-tertiary); /* 三级背景色 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 直播状态 */
.match-status.live {
    background: rgba(239, 68, 68, 0.2); /* 红色背景 */
    color: #ef4444; /* 红色文字 */
    animation: pulse 2s infinite; /* 脉冲动画 */
}

/* Match Info - 比赛信息 */
.match-info {
    display: flex; /* 弹性布局 */
    justify-content: center; /* 水平居中 */
    gap: 24px; /* 元素间距 */
    flex-wrap: wrap; /* 自动换行 */
    margin-bottom: 20px; /* 底部外边距 */
}

/* 比赛信息项 */
.match-info span {
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    color: var(--text-muted); /* 文字颜色 */
    font-size: 0.875rem; /* 字体大小 */
}

/* 比赛信息图标 */
.match-info .dashicons {
    font-size: 16px; /* 字体大小 */
}

/* 比赛时间 */
.match-info .match-time {
    display: inline-flex; /* 行内弹性布局 */
    flex-direction: row; /* 水平排列 */
    align-items: center; /* 垂直居中 */
    min-width: auto; /* 最小宽度 */
}

/* Share Buttons - 分享按钮 */
.match-share {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    gap: 12px; /* 元素间距 */
    padding-top: 16px; /* 顶部内边距 */
    border-top: 1px solid var(--border-color); /* 顶部边框 */
}

/* 分享标签 */
.share-label {
    font-size: 0.875rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 分享按钮容器 */
.share-buttons {
    display: flex; /* 弹性布局 */
    gap: 8px; /* 元素间距 */
}

/* 分享按钮 */
.share-btn {
    width: 36px; /* 宽度 */
    height: 36px; /* 高度 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border: none; /* 无边框 */
    border-radius: var(--radius-sm); /* 小圆角 */
    cursor: pointer; /* 鼠标指针 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

/* 分享按钮悬停/按下/选中状态 — 蓝底 + 白色图标
   (dashicons 与 SVG 图标均继承 currentColor, 设 color 即可统一变白) */
/* [中文] 悬停/按下/选中时图标变白, 避免深色图标淹没在蓝底中 */
.share-btn:hover,
.share-btn:active,
.share-btn:focus {
    background: var(--accent-blue); /* 蓝色背景 */
    color: #fff; /* 图标变白 */
}

/* X (Twitter) 分享图标 — 内联SVG，与dashicons尺寸保持一致 */
.share-btn .x-logo {
    width: 20px; /* 宽度，与dashicons默认尺寸一致 */
    height: 20px; /* 高度，与dashicons默认尺寸一致 */
    fill: currentColor; /* 填充颜色继承文字颜色 */
}

/* 统一分享组件 — SVG平台图标 (WhatsApp/Telegram/Reddit/Pinterest)
   与 dashicons/x-logo 尺寸一致，保证整行图标视觉统一 */
/* [中文] 统一分享组件 SVG 图标尺寸统一 */
.share-btn .share-svg-logo {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

/* 统一分享组件在详情页模块底部的上下文间距
   (intro header + widget-content 之后, section 底部) */
/* [中文] 分享组件在模块底部时的间距 (自带 border-top 分隔线) */
.widget-content + .fb-share-row,
.player-header-matches ~ .fb-share-row,
.commentary-single-footer ~ .fb-share-row,
.commentary-single-content ~ .fb-share-row {
    margin-top: 16px;
}

/* 分享按钮组在移动端单行显示
   [中文] 8 个按钮 34px + 间距 4px = 最小宽 300px, ≥375px 视口可用宽 303px+ 均可单行放下;
   [中文] 更窄屏幕 (≤360px) 优雅折为两行居中 */
@media (max-width: 480px) {
    .match-share {
        flex-wrap: wrap;
        gap: 8px;
    }
    .share-buttons {
        flex-wrap: wrap;
        justify-content: center;
        gap: 4px;
    }
    /* [中文] 移动端按钮收窄至 34px, 保证 8 个图标一行 */
    .share-btn {
        width: 34px;
        height: 34px;
    }
    /* 比赛详情页: 分享行嵌在 .match-header 内, 收窄头部内边距 + 隐藏 "Share:" 标签 */
    /* [中文] 比赛页头部内边距收窄 + 隐藏分享标签 */
    .match-header {
        padding: 16px 12px;
    }
    .match-header .share-label {
        display: none;
    }
}

/* Back-to-top Button - 返回顶部按钮 */
/* [中文] 右下角透明按钮, 滚动超过400px后淡入 */
.fb-back-to-top {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 999;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.55); /* 半透明白 */
    backdrop-filter: blur(4px); /* 毛玻璃效果 */
    border: 1px solid rgba(0, 0, 0, 0.08); /* 极淡描边 */
    border-radius: 50%;
    color: var(--text-primary);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* 显示态 (滚动超过阈值) */
.fb-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* 悬停 */
.fb-back-to-top:hover {
    background: rgba(255, 255, 255, 0.85);
}

/* 深色模式适配 — 若存在深色模式变量 */
@media (prefers-color-scheme: dark) {
    .fb-back-to-top {
        background: rgba(40, 44, 52, 0.55);
        border-color: rgba(255, 255, 255, 0.1);
        color: #eee;
    }
    .fb-back-to-top:hover {
        background: rgba(40, 44, 52, 0.85);
    }
}

/* 图标尺寸 */
.fb-back-to-top .dashicons {
    font-size: 20px;
    width: 20px;
    height: 20px;
}

/* 移动端略微缩小并避开边缘 */
@media (max-width: 480px) {
    .fb-back-to-top {
        right: 14px;
        bottom: 14px;
        width: 36px;
        height: 36px;
    }
}

/* Prediction Widget - 预测组件 */
.prediction-widget {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 大圆角 */
    padding: 20px; /* 内边距 */
    margin-bottom: 32px; /* 底部外边距 */
    border: 1px solid var(--border-color); /* 边框 */
}

/* 组件标题 */
.prediction-widget .widget-title {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 预测内容 */
.prediction-content {
    text-align: center; /* 文字居中 */
}

/* 预测球队 */
.prediction-teams {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    gap: 16px; /* 元素间距 */
    margin-bottom: 20px; /* 底部外边距 */
}

/* 球队名称 */
.prediction-team {
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* VS文字 */
.prediction-vs {
    color: var(--text-muted); /* 文字颜色 */
}

/* 预测按钮容器 */
.prediction-buttons {
    display: flex; /* 弹性布局 */
    gap: 12px; /* 元素间距 */
    justify-content: center; /* 水平居中 */
    margin-bottom: 12px; /* 底部外边距 */
}

/* 预测按钮 */
.prediction-btn {
    flex: 1; /* 占据剩余空间 */
    max-width: 140px; /* 最大宽度 */
    padding: 12px 8px; /* 内边距 */
    border: 2px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-md); /* 中等圆角 */
    background: var(--bg-tertiary); /* 三级背景色 */
    cursor: pointer; /* 鼠标指针 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

/* 预测按钮悬停和选中状态 */
.prediction-btn:hover,
.prediction-btn.selected {
    border-color: var(--accent-blue); /* 蓝色边框 */
    background: rgba(59, 130, 246, 0.1); /* 蓝色背景 */
}

/* 主队选中状态 */
.prediction-btn.home.selected {
    border-color: var(--accent-red); /* 红色边框 */
    background: rgba(239, 68, 68, 0.1); /* 红色背景 */
}

/* 平局选中状态 */
.prediction-btn.draw.selected {
    border-color: var(--accent-yellow); /* 黄色边框 */
    background: rgba(234, 179, 8, 0.1); /* 黄色背景 */
}

/* 客队选中状态 */
.prediction-btn.away.selected {
    border-color: var(--accent-green); /* 绿色边框 */
    background: rgba(34, 197, 94, 0.1); /* 绿色背景 */
}

/* 按钮标签 */
.btn-label {
    display: block; /* 块级显示 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* 按钮百分比 */
.btn-percentage {
    display: block; /* 块级显示 */
    font-size: 1rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--accent-blue); /* 蓝色文字 */
    margin-top: 4px; /* 顶部外边距 */
}

/* 预测提示 */
.prediction-hint {
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin: 0; /* 无外边距 */
}

/* Detail Tabs - 详情标签页 */
.detail-tabs {
    display: flex; /* 弹性布局 */
    gap: 8px; /* 元素间距 */
    margin-bottom: 32px; /* 底部外边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
    padding-bottom: 0; /* 底部内边距 */
    overflow-x: auto; /* 水平滚动 */
}

/* 标签页按钮 */
.tab-btn {
    padding: 12px 24px; /* 内边距 */
    background: none; /* 无背景 */
    border: none; /* 无边框 */
    color: var(--text-muted); /* 文字颜色 */
    font-size: 0.9375rem; /* 字体大小 */
    font-weight: 500; /* 中等粗细 */
    cursor: pointer; /* 鼠标指针 */
    border-bottom: 2px solid transparent; /* 底部透明边框 */
    transition: all 0.2s; /* 过渡动画 */
    white-space: nowrap; /* 不换行 */
}

/* 标签页按钮悬停状态 */
.tab-btn:hover {
    color: var(--text-primary); /* 主文字颜色 */
}

/* 标签页按钮激活状态 */
.tab-btn.active {
    color: var(--accent-blue); /* 蓝色文字 */
    border-bottom-color: var(--accent-blue); /* 蓝色底部边框 */
}

/* Tab Content - 标签内容 */
.tab-content {
    display: none; /* 隐藏 */
}

/* 激活状态的标签内容 */
.tab-content.active {
    display: block; /* 块级显示 */
}

/* Overview Grid - 概览网格 */
.overview-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: 1fr 1fr; /* 两列布局 */
    gap: 24px; /* 网格间距 */
    margin-bottom: 40px; /* 底部外边距 */
}

/* 响应式布局 */
@media (max-width: 900px) {
    .overview-grid {
        grid-template-columns: 1fr; /* 单列布局 */
    }
}

/* Detail Section - 详情区域 */
.detail-section {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 大圆角 */
    padding: 20px; /* 内边距 */
    border: 1px solid var(--border-color); /* 边框 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 区域标题 */
.detail-section .section-title {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    font-size: 1.25rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* 非头部区域的标题 */
.detail-section .section-title:not(.section-header .section-title) {
    margin-bottom: 20px; /* 底部外边距 */
}

/* Detail Section Title Separator - 统一详情页模块标题与内容之间的分隔线 (与 Popular Leagues 一致)
   [中文] 详情页模块标题分隔线: padding-bottom 12px + border-bottom + margin-bottom 16px
   [中文] 仅作用于未包裹 .section-header 的标题 (避免与已有 .section-header 分隔线冲突) */
.detail-section.team-comparison .section-title:not(.section-header .section-title),
.detail-section.stats-section .section-title:not(.section-header .section-title),
.detail-section.lineups-section .section-title:not(.section-header .section-title),
.detail-section.match-preview-section .section-title:not(.section-header .section-title),
.detail-section.match-videos-section .section-title:not(.section-header .section-title) {
    padding-bottom: 12px; /* 标题底部内边距 - 与 Popular Leagues 一致 */
    border-bottom: 1px solid var(--border-color); /* 分隔线 - 与 Popular Leagues 一致 */
    margin-bottom: 16px; /* 底部外边距 - 与 Popular Leagues 一致 (覆盖原 20px) */
}

/* 区域标题图标 */
.detail-section .section-title .dashicons {
    color: var(--accent-blue); /* 蓝色图标 */
}

/* 特定页面的区域标题图标（红色） */
.league-detail-page .detail-section.standings-section .section-title .dashicons,
.league-detail-page .detail-section.fixtures-section .section-title .dashicons,
.league-detail-page .detail-section.all-seasons-section .section-title .dashicons,
.league-season-page .detail-section .section-title .dashicons,
.team-detail-page .detail-section.team-standings-section .section-title .dashicons,
.team-detail-page .detail-section.team-squad-section .section-title .dashicons,
.team-detail-page .detail-section.team-achievements-section .section-title .dashicons,
.player-detail-page .detail-section.player-achievements-section .section-title .dashicons,
.player-detail-page .detail-section.player-matches-section .section-title .dashicons,
.player-detail-page .detail-section.player-bio-section .section-title .dashicons,
.player-detail-page .detail-section.player-injuries-section .section-title .dashicons,
.player-detail-page .detail-section.player-team-history-section .section-title .dashicons,
.player-detail-page .detail-section.player-season-history-section .section-title .dashicons {
    color: var(--accent-red); /* 红色图标 */
    font-size: 1.125rem; /* 字体大小 */
    width: 1.125rem; /* 宽度 */
    height: 1.125rem; /* 高度 */
}

/* Detail Section Title Icons - 特定区域的红色图标 (尺寸与 Popular Leagues 一致)
   [中文] 详情页模块标题图标统一: 红色 + 1.125rem 尺寸 */
.detail-section.summary-section .section-title .dashicons,
.detail-section.team-comparison .section-title .dashicons,
.detail-section.stats-section .section-title .dashicons,
.detail-section.lineups-section .section-title .dashicons,
.detail-section.match-preview-section .section-title .dashicons,
.detail-section.match-videos-section .section-title .dashicons {
    color: var(--accent-red); /* 红色图标 */
    font-size: 1.125rem; /* 图标大小 - 与 Popular Leagues 一致 */
    width: 1.125rem; /* 宽度 */
    height: 1.125rem; /* 高度 */
}

/* Detail Section Title Text - 统一详情页模块标题文字样式 (与 Popular Leagues 一致)
   [中文] 详情页模块标题文字统一: 1rem + gap 8px */
.detail-section.team-comparison .section-title,
.detail-section.stats-section .section-title,
.detail-section.lineups-section .section-title,
.detail-section.match-preview-section .section-title,
.detail-section.match-videos-section .section-title,
.detail-section.standings-section .section-title,
.detail-section.fixtures-section .section-title,
.detail-section.team-standings-section .section-title,
.detail-section.team-achievements-section .section-title,
.detail-section.player-achievements-section .section-title,
.detail-section.player-matches-section .section-title,
.detail-section.player-bio-section .section-title,
.detail-section.player-injuries-section .section-title,
.detail-section.player-team-history-section .section-title,
.detail-section.player-season-history-section .section-title {
    font-size: 1rem; /* 文字大小 - 与 Popular Leagues 一致 */
    gap: 8px; /* 图标与文字间距 - 与 Popular Leagues 一致 */
}

/* Summary Section - 摘要区域 */
.summary-content p {
    font-size: 0.9375rem; /* 字体大小 */
    line-height: 1.6; /* 行高 */
    color: var(--text-secondary); /* 次要文字颜色 */
    margin-bottom: 12px; /* 底部外边距 */
}

/* 最后一个段落 */
.summary-content p:last-child {
    margin-bottom: 0; /* 无底部外边距 */
}

/* Match Preview Section - SEO 比赛前瞻区域 */
.match-preview-content p {
    font-size: 0.9375rem; /* 字体大小 */
    line-height: 1.7; /* 行高 */
    color: var(--text-secondary); /* 次要文字颜色 */
    margin-bottom: 14px; /* 底部外边距 */
}

.match-preview-content p:last-child {
    margin-bottom: 0; /* 最后一个段落无底部外边距 */
}

.match-preview-meta {
    display: none; /* 隐藏字数元数据 */
}

/* Team Comparison - 球队对比 */
.comparison-container {
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-lg); /* 大圆角 */
    overflow: hidden; /* 隐藏溢出 */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); /* 阴影 */
}

/* 球队对比行 */
.comparison-team-row {
    display: grid; /* 网格布局 */
    grid-template-columns: 1fr 80px 1fr; /* 三列布局 */
    align-items: center; /* 垂直居中 */
    padding: 20px; /* 内边距 */
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%); /* 渐变背景 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* 球队信息 */
.comparison-team {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    min-width: 0; /* [修复] grid 子项默认 min-width:auto，长队名会撑破 1fr 轨道（grid blowout），必须显式归零 */
}

/* 主队 */
.comparison-team.home {
    justify-self: flex-end; /* 右对齐 */
    padding-right: 16px; /* 右侧内边距 */
}

/* 客队 */
.comparison-team.away {
    justify-self: flex-start; /* 左对齐 */
    padding-left: 16px; /* 左侧内边距 */
}

/* 球队小Logo */
.comparison-team .team-logo-small {
    width: 42px; /* 宽度 */
    height: 42px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 图片填充方式 */
    border: 3px solid var(--bg-primary); /* 边框 */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); /* 阴影 */
}

/* 球队名称 */
.comparison-team .team-name {
    font-size: 0.9375rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    text-align: center; /* 文字居中 */
    overflow-wrap: break-word; /* [修复] 超长队名（连写字符）强制换行，防止撑破列宽 */
}

/* VS文字 */
.comparison-vs {
    font-size: 0.9375rem; /* 字体大小 */
    font-weight: 800; /* 粗体 */
    color: var(--text-muted); /* 文字颜色 */
    text-transform: uppercase; /* 大写转换 */
    letter-spacing: 1px; /* 字母间距 */
    text-align: center; /* 文字居中 */
}

/* 对比内容 */
.comparison-content {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 1px; /* 元素间距 */
    background: var(--border-color); /* 边框颜色背景 */
}

/* 对比行 */
.comparison-row {
    display: grid; /* 网格布局 */
    grid-template-columns: 1fr 100px 1fr; /* 三列布局 */
    background: var(--bg-tertiary); /* 三级背景色 */
}

/* 对比列 */
.comparison-col {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    padding: 12px 16px; /* 内边距 */
    min-width: 0; /* [修复] 同 .comparison-team：grid blowout 防护 */
}

/* 主队列 */
.comparison-col.home {
    border-right: 1px solid var(--border-color); /* 右侧边框 */
    flex-direction: row; /* 水平排列 */
    justify-content: flex-end; /* 右对齐 */
    gap: 12px; /* 元素间距 */
}

/* 中间列 */
.comparison-col.center {
    background: var(--bg-secondary); /* 背景色 */
}

/* 客队列 */
.comparison-col.away {
    border-left: 1px solid var(--border-color); /* 左侧边框 */
    flex-direction: row; /* 水平排列 */
    justify-content: flex-start; /* 左对齐 */
    gap: 12px; /* 元素间距 */
}

/* 统计标签 */
.team-comparison .stat-label {
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-muted); /* 文字颜色 */
    text-transform: uppercase; /* 大写转换 */
    letter-spacing: 0.5px; /* 字母间距 */
    text-align: center; /* 文字居中 */
    display: block; /* 块级显示 */
    width: 100%; /* 宽度100% */
}

/* 数据值 */
.data-value {
    font-size: 1.125rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    letter-spacing: -0.5px; /* 字母间距 */
    min-width: 45px; /* 最小宽度 */
    text-align: center; /* 文字居中 */
}

/* 对比进度条 */
.comparison-progress {
    width: 100%; /* 宽度100% */
    max-width: 120px; /* 最大宽度 */
    height: 6px; /* 高度 */
    background: var(--bg-primary); /* 主背景色 */
    border-radius: 3px; /* 圆角 */
    overflow: hidden; /* 隐藏溢出 */
}

/* =====================================================
   Icon White Circle Background
   图标白色圆形背景
===================================================== */
/* 通用图标白色圆形背景 - 覆盖所有图标类型 */
.league-logo,
.team-logo,
.league-icon,
.match-card-logo,
.team-logo-small,
.team-logo-mini,
.mini-team-logo,
.mini-league-logo,
.player-team-logo,
.opponent-logo {
    background-color: #ffffff; /* 白色背景 */
    border-radius: 50%; /* 圆形 */
    padding: 4px; /* 内边距 */
    box-sizing: border-box; /* 盒模型 */
    object-fit: contain; /* 图片填充方式 */
}

/* 小尺寸图标调整 */
.standings-row .col-team .team-logo {
    padding: 2px; /* 内边距 */
}

.match-teams .team-logo {
    padding: 3px; /* 内边距 */
}

/* 排行榜表格小图标在移动设备上的调整 */
@media (max-width: 768px) {
    .standings-row .col-team .team-logo {
        padding: 1px; /* 内边距 */
    }

    .standings-header .league-logo {
        padding: 1px !important; /* 内边距 */
    }
}

/* 主队列进度条填充 */
.comparison-col.home .progress-fill {
    height: 100%; /* 高度100% */
    background: linear-gradient(90deg, var(--accent-green) 0%, #4ade80 100%); /* 绿色渐变 */
    border-radius: 0 3px 3px 0; /* 右侧圆角 */
    margin-left: auto; /* 右对齐 */
    box-shadow: 0 0 8px rgba(34, 197, 94, 0.4); /* 阴影 */
}

/* 客队列进度条填充 */
.comparison-col.away .progress-fill {
    height: 100%; /* 高度100% */
    background: linear-gradient(90deg, #60a5fa 0%, var(--accent-blue) 100%); /* 蓝色渐变 */
    border-radius: 3px 0 0 3px; /* 左侧圆角 */
    box-shadow: 0 0 8px rgba(59, 130, 246, 0.4); /* 阴影 */
}

/* 比赛状态徽章容器 */
.form-badges {
    display: flex; /* 弹性布局 */
    gap: 4px; /* 元素间距 */
    flex-wrap: wrap; /* [修复] 徽章放不下时换行兜底（手机上 1fr 列 ~90px 装不下 5×24px+间距=136px） */
    justify-content: center; /* 换行后居中对齐 */
}

/* 比赛状态徽章 */
.form-badge {
    width: 24px; /* 宽度 */
    height: 24px; /* 高度 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: #ffffff; /* 白色文字 */
    border-radius: 4px; /* 圆角 */
    text-transform: uppercase; /* 大写转换 */
}

/* 胜利徽章 */
.form-w {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); /* 绿色渐变 */
    box-shadow: 0 2px 4px rgba(34, 197, 94, 0.4); /* 阴影 */
}

/* 平局徽章 */
.form-d {
    background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%); /* 蓝色渐变 */
    box-shadow: 0 2px 4px rgba(59, 130, 246, 0.4); /* 阴影 */
}

/* 失败徽章 */
.form-l {
    background: linear-gradient(135deg, #9ca3af 0%, #6b7280 100%); /* 灰色渐变 */
    box-shadow: 0 2px 4px rgba(107, 114, 128, 0.4); /* 阴影 */
}

/* 移动端响应式（Team Comparison）
   [修复] 旧规则针对重构前类名（.comparison-grid/.comparison-team-header/.vs-badge），
   模板已改用 .comparison-team-row/.comparison-team/.comparison-vs，旧规则全部落空 */
@media (max-width: 768px) {
    .comparison-team-row {
        grid-template-columns: 1fr 48px 1fr; /* VS 列 80→48px，给两侧队名让位 */
        padding: 14px 8px; /* 内边距 */
    }

    .comparison-team.home {
        padding-right: 8px; /* 内边距 */
    }

    .comparison-team.away {
        padding-left: 8px; /* 内边距 */
    }

    .comparison-team .team-logo-small {
        width: 36px; /* 宽度 42→36px */
        height: 36px; /* 高度 42→36px */
    }

    .comparison-team .team-name {
        font-size: 0.8125rem; /* 字体大小 */
    }

    .comparison-vs {
        font-size: 0.75rem; /* 字体大小 */
    }

    .comparison-row {
        grid-template-columns: 1fr 84px 1fr; /* 三列布局（中列 100→84px） */
    }

    .comparison-col {
        padding: 10px 6px; /* 内边距 */
        gap: 6px; /* 元素间距 */
    }

    .comparison-col.home,
    .comparison-col.away {
        gap: 8px; /* 水平排列间距 */
    }

    .form-badge {
        width: 20px; /* 宽度 24→20px：5 徽章 + 间距 = 116px，适配 ~110px 列宽 */
        height: 20px; /* 高度 24→20px */
        font-size: 0.6875rem; /* 字体大小 */
    }

    .data-value {
        font-size: 1rem; /* 字体大小 */
    }

    .comparison-progress {
        max-width: 80px; /* 最大宽度 120→80px */
    }

    .team-comparison .stat-label {
        font-size: 0.625rem; /* 字体大小 */
    }
}

/* Events Timeline - 事件时间线 */
.events-timeline {
    position: relative; /* 相对定位 */
    padding-left: 20px; /* 左侧内边距 */
}

/* 时间线垂直线 */
.events-timeline::before {
    content: ''; /* 空内容 */
    position: absolute; /* 绝对定位 */
    left: 7px; /* 左侧距离 */
    top: 0; /* 顶部距离 */
    bottom: 0; /* 底部距离 */
    width: 2px; /* 宽度 */
    background: var(--border-color); /* 边框颜色 */
}

/* 事件项 */
.event-item {
    position: relative; /* 相对定位 */
    display: flex; /* 弹性布局 */
    align-items: flex-start; /* 顶部对齐 */
    gap: 16px; /* 元素间距 */
    padding: 12px 0; /* 垂直内边距 */
    margin-bottom: 8px; /* 底部外边距 */
}

/* 事件标记点 */
.event-item::before {
    content: ''; /* 空内容 */
    position: absolute; /* 绝对定位 */
    left: -17px; /* 左侧距离 */
    top: 18px; /* 顶部距离 */
    width: 10px; /* 宽度 */
    height: 10px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border: 2px solid var(--border-color); /* 边框 */
}

/* 进球事件标记点 */
.event-item.goal::before {
    background: var(--accent-green); /* 绿色背景 */
    border-color: var(--accent-green); /* 绿色边框 */
}

/* 黄牌/红牌事件标记点 */
.event-item.yellow-card::before,
.event-item.red-card::before {
    background: var(--accent-yellow); /* 黄色背景 */
    border-color: var(--accent-yellow); /* 黄色边框 */
}

/* 红牌事件标记点 */
.event-item.red-card::before {
    background: var(--accent-red); /* 红色背景 */
    border-color: var(--accent-red); /* 红色边框 */
}

/* 事件时间 */
.event-time {
    min-width: 40px; /* 最小宽度 */
    font-weight: 700; /* 粗体 */
    color: var(--text-muted); /* 文字颜色 */
    font-size: 0.875rem; /* 字体大小 */
}

/* 事件图标 */
.event-icon {
    font-size: 1.25rem; /* 字体大小 */
}

/* 事件内容 */
.event-content {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 12px; /* 元素间距 */
    flex: 1; /* 占据剩余空间 */
}

/* 事件球队Logo */
.event-team .team-logo-small {
    width: 30px; /* 宽度 */
    height: 30px; /* 高度 */
}

/* 事件详情 */
.event-details {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 2px; /* 元素间距 */
}

/* 事件球员 */
.event-player {
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* 助攻球员 */
.event-assist {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 事件类型 */
.event-type {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-secondary); /* 次要文字颜色 */
}

/* Stats Compare - 统计对比 */
.stats-compare {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 大圆角 */
    padding: 24px; /* 内边距 */
    border: 1px solid var(--border-color); /* 边框 */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); /* 阴影 */
}

/* 统计头部 */
.stats-header {
    display: grid; /* 网格布局 */
    grid-template-columns: 1fr 80px 1fr; /* 三列布局 */
    align-items: center; /* 垂直居中 */
    margin-bottom: 20px; /* 底部外边距 */
    padding-bottom: 16px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* 统计球队 */
.stats-team {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
}

/* 主队 */
.stats-team.home {
    justify-self: end; /* 右对齐 */
}

/* 客队 */
.stats-team.away {
    justify-self: start; /* 左对齐 */
}

/* 球队Logo */
.stats-team img {
    width: 42px; /* 宽度 */
    height: 42px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 图片填充方式 */
    border: 3px solid var(--bg-primary); /* 边框 */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); /* 阴影 */
}

/* 球队名称 */
.stats-team span {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    text-align: center; /* 文字居中 */
}

/* VS文字 */
.stats-vs {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 800; /* 粗体 */
    color: var(--text-muted); /* 文字颜色 */
    text-transform: uppercase; /* 大写转换 */
    letter-spacing: 1px; /* 字母间距 */
    text-align: center; /* 文字居中 */
}

/* 统计行 */
.stats-row {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 12px; /* 元素间距 */
    padding: 6px 0; /* 垂直内边距 */
}

/* 统计值 */
.stats-row .stat-value {
    min-width: 55px; /* 最小宽度 */
    font-size: 1rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    letter-spacing: -0.3px; /* 字母间距 */
}

/* 主队统计值 */
.stats-row .stat-value.home {
    text-align: right; /* 文字右对齐 */
}

/* 客队统计值 */
.stats-row .stat-value.away {
    text-align: left; /* 文字左对齐 */
}

/* 统计进度条 */
.stat-bar {
    flex: 1; /* 占据剩余空间 */
    position: relative; /* 相对定位 */
    height: 20px; /* 高度 */
    background: var(--bg-primary); /* 主背景色 */
    border-radius: var(--radius-sm); /* 小圆角 */
    overflow: hidden; /* 隐藏溢出 */
    display: flex; /* 弹性布局 */
}

/* 主队进度条 */
.stat-bar-home {
    height: 100%; /* 高度100% */
    background: linear-gradient(90deg, #2e7d32 0%, #388e3c 100%); /* 暗绿色渐变 */
    border-radius: var(--radius-sm) 0 0 var(--radius-sm); /* 左侧圆角 */
    transition: width 0.3s; /* 过渡动画 */
}

/* 客队进度条 */
.stat-bar-away {
    height: 100%; /* 高度100% */
    background: linear-gradient(90deg, #1565c0 0%, #1976d2 100%); /* 暗蓝色渐变 */
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0; /* 右侧圆角 */
    transition: width 0.3s; /* 过渡动画 */
}

/* 统计标签 */
.stat-bar .stat-label {
    position: absolute; /* 绝对定位 */
    top: 50%; /* 顶部位置 */
    left: 50%; /* 左侧位置 */
    transform: translate(-50%, -50%); /* 居中对齐 */
    font-size: 0.6875rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: #ffffff; /* 白色文字 */
    text-transform: uppercase; /* 大写转换 */
    letter-spacing: 0.5px; /* 字母间距 */
    white-space: nowrap; /* 不换行 */
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); /* 文字阴影 */
}

/* Lineups - 阵容 */
/* [修复] 列改用 minmax(0,1fr) — 球员名 nowrap 时 1fr(=minmax(auto,1fr))
   的最小宽为全名宽, 会撑破容器导致整个模块右溢出 (grid 经典溢出 bug);
   收缩后配合 .player-name 的 ellipsis 截断 */
.lineups-container {
    display: grid; /* 网格布局 */
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); /* 两列布局(可收缩) */
    gap: 24px; /* 网格间距 */
}

/* Team detail page lineups - 球队详情页阵容（单列） */
.team-detail-page .lineups-container {
    grid-template-columns: minmax(0, 1fr); /* 单列布局(可收缩) */
}

/* 移动端响应式 */
@media (max-width: 768px) {
    .lineups-container {
        grid-template-columns: minmax(0, 1fr); /* 单列布局(可收缩) */
    }
}

/* 阵容球队 */
.lineup-team {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 大圆角 */
    padding: 20px; /* 内边距 */
    border: 1px solid var(--border-color); /* 边框 */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); /* 阴影 */
}

/* 阵容头部 */
.lineup-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 12px; /* 元素间距 */
    margin-bottom: 16px; /* 底部外边距 */
    padding-bottom: 12px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* 球队小Logo */
.lineup-header .team-logo-small {
    width: 36px; /* 宽度 */
    height: 36px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 图片填充方式 */
}

/* 球队名称 */
.lineup-info h3 {
    font-size: 1rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin: 0; /* 无外边距 */
}

/* 阵型 */
.formation {
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 教练信息 */
.coach-info {
    margin-bottom: 16px; /* 底部外边距 */
    font-size: 0.8125rem; /* 字体大小 */
}

/* 教练标签 */
.coach-label {
    color: var(--text-muted); /* 文字颜色 */
}

/* 教练名称 */
.coach-name {
    color: var(--text-primary); /* 主文字颜色 */
    font-weight: 500; /* 中等粗细 */
}

/* 阵容区域 */
.lineup-section {
    margin-bottom: 12px; /* 底部外边距 */
}

/* 阵容标签 */
.lineup-label {
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-muted); /* 文字颜色 */
    text-transform: uppercase; /* 大写转换 */
    letter-spacing: 0.5px; /* 字母间距 */
    margin-bottom: 10px; /* 底部外边距 */
}

/* 阵容分隔线 */
.lineup-separator {
    height: 1px; /* 高度 */
    background: linear-gradient(90deg, transparent, var(--border-color), transparent); /* 渐变背景 */
    margin: 16px 0; /* 垂直外边距 */
}

/* 球员列表 */
.players-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 6px; /* 元素间距 */
}

/* 替补球员列表 */
.players-list.substitutes {
    opacity: 0.85; /* 透明度 */
}

/* 球员列表头部 */
.players-header {
    display: grid; /* 网格布局 */
    grid-template-columns: 36px 36px minmax(0, 1fr) 40px 50px; /* 列布局(名称列可收缩) */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 网格间距 */
    padding: 10px 12px; /* 内边距 */
    background-color: var(--bg-primary); /* 主背景色 */
    border-radius: var(--radius-sm); /* 小圆角 */
    margin-bottom: 4px; /* 底部外边距 */
}

/* 列表头部列 */
.players-header-col {
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-muted); /* 文字颜色 */
    text-transform: uppercase; /* 大写转换 */
    letter-spacing: 0.5px; /* 字母间距 */
}

/* 照片列（隐藏） */
.players-header-photo {
    visibility: hidden; /* 隐藏 */
}

/* 号码列 */
.players-header-number {
    text-align: center; /* 文字居中 */
}

/* 名称列 */
.players-header-name {}

/* 年龄列 */
.players-header-age {
    text-align: center; /* 文字居中 */
}

/* 位置列 */
.players-header-pos {
    text-align: right; /* 文字右对齐 */
}

/* 球员行 */
.player-row {
    display: grid; /* 网格布局 */
    grid-template-columns: 36px 36px minmax(0, 1fr) 40px 50px; /* 列布局(名称列可收缩, 配合省略号截断) */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 网格间距 */
    padding: 8px 12px; /* 内边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-sm); /* 小圆角 */
    transition: background-color var(--transition-fast); /* 过渡动画 */
    min-height: 40px; /* 最小高度 */
}

/* 球员行悬停状态 */
.player-row:hover {
    background: var(--bg-primary); /* 主背景色 */
}

/* 球员照片包装器 */
.player-photo-wrapper {
    width: 32px; /* 宽度 */
    height: 32px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    overflow: hidden; /* 隐藏溢出 */
    background-color: var(--bg-primary); /* 主背景色 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    flex-shrink: 0; /* 不缩小 */
    margin: 0 auto; /* 居中 */
}

/* 球员照片 */
.player-photo {
    width: 100%; /* 宽度100% */
    height: 100%; /* 高度100% */
    object-fit: cover; /* 图片填充方式 */
    display: block; /* 块级显示 */
}

/* 球员图标 */
.player-icon {
    font-size: 1.25rem; /* 字体大小 */
    color: var(--text-muted); /* 图标颜色 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
}



/* 球员名称 */
.player-row .player-name {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 500; /* 中等粗细 */
    color: var(--text-primary); /* 主文字颜色 */
    text-decoration: none; /* 无下划线 */
    white-space: nowrap; /* 不换行 */
    overflow: hidden; /* 隐藏溢出 */
    text-overflow: ellipsis; /* 省略号 */
    display: block; /* 块级显示 */
    line-height: 1; /* 行高 */
}

/* 球员名称悬停状态 */
.player-row .player-name:hover {
    color: var(--accent-red); /* 红色文字 */
}

/* 球员位置 */
.player-pos {
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 500; /* 中等粗细 */
    color: var(--text-muted); /* 文字颜色 */
    text-align: right; /* 文字右对齐 */
    text-transform: uppercase; /* 大写转换 */
    display: block; /* 块级显示 */
    line-height: 1; /* 行高 */
}

/* Lineups 移动端紧凑化 — 修复 390px 视口右溢出
   [中文] 根因: .widget 与 .lineup-team 双重卡片嵌套(各 20px padding)叠加
   [中文] + 球员名 nowrap, 可用宽仅 ~236px 装不下网格最小宽
   [中文] 方案: 取消外层 .widget 内边距(内层卡片自带完整样式) + 内层卡片
   [中文] 收至 12px + 隐藏年龄列, 球员名列可得 ~140px 并以省略号截断 */
@media (max-width: 768px) {
    /* [中文] 取消双重嵌套内边距; 卡片间距由 .lineups-container gap 统一控制 */
    .lineups-section .widget {
        padding: 0;
        margin-bottom: 0;
    }
    .lineup-team {
        padding: 12px; /* 内边距收紧 */
    }
    /* [中文] 紧凑四列: 照片/号码/名称/位置 (年龄列隐藏) */
    .players-header,
    .player-row {
        grid-template-columns: 36px 36px minmax(0, 1fr) 36px;
        gap: 8px;
        padding: 8px 10px;
    }
    .players-header-age,
    .player-age {
        display: none; /* 移动端隐藏年龄列, 让位给球员名 */
    }
}

/* 无数据消息 */
.no-data-message {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    gap: 8px; /* 元素间距 */
    padding: 16px; /* 内边距 */
    color: var(--text-muted); /* 文字颜色 */
    font-size: 0.875rem; /* 字体大小 */
    background-color: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-sm); /* 小圆角 */
}

/* 无数据消息图标 */
.no-data-message .dashicons {
    font-size: 1.25rem; /* 字体大小 */
    color: var(--accent-blue); /* 蓝色图标 */
}

/* 教练行 */
.coach-row {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: flex-start; /* 左对齐 */
    padding: 8px 12px; /* 内边距 */
    background: var(--bg-primary); /* 主背景色 */
    border-radius: var(--radius-sm); /* 小圆角 */
    margin-bottom: 8px; /* 底部外边距 */
}

/* 教练左侧 */
.coach-left {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 12px; /* 元素间距 */
    min-width: 0; /* [修复] 允许收缩, 使 .coach-name 的省略号截断生效, 防止长教练名撑破卡片 */
}

/* 教练右侧 */
.coach-right {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 0; /* 无间距 */
    margin-left: auto; /* 右对齐 */
}

/* 教练分隔线 */
.coach-divider {
    width: 1px; /* 宽度 */
    height: 32px; /* 高度 */
    background: var(--border-color); /* 边框颜色 */
    margin: 0 16px; /* 水平外边距 */
}

/* 教练徽章 */
.coach-badge {
    background: var(--accent-red); /* 红色背景 */
    padding: 6px 12px; /* 内边距 */
    border-radius: var(--radius-sm); /* 小圆角 */
}

/* 教练职位 */
.coach-badge .coach-position {
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: white; /* 白色文字 */
    text-align: center; /* 文字居中 */
    text-transform: uppercase; /* 大写转换 */
    display: block; /* 块级显示 */
    line-height: 1; /* 行高 */
}

/* 教练名称 */
.coach-row .coach-name {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 500; /* 中等粗细 */
    color: var(--text-primary); /* 主文字颜色 */
    text-decoration: none; /* 无下划线 */
    white-space: nowrap; /* 不换行 */
    overflow: hidden; /* 隐藏溢出 */
    text-overflow: ellipsis; /* 省略号 */
    display: block; /* 块级显示 */
    line-height: 1; /* 行高 */
}

/* 空状态 */
.empty-state {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    padding: 40px 20px; /* 内边距 */
    text-align: center; /* 文字居中 */
}

/* 空状态图标 */
.empty-state .dashicons {
    font-size: 3rem; /* 字体大小 */
    color: var(--text-muted); /* 图标颜色 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 空状态标题 */
.empty-state h3 {
    font-size: 1.125rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin-bottom: 8px; /* 底部外边距 */
}

/* 空状态描述 */
.empty-state p {
    font-size: 0.875rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* H2H - 历史交锋 */
.h2h-summary {
    display: flex; /* 弹性布局 */
    justify-content: center; /* 水平居中 */
    margin-bottom: 24px; /* 底部外边距 */
}

/* H2H统计 */
.h2h-stat {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    padding: 20px 40px; /* 内边距 */
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
    border: 1px solid var(--border-color); /* 边框 */
}

/* H2H数值 */
.h2h-stat .h2h-value {
    font-size: 2rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* H2H标签 */
.h2h-stat .h2h-label {
    font-size: 0.875rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* H2H列表 */
.h2h-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 8px; /* 元素间距 */
}

/* H2H列表项 */
.h2h-item {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    padding: 12px; /* 内边距 */
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
    border: 1px solid var(--border-color); /* 边框 */
    text-decoration: none; /* 无下划线 */
    transition: all 0.2s; /* 过渡动画 */
    gap: 12px; /* 元素间距 */
}

/* H2H列表项悬停状态 */
.h2h-item:hover {
    background-color: var(--bg-tertiary); /* 三级背景色 */
}

/* H2H左侧（日期） */
.h2h-left {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    min-width: 50px; /* 最小宽度 */
    padding-right: 8px; /* 右侧内边距 */
    border-right: 1px solid var(--border-color); /* 右侧边框 */
}

/* 日期（月日） */
.h2h-date-month-day {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-primary); /* 主文字颜色 */
    font-weight: 500; /* 中等粗细 */
}

/* 日期（年份） */
.h2h-date-year {
    font-size: 0.65rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin-top: 2px; /* 顶部外边距 */
}

/* H2H右侧（比赛信息） */
.h2h-right {
    flex: 1; /* 占据剩余空间 */
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    justify-content: center; /* 垂直居中 */
    gap: 4px; /* 元素间距 */
}

/* H2H行 */
.h2h-row {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
}

/* H2H球队信息 */
.h2h-team-info {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    font-size: 0.85rem; /* 字体大小 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* 球队小Logo */
.h2h-team-info .team-logo-small {
    width: 20px; /* 宽度 */
    height: 20px; /* 高度 */
}

/* H2H比分 */
.h2h-score-value {
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    min-width: 24px; /* 最小宽度 */
    text-align: right; /* 文字右对齐 */
}

/* 获胜球队信息 */
.h2h-row.winner .h2h-team-info {
    font-weight: 600; /* 粗体 */
    color: var(--accent-blue); /* 蓝色文字 */
}

/* 获胜球队比分 */
.h2h-row.winner .h2h-score-value {
    color: var(--accent-blue); /* 蓝色文字 */
}

/* H2H联赛信息（隐藏） */
.h2h-league-info {
    display: none; /* 隐藏 */
}

/* =====================================================
   Live Matches Widget Styles
   正在进行的比赛模块样式
===================================================== */

/* 直播列表 */
.live-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 8px; /* 元素间距 */
}

/* 直播项 */
.live-item {
    display: grid; /* 网格布局 */
    grid-template-columns: 20% 15% 45% 20%; /* 四列布局 */
    padding: 10px; /* 内边距 */
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
    border: 1px solid var(--border-color); /* 边框 */
    text-decoration: none; /* 无下划线 */
    transition: all 0.2s; /* 过渡动画 */
    align-items: center; /* 垂直居中 */
}

/* 直播项悬停状态 */
.live-item:hover {
    background-color: var(--bg-tertiary); /* 三级背景色 */
}

/* 直播列 */
.live-col {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    gap: 2px; /* 元素间距 */
}

/* Column 1: League - 联赛列 */
.live-col-league {
    padding-right: 8px; /* 右侧内边距 */
    border-right: 1px solid var(--border-color); /* 右侧边框 */
}

/* 联赛Logo包装器 */
.live-league-logo-wrapper {
    width: 25px; /* 宽度 */
    height: 25px; /* 高度 */
}

/* 联赛Logo */
.live-league-logo-wrapper .league-logo {
    width: 100%; /* 宽度100% */
    height: 100%; /* 高度100% */
}

/* 联赛图标 */
.live-league-logo-wrapper .league-icon {
    font-size: 20px; /* 字体大小 */
    width: 25px; /* 宽度 */
    height: 25px; /* 高度 */
    color: var(--text-dark); /* 图标颜色 */
}

/* 联赛名称 */
.live-league-name {
    font-size: 0.65rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    text-align: center; /* 文字居中 */
    white-space: normal; /* 正常换行 */
    word-wrap: break-word; /* 单词换行 */
    word-break: break-word; /* 强制换行 */
    max-width: 100%; /* 最大宽度 */
    line-height: 1.2; /* 行高 */
}

/* Column 2: Time - 时间列 */
.live-col-time {
    padding-right: 8px; /* 右侧内边距 */
    border-right: 1px solid var(--border-color); /* 右侧边框 */
}

/* 时间图标 */
.live-time-icon {
    font-size: 14px; /* 字体大小 */
    color: var(--text-muted); /* 图标颜色 */
}

/* 时间值 */
.live-time-value {
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 500; /* 中等粗细 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* Column 3: Teams - 球队列 */
.live-col-teams {
    padding: 0 8px; /* 水平内边距 */
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 6px; /* 元素间距 */
}

/* 球队行 */
.live-team-row {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 4px; /* 元素间距 */
    width: 100%; /* 宽度100% */
}

/* 球队迷你Logo */
.team-logo-tiny {
    width: 20px; /* 宽度 */
    height: 20px; /* 高度 */
    padding: 2px; /* 内边距 */
    background: #ffffff; /* 白色背景 */
    border-radius: 50%; /* 圆形 */
    object-fit: contain; /* 图片填充方式 */
}

/* 球队名称 */
.live-team-name {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-primary); /* 主文字颜色 */
    white-space: nowrap; /* 不换行 */
    overflow: hidden; /* 隐藏溢出 */
    text-overflow: ellipsis; /* 省略号 */
    flex: 1; /* 占据剩余空间 */
}

/* Column 4: Scores - 比分列 */
.live-col-scores {
    gap: 4px; /* 元素间距 */
}

/* 直播比分 */
.live-score {
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    min-width: 24px; /* 最小宽度 */
    text-align: center; /* 文字居中 */
}

/* H2H信息（隐藏） */
.h2h-info {
    display: none; /* 隐藏 */
}

/* Odds - 赔率模块 */
.odds-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 16px; /* 元素间距 */
}

/* 博彩公司 */
.odds-bookmaker {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
    padding: 16px; /* 内边距 */
    border: 1px solid var(--border-color); /* 边框 */
}

/* 博彩公司头部 */
.bookmaker-header {
    margin-bottom: 12px; /* 底部外边距 */
    padding-bottom: 8px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* 博彩公司名称 */
.bookmaker-name {
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* 投注项 */
.odds-bet {
    margin-bottom: 12px; /* 底部外边距 */
}

/* 最后一个投注项 */
.odds-bet:last-child {
    margin-bottom: 0; /* 无底部外边距 */
}

/* 投注名称 */
.bet-name {
    display: block; /* 块级显示 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-muted); /* 文字颜色 */
    text-transform: uppercase; /* 大写转换 */
    margin-bottom: 8px; /* 底部外边距 */
}

/* 投注值 */
.bet-values {
    display: flex; /* 弹性布局 */
    gap: 8px; /* 元素间距 */
}

/* 单个投注值 */
.bet-value {
    flex: 1; /* 占据剩余空间 */
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    padding: 10px; /* 内边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
}

/* 投注选项 */
.bet-option {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin-bottom: 4px; /* 底部外边距 */
}

/* 赔率 */
.bet-odd {
    font-size: 1rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* Related Matches - 相关比赛 */
.related-matches {
    margin-top: 40px; /* 顶部外边距 */
    padding-top: 32px; /* 顶部内边距 */
    border-top: 1px solid var(--border-color); /* 顶部边框 */
}

/* 相关比赛标题 */
.related-matches .section-title {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    font-size: 1.25rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin-bottom: 20px; /* 底部外边距 */
}

/* 相关比赛网格 */
.related-matches-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); /* 自适应列数 */
    gap: 16px; /* 元素间距 */
}

/* 相关比赛卡片 */
.related-match-card {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 12px; /* 元素间距 */
    padding: 16px; /* 内边距 */
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
    border: 1px solid var(--border-color); /* 边框 */
    text-decoration: none; /* 无下划线 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

/* 相关比赛卡片悬停状态 */
.related-match-card:hover {
    border-color: var(--accent-blue); /* 蓝色边框 */
}

/* 相关比赛联赛 */
.related-match-league {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
}

/* 联赛小Logo */
.league-logo-small {
    width: 18px; /* 宽度 */
    height: 18px; /* 高度 */
}

/* 联赛小名称 */
.league-name-small {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 相关比赛球队 */
.related-match-teams {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
}

/* 相关球队 */
.related-team {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 500; /* 中等粗细 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* 客队 */
.related-team.away {
    flex-direction: row-reverse; /* 反向排列 */
}

/* 球队微型Logo */
.team-logo-mini {
    width: 16px; /* 宽度 */
    height: 16px; /* 高度 */
}

/* 相关比赛比分 */
.related-score {
    font-size: 0.9375rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* 相关比赛状态 */
.related-match-status {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    text-align: right; /* 文字右对齐 */
}

/* Comments Section - 评论区 */
.comments-section {
    margin-top: 40px; /* 顶部外边距 */
    padding-top: 32px; /* 顶部内边距 */
    border-top: 1px solid var(--border-color); /* 顶部边框 */
}

/* 详情页评论区 */
.comments-section.detail-section {
    margin-top: 0; /* 无顶部外边距 */
    padding-top: 20px; /* 顶部内边距 */
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 大圆角 */
    border: 1px solid var(--border-color); /* 边框 */
}

/* 评论容器 */
.comments-container {
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
    padding: 20px; /* 内边距 */
    margin-top: 0; /* 无顶部外边距 */
}

/* 评论表单 */
.comment-form {
    margin-bottom: 24px; /* 底部外边距 */
}

/* 评论输入框 */
.comment-form textarea {
    width: 100%; /* 宽度100% */
    padding: 12px; /* 内边距 */
    border: 1px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-md); /* 中等圆角 */
    background: var(--bg-secondary); /* 背景色 */
    color: var(--text-primary); /* 文字颜色 */
    font-size: 0.9375rem; /* 字体大小 */
    resize: vertical; /* 垂直调整大小 */
    margin-bottom: 12px; /* 底部外边距 */
}

/* 表单操作区 */
.form-actions {
    display: flex; /* 弹性布局 */
    justify-content: flex-end; /* 右对齐 */
}

/* 提交评论按钮 */
.submit-comment-btn {
    padding: 10px 20px; /* 内边距 */
    background: var(--accent-blue); /* 蓝色背景 */
    color: white; /* 白色文字 */
    border: none; /* 无边框 */
    border-radius: var(--radius-md); /* 中等圆角 */
    font-size: 0.9375rem; /* 字体大小 */
    font-weight: 500; /* 中等粗细 */
    cursor: pointer; /* 鼠标指针 */
    transition: background var(--transition-fast); /* 过渡动画 */
}

/* 提交评论按钮悬停状态 */
.submit-comment-btn:hover {
    background: #2563eb; /* 深色蓝色 */
}

/* 评论列表 */
.comments-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 16px; /* 元素间距 */
}

/* 评论项 */
.comment-item {
    display: flex; /* 弹性布局 */
    gap: 12px; /* 元素间距 */
    padding: 16px; /* 内边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
    border-bottom: 1px solid var(--border-color); /* 分隔线 */
}

/* 评论项最后一条不需要分隔线 */
.comment-item:last-child {
    border-bottom: none; /* 无底边框 */
}

/* 评论头像 */
.comment-avatar {
    width: 24px; /* 宽度 (缩小到原50%) */
    height: 24px; /* 高度 (缩小到原50%) */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    background: var(--accent-blue); /* 蓝色背景 */
    border-radius: 50%; /* 圆形 */
    flex-shrink: 0; /* 不缩小 */
}

/* 评论头像图标 */
.comment-avatar .dashicons {
    font-size: 14px; /* 字体大小 (缩小到原50%) */
    color: white; /* 白色图标 */
}

/* 评论内容 */
.comment-content {
    flex: 1; /* 占据剩余空间 */
}

/* 评论头部 */
.comment-header {
    display: flex; /* 弹性布局 */
    justify-content: space-between; /* 两端对齐 */
    align-items: center; /* 垂直居中 */
    margin-bottom: 8px; /* 底部外边距 */
}

/* 评论作者 */
.comment-author {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* 评论时间 */
.comment-time {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 评论正文 */
.comment-text {
    font-size: 0.9375rem; /* 字体大小 */
    color: var(--text-secondary); /* 次要文字颜色 */
    margin: 0; /* 无外边距 */
    line-height: 1.5; /* 行高 */
}

/* 评论操作区（点赞/反对） */
.comment-actions {
    display: flex; /* 弹性布局 */
    gap: 16px; /* 元素间距 */
    margin-top: 8px; /* 顶部外边距 */
}

/* 点赞/反对按钮 */
.comment-like,
.comment-dislike {
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 4px; /* 元素间距 */
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 点赞/反对图标 */
.comment-like .dashicons,
.comment-dislike .dashicons {
    font-size: 16px; /* 字体大小 */
    width: 16px; /* 宽度 */
    height: 16px; /* 高度 */
}

/* 点赞数 */
.like-count,
.dislike-count {
    font-weight: 500; /* 中等粗细 */
}

/* 回复嵌套容器 */
.comment-replies {
    margin-top: 12px; /* 顶部外边距 */
    padding-left: 16px; /* 左侧内边距（缩进） */
    border-left: 2px solid var(--border-color); /* 左边框线 */
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 8px; /* 元素间距 */
}

/* 回复项（复用 .comment-item 但更小） */
.comment-replies .comment-item {
    padding: 12px; /* 较小内边距 */
    background: var(--bg-secondary); /* 次级背景色 */
}

/* 回复项头像（更小） */
.comment-replies .comment-avatar {
    width: 20px; /* 较小宽度 (缩小到原50%) */
    height: 20px; /* 较小高度 (缩小到原50%) */
}

/* 回复项头像图标（更小） */
.comment-replies .comment-avatar .dashicons {
    font-size: 12px; /* 较小字体 (缩小到原50%) */
}

/* 空状态 */
.comments-empty {
    text-align: center; /* 居中 */
    padding: 32px 16px; /* 内边距 */
    color: var(--text-muted); /* 文字颜色 */
}

/* 空状态文字 */
.empty-state-text {
    font-size: 0.9375rem; /* 字体大小 */
    margin: 0; /* 无外边距 */
}

/* =====================================================
   Comments Module - Section Title & Pagination
   评论模块标题与分页样式 (与其他详情页模块一致)
===================================================== */
/* [中文] 评论模块标题图标: 红色 + 统一尺寸 (与其他详情页模块一致) */
.detail-section.comments-section .section-title .dashicons,
.comments-section .comments-section-icon {
    color: var(--accent-red); /* 红色图标 (与 Lineups/Standings 等模块一致) */
    font-size: 1.125rem; /* 图标大小 (与 Popular Leagues 一致) */
    width: 1.125rem; /* 宽度 */
    height: 1.125rem; /* 高度 */
}

/* [中文] 评论模块标题分隔线 (与其他详情页模块一致) */
.detail-section.comments-section .section-title {
    padding-bottom: 12px; /* 标题底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 分隔线 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* [中文] 评论分页导航 (复用 commentary 分页样式风格) */
.comments-pagination {
    display: flex; /* 弹性布局 */
    justify-content: center; /* 居中 */
    margin-top: 20px; /* 顶部外边距 */
    padding-top: 16px; /* 顶部内边距 */
}

/* [中文] 评论分页列表 */
.comments-pagination ul {
    display: flex; /* 弹性布局 */
    gap: 4px; /* 元素间距 */
    list-style: none; /* 无列表样式 */
    padding: 0; /* 无内边距 */
    margin: 0; /* 无外边距 */
}

/* [中文] 评论分页链接 */
.comments-pagination a,
.comments-pagination span {
    display: inline-flex; /* 行内弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    min-width: 32px; /* 最小宽度 */
    height: 32px; /* 高度 */
    padding: 0 8px; /* 内边距 */
    border: 1px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-sm); /* 小圆角 */
    font-size: 0.8125rem; /* 字体大小 */
    color: var(--text-secondary); /* 文字颜色 */
    text-decoration: none; /* 无下划线 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

/* [中文] 评论分页链接悬停状态 */
.comments-pagination a:hover {
    background: var(--bg-hover); /* 悬停背景色 */
    border-color: var(--accent-red); /* 悬停边框色 */
    color: var(--accent-red); /* 悬停文字色 */
}

/* [中文] 评论分页当前页 */
.comments-pagination .current {
    background: var(--accent-red); /* 当前页背景色 */
    border-color: var(--accent-red); /* 当前页边框色 */
    color: white; /* 当前页文字色 */
}

/* =====================================================
   Match Detail Page - Two Column Layout
   比赛详情页 - 两栏布局
===================================================== */
/* 比赛详情页布局 */
.fb-match-detail-layout {
    display: grid; /* 网格布局 */
    grid-template-columns: 70fr 30fr; /* 70:30 比例，fr 单位自动扣除 gap，防止右栏溢出容器 */
    gap: 24px; /* 列间距 */
}

/* 比赛详情页左侧 */
.fb-match-detail-left {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 0; /* [V6.0.1] 改为 0，与 .fb-league-detail-left / .fb-team-detail-left 一致，模块间距由 .detail-section 的 margin-bottom(16px) 控制 */
}

/* 比赛详情页右侧 */
.fb-match-detail-right {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 16px; /* 元素间距 */
    min-width: 0; /* 最小宽度 */
}

/* Match detail right column: reset .widget margin-bottom to avoid
   stacking with flex gap (which caused 36px spacing instead of 16px).
   [中文] 比赛详情页右栏：重置 .widget 的 margin-bottom，
   [中文] 避免与 flex gap 叠加导致间距过大（36px → 16px）
   [中文] 对齐 .fb-league-detail-right .widget 和 .fb-team-detail-right .widget 的现有规则 */
.fb-match-detail-right .widget {
    margin-bottom: 0; /* 无底部外边距 */
}

/* League Detail Layout - 联赛详情页布局 */
.fb-league-detail-layout {
    display: grid; /* 网格布局 */
    grid-template-columns: 70fr 30fr; /* 70:30 比例，fr 单位自动扣除 gap，防止右栏溢出容器 */
    gap: 24px; /* 列间距 */
}

/* 联赛详情页左侧 */
.fb-league-detail-left {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 0; /* [V6.0.1] 改为 0，与 .fb-leagues-left 一致，模块间距由 .detail-section 的 margin-bottom(16px) 控制 */
    min-width: 0; /* 最小宽度 */
}

/* 联赛详情页右侧 */
.fb-league-detail-right {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 16px; /* 元素间距 */
    min-width: 0; /* 最小宽度 */
}

/* League detail right column: reset .widget margin-bottom to avoid
   stacking with flex gap (which caused 36px spacing instead of 16px).
   [中文] 联赛详情页右栏：重置 .widget 的 margin-bottom，
   [中文] 避免与 flex gap 叠加导致间距过大（36px → 16px）
   [中文] 对齐 .fb-leagues-right .widget 和 .fb-team-detail-right .widget 的现有规则 */
.fb-league-detail-right .widget {
    margin-bottom: 0; /* 无底部外边距 */
}

/* League Intro Section - 联赛介绍区域 */
.league-intro-section {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 大圆角 */
    padding: 20px; /* 内边距 */
    cursor: default; /* 默认鼠标指针 */
    pointer-events: none; /* 禁用鼠标事件 */
}

/* 联赛介绍区域子元素 */
.league-intro-section * {
    pointer-events: auto; /* 启用鼠标事件 */
}

/* 联赛介绍区域链接 */
.league-intro-section a,
.league-intro-section a:hover,
.league-intro-section a:active {
    text-decoration: none; /* 无下划线 */
    color: inherit; /* 继承颜色 */
    cursor: default; /* 默认鼠标指针 */
}

/* 联赛介绍头部 */
.league-intro-header {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 20px; /* 元素间距 */
    margin-bottom: 10px; /* 底部外边距 */
}

/* 联赛Logo容器 */
.league-logo-container {
    width: 90px; /* 宽度 */
    height: 90px; /* 高度 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    flex-shrink: 0; /* 不缩小 */
    margin-top: 8px; /* 顶部外边距 */
    margin-bottom: 8px; /* 底部外边距 */
}

/* 联赛Logo */
.league-logo-container .league-logo {
    width: 90px; /* 宽度 */
    height: 90px; /* 高度 */
    padding: 8px; /* 内边距 */
}

/* 联赛图标 */
.league-logo-container .league-icon {
    width: 90px; /* 宽度 */
    height: 90px; /* 高度 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    font-size: 40px; /* 字体大小 */
    color: var(--text-secondary); /* 文字颜色 */
    background-color: #ffffff; /* 白色背景 */
    border-radius: 50%; /* 圆形 */
    padding: 8px; /* 内边距 */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06); /* 阴影效果 */
}

/* 联赛信息 */
.league-info {
    flex: 1; /* 占据剩余空间 */
    min-width: 0; /* 最小宽度 */
    padding: 0; /* 无内边距 */
    background: transparent; /* 透明背景 */
}

/* 联赛标题 */
.league-title {
    font-size: 22px; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin: 0 0 12px 0; /* 外边距 */
    line-height: 1.3; /* 行高 */
}

/* 联赛元信息 */
.league-meta {
    display: flex; /* 弹性布局 */
    gap: 10px; /* 元素间距 */
    flex-wrap: wrap; /* 自动换行 */
}

/* 联赛国家/类型/赛季 */
.league-country,
.league-type,
.league-season {
    display: inline-flex; /* 内联弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    padding: 5px 12px; /* 内边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: 6px; /* 圆角 */
    font-size: 13px; /* 字体大小 */
    color: var(--text-secondary); /* 文字颜色 */
    font-weight: 500; /* 中等粗细 */
}

/* 国家国旗 */
.country-flag-img {
    height: 15px; /* 高度 */
    border-radius: 2px; /* 圆角 */
    padding: 1px; /* 内边距 */
    box-sizing: border-box; /* 盒模型 */
    object-fit: cover; /* 图片填充方式 */
    flex-shrink: 0; /* 不缩小 */
}

/* 联赛描述 */
.league-description {
    margin-top: 10px; /* 顶部外边距 */
    margin-bottom: 10px; /* 底部外边距 */
    padding: 16px; /* 内边距 */
    background: var(--bg-primary); /* 主背景色 */
    border-radius: 8px; /* 圆角 */
    border-left: 3px solid var(--accent-blue); /* 左侧蓝色边框 */
}

/* 联赛描述文本 */
.league-description p {
    color: var(--text-secondary); /* 文字颜色 */
    line-height: 1.7; /* 行高 */
    margin: 0; /* 无外边距 */
    font-size: 14px; /* 字体大小 */
}

/* 联赛统计网格 */
.league-stats-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(4, 1fr); /* 四列布局 */
    gap: 14px; /* 元素间距 */
    margin-top: 16px; /* 顶部外边距 */
}

/* 联赛统计项 */
.league-stat-item {
    background: var(--bg-primary); /* 主背景色 */
    padding: 14px; /* 内边距 */
    border-radius: 8px; /* 圆角 */
    text-align: center; /* 文字居中 */
    border: 1px solid var(--border-color); /* 边框 */
}

/* 统计数值 */
.stat-value {
    display: block; /* 块级显示 */
    font-size: 18px; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--accent-blue); /* 蓝色文字 */
    margin-bottom: 6px; /* 底部外边距 */
    line-height: 1.2; /* 行高 */
}

/* 统计标签 */
.stat-label {
    font-size: 11px; /* 字体大小 */
    color: var(--text-secondary); /* 文字颜色 */
    text-transform: uppercase; /* 大写转换 */
    letter-spacing: 0.5px; /* 字母间距 */
}

/* Fixture Card - 赛程卡片 */
/* 赛程容器 */
.fixtures-container {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 12px; /* 元素间距 */
}

/* 赛程卡片 */
.fixture-card {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: 8px; /* 圆角 */
    padding: 16px; /* 内边距 */
    border: 1px solid var(--border-color); /* 边框 */
    transition: background-color 0.2s; /* 过渡动画 */
}

/* 赛程卡片悬停状态 */
.fixture-card:hover {
    background: var(--bg-tertiary); /* 三级背景色 */
}

/* 赛程头部 */
.fixture-header {
    display: flex; /* 弹性布局 */
    justify-content: space-between; /* 两端对齐 */
    align-items: center; /* 垂直居中 */
    margin-bottom: 12px; /* 底部外边距 */
}

/* 赛程联赛 */
.fixture-league {
    font-size: 12px; /* 字体大小 */
    color: var(--accent-blue); /* 蓝色文字 */
    font-weight: 500; /* 中等粗细 */
}

/* 赛程日期 */
.fixture-date {
    font-size: 12px; /* 字体大小 */
    color: var(--text-secondary); /* 文字颜色 */
}

/* 赛程内容 */
.fixture-content {
    display: grid; /* 网格布局 */
    grid-template-columns: 1fr auto 1fr; /* 三列布局 */
    gap: 16px; /* 元素间距 */
    align-items: center; /* 垂直居中 */
}

/* 赛程球队 */
.fixture-team {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
}

/* =====================================================
   Home Page — Optimized Layout Styles
   [中文] 首页优化布局样式
   ===================================================== */

/* Hero Stats Bar container */
.home-hero-stats .matches-hero-stats {
    margin-bottom: 24px;
}

/* Popular Teams card grid */
.home-team-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.home-team-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: var(--bg-card, #fff);
    border: 1px solid var(--border-color, #e8e8e8);
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.2s, transform 0.2s;
}

.home-team-card:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
}

.home-team-logo-wrap {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-team-logo {
    max-width: 40px;
    max-height: 40px;
    object-fit: contain;
}

.home-team-logo.logo-national {
    border-radius: 50%;
}

.home-team-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.home-team-name {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home-team-league {
    font-size: 12px;
    color: var(--text-secondary, #666);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home-team-meta {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 4px;
}

.home-team-meta .rank-badge,
.home-team-meta .points-badge,
.home-team-meta .winrate-badge {
    font-size: 11px;
    padding: 1px 6px;
    border-radius: 10px;
    background: var(--bg-badge, #f0f0f0);
    color: var(--text-secondary, #666);
    font-weight: 500;
}

.home-team-meta .rank-badge {
    background: #e3f2fd;
    color: #1565c0;
}

.home-team-meta .points-badge {
    background: #e8f5e9;
    color: #2e7d32;
}

.home-team-meta .winrate-badge {
    background: #fff3e0;
    color: #e65100;
}

/* Sub-section title (Top Assists / Top Goalkeepers) */
.home-sub-title {
    font-size: 14px;
    font-weight: 600;
    margin: 16px 0 8px;
    color: var(--text-primary, #333);
    padding-bottom: 4px;
    border-bottom: 2px solid var(--border-color, #e8e8e8);
}

/* Insight section (Featured Previews / Team Insights / League Insights) */
.home-insight-section .commentary-grid {
    grid-template-columns: repeat(3, 1fr);
}

/* Quick Links section */
.home-quick-links-section {
    display: flex;
    flex-direction: column;
}

.home-quick-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.home-quick-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: var(--bg-card, #fff);
    border: 1px solid var(--border-color, #e8e8e8);
    border-radius: 8px;
    text-decoration: none;
    color: var(--text-primary, #333);
    font-size: 14px;
    font-weight: 500;
    transition: background 0.2s, box-shadow 0.2s;
}

.home-quick-link:hover {
    background: var(--bg-hover, #f5f5f5);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.home-quick-link .dashicons:first-child {
    color: var(--accent-primary, #1976d2);
    font-size: 20px;
    width: 20px;
    height: 20px;
}

.home-quick-link > span:nth-child(2) {
    flex: 1;
}

.home-quick-link .dashicons:last-child {
    color: var(--text-secondary, #999);
    font-size: 16px;
}

/* Responsive — Home page mobile adjustments */
@media (max-width: 768px) {
    .home-team-cards {
        grid-template-columns: 1fr;
    }

    .home-insight-section .commentary-grid {
        grid-template-columns: 1fr;
    }

    .home-hero-stats .matches-hero-stats {
        overflow-x: auto;
        flex-wrap: nowrap;
    }
}

/* =====================================================
   Home Page — Section Title Unification
   Aligns all Home section titles with the Leagues page
   "Popular Leagues" module title (font-size, font-weight,
   icon size, gap, header spacing) for visual consistency.
   [中文] 首页 — 模块标题样式统一
   [中文] 与 Leagues 页 Popular Leagues 模块标题保持完全一致
   ===================================================== */
.home-section .section-header {
    margin-bottom: 16px;                /* 底部外边距 */
    padding-bottom: 12px;               /* 底部内边距 */
}

.home-section .section-title {
    gap: 8px;                           /* 元素间距 */
    font-size: 1rem;                    /* 字体大小 */
    font-weight: 600;                   /* 粗体 */
    margin: 0;                          /* 无外边距 */
}

.home-section .section-title .dashicons {
    font-size: 1.125rem;                /* 图标字体大小 */
    width: 1.125rem;                    /* 图标宽度 */
    height: 1.125rem;                   /* 图标高度 */
}

/* =====================================================
   Home Page — Two-Column Main Layout (Row 1)
   Left: Live + Today's Matches | Right: Popular lists
   [中文] 首页 — 左右两列主布局
   ===================================================== */
.home-main-layout {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 24px;
    margin-bottom: 24px;
}

.home-main-left,
.home-main-right {
    min-width: 0;
}

/* Left column: flex layout so Live Now + Today's Matches stack vertically.
 * Today's Matches (last child) uses flex:1 to fill remaining height,
 * keeping the left column aligned with the right column height.
 * [中文] 左栏 flex 布局, Live Now + Today's Matches 垂直排列
 * [中文] Today's Matches 用 flex:1 填充剩余高度, 与右栏对齐
 */
.home-main-left {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* === Home Show More buttons (Live Now + Today's Matches) ===
 * Unified collapse/expand: show first N items, hide the rest.
 * Toggle via .is-collapsed class on .home-live-list / .home-today-list.
 * All items remain in the HTML for SEO; only CSS toggles visibility.
 * [中文] 首页 Show More 按钮 (Live Now + Today's Matches)
 * [中文] 默认显示前N项, 其余隐藏(.live-match-extra / .today-match-extra)
 * [中文] 通过 .is-collapsed class 切换, 所有内容保留在HTML中(SEO友好)
 */
.home-live-list.is-collapsed .live-match-extra,
.home-today-list.is-collapsed .today-match-extra {
    display: none; /* 折叠时隐藏额外内容 */
}

.home-show-more-btn {
    display: block;
    width: 100%;
    margin-top: 8px;
    padding: 8px 12px;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: var(--radius-md);
    color: #ffffff;
    font-size: 0.8125rem;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    transition: background var(--transition-fast);
}

.home-show-more-btn:hover {
    background: var(--bg-hover); /* 悬停只变底色, 文字保持白色 */
}

/* Right column sections: tighter spacing for compact sidebar feel */
.home-main-right .popular-players-widget,
.home-main-right .trending-leagues-widget,
.home-main-right .popular-teams-widget,
.home-main-right .popular-leagues-section {
    margin-bottom: 16px;
}

/* Right column: force team cards to single column (sidebar is narrow) */
.home-main-right .home-team-cards {
    grid-template-columns: 1fr;
}

/* Home Popular Players — 3-column compact grid (5 rows × 3 cols).
   Simplified card: photo (40px, same as Players page) + name + team.
   [中文] 首页热门球员 — 3列紧凑网格, 精简卡片(头像+名字+球队) */
.home-players-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(3, 1fr); /* 三列 */
    gap: 8px; /* 网格间距 */
}

.home-player-card {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 纵向排列 */
    align-items: center; /* 水平居中 */
    min-width: 0; /* [V9.0 修复] Grid 网格项默认 min-width:auto,长球员名(white-space:nowrap)会把 1fr 列撑到超视口,卡片右溢出;置 0 后走已有的 ellipsis 截断 */
    padding: 10px 6px; /* 内边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
    text-decoration: none; /* 无下划线 */
    text-align: center; /* 文字居中 */
    transition: background var(--transition-fast); /* 过渡动画 */
}

.home-player-card:hover {
    background: var(--bg-hover); /* 悬停背景色 */
}

/* 球员头像 (40px, 与 Players 页 Popular Players 一致) */
.home-player-photo {
    width: 40px; /* 宽度 (与 .popular-league-card .league-logo 一致) */
    height: 40px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: cover; /* 填充方式 */
    background: #fff; /* 白色背景 */
    padding: 2px; /* 内边距 */
    margin-bottom: 6px; /* 底部外边距 */
}

/* 球员名字 */
.home-player-name {
    font-size: 0.6875rem; /* 字体大小 */
    font-weight: 600; /* 粗细 */
    color: var(--text-primary); /* 文字颜色 */
    margin: 0 0 4px; /* 外边距 */
    line-height: 1.2; /* 行高 */
    max-width: 100%; /* 最大宽度 */
    overflow: hidden; /* 溢出隐藏 */
    text-overflow: ellipsis; /* 省略号 */
    white-space: nowrap; /* 不换行 */
}

/* 球队行 (图标+名字) */
.home-player-team {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    gap: 3px; /* 元素间距 */
    font-size: 0.625rem; /* 字体大小 */
    color: var(--text-secondary); /* 次要文字颜色 */
    max-width: 100%; /* 最大宽度 */
    overflow: hidden; /* 溢出隐藏 */
}

.home-player-team-logo {
    width: 14px; /* 宽度 */
    height: 14px; /* 高度 */
    object-fit: contain; /* 填充方式 */
    flex-shrink: 0; /* 不缩小 */
}

.home-player-team-name {
    overflow: hidden; /* 溢出隐藏 */
    text-overflow: ellipsis; /* 省略号 */
    white-space: nowrap; /* 不换行 */
}

/* Popular Leagues single-column list in right column */
.home-popular-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.home-popular-list .league-card {
    padding: 10px 12px;
}

/* =====================================================
   Home Page — SEO Layout (Row 2)
   Left: Commentary magazine | Right: 3 insight modules
   [中文] 首页 — SEO区块布局
   ===================================================== */
.home-seo-layout {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Team Insights + League Insights side-by-side (50/50)
   [中文] 球队洞察 + 联赛洞察 并排布局(各50%) */
.home-insights-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.home-insights-stack {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* =====================================================
   Commentary Magazine Grid
   Card 1 (large): right column, spans 3 rows, vertical layout
   Cards 2-4 (small): left column, horizontal layout (image left, text right)
   [中文] 评论杂志式网格 — 1大3小
   ===================================================== */
/* Use compound selector (.commentary-grid.home-commentary-magazine) to raise
   specificity to 0,2,0 so it overrides the global .commentary-grid rule (0,1,0).
   [中文] 使用连写选择器提升特异性至0,2,0, 确保覆盖全局.commentary-grid规则 */
.commentary-grid.home-commentary-magazine {
    /* 3-column magazine: small | large | small
       Middle column slightly wider for the large overlay card.
       [中文] 3列杂志布局: 小 | 大 | 小, 中间列稍宽 */
    grid-template-columns: 1fr 1.2fr 1fr;
    grid-template-rows: auto auto auto;
    gap: 16px;
    margin: 0;
}

/* Large card: right column, spans 3 rows, overlay layout.
   Image fills entire card area; body overlays at bottom with gradient.
   Grid stretch (align-self default) auto-matches the 3 stacked small cards,
   so no min-height is needed — avoids empty space below.
   [中文] 大卡片: 右栏跨3行, overlay布局, 图片填满整卡
   [中文] grid stretch自动匹配3张小卡片总高度, 无需min-height */
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(1) {
    grid-column: 2;
    grid-row: 1 / span 3;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.commentary-grid.home-commentary-magazine .commentary-card:nth-child(1) .commentary-card-image-link {
    position: absolute;
    inset: 0;
    aspect-ratio: auto;
    z-index: 1;
}

.commentary-grid.home-commentary-magazine .commentary-card:nth-child(1) .commentary-card-image-link img.commentary-card-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.commentary-grid.home-commentary-magazine .commentary-card:nth-child(1) .commentary-card-body {
    position: relative;
    z-index: 2;
    flex: none; /* Override global flex:1 so body takes natural height only */
    margin-top: auto; /* Push body to bottom of flex container */
    padding: 24px 16px 16px;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.5) 50%, transparent 100%);
    color: #fff;
}

.commentary-grid.home-commentary-magazine .commentary-card:nth-child(1) .commentary-card-title a {
    color: #fff;
}

.commentary-grid.home-commentary-magazine .commentary-card:nth-child(1) .commentary-card-excerpt {
    color: rgba(255,255,255,0.9);
}

.commentary-grid.home-commentary-magazine .commentary-card:nth-child(1) .commentary-card-meta {
    color: rgba(255,255,255,0.8);
}

/* Small cards: left & right columns, horizontal (image left 3:2, text right)
   Column 1 (latest): nth-child 2,3,4
   Column 3 (popular): nth-child 5,6,7
   [中文] 小卡片: 左右两栏, 横向布局(图左3:2, 文右)
   [中文] 第1列(最新): nth-child 2,3,4 | 第3列(热度): nth-child 5,6,7 */
/* Column 1 (latest): explicit grid-row prevents auto-placement cursor
   from leaving column 3 empty in rows 1-2.
   [中文] 第1列: 显式指定grid-row, 避免auto-placement cursor导致第3列前两行空白 */
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(2),
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(3),
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(4) {
    grid-column: 1;
    flex-direction: row;
}
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(2) { grid-row: 1; }
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(3) { grid-row: 2; }
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(4) { grid-row: 3; }

/* Column 3 (popular): explicit grid-row aligns with column 1 row-by-row.
   [中文] 第3列: 显式指定grid-row, 与第1列逐行对齐 */
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(5),
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(6),
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(7) {
    grid-column: 3;
    flex-direction: row;
}
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(5) { grid-row: 1; }
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(6) { grid-row: 2; }
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(7) { grid-row: 3; }

/* Shared small-card image-link styles (both columns)
   [中文] 小卡片图片链接共享样式(两列通用) */
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(2) .commentary-card-image-link,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(3) .commentary-card-image-link,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(4) .commentary-card-image-link,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(5) .commentary-card-image-link,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(6) .commentary-card-image-link,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(7) .commentary-card-image-link {
    position: relative; /* Positioning context for absolute img */
    width: 120px;
    min-width: 120px;
    aspect-ratio: 3 / 2;
}

/* Small card thumbnails: absolute positioning prevents img from stretching
   the container, ensuring stable 3:2 ratio regardless of source image ratio.
   [中文] 小卡片缩略图: img绝对定位, 防止撑开容器, 确保3:2比例稳定 */
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(2) .commentary-card-image-link img.commentary-card-thumb,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(3) .commentary-card-image-link img.commentary-card-thumb,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(4) .commentary-card-image-link img.commentary-card-thumb,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(5) .commentary-card-image-link img.commentary-card-thumb,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(6) .commentary-card-image-link img.commentary-card-thumb,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(7) .commentary-card-image-link img.commentary-card-thumb {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.commentary-grid.home-commentary-magazine .commentary-card:nth-child(2) .commentary-card-body,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(3) .commentary-card-body,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(4) .commentary-card-body,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(5) .commentary-card-body,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(6) .commentary-card-body,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(7) .commentary-card-body {
    padding: 10px 12px;
}

.commentary-grid.home-commentary-magazine .commentary-card:nth-child(2) .commentary-card-title,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(3) .commentary-card-title,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(4) .commentary-card-title,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(5) .commentary-card-title,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(6) .commentary-card-title,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(7) .commentary-card-title {
    font-size: 14px;
}

.commentary-grid.home-commentary-magazine .commentary-card:nth-child(2) .commentary-card-excerpt,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(3) .commentary-card-excerpt,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(4) .commentary-card-excerpt,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(5) .commentary-card-excerpt,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(6) .commentary-card-excerpt,
.commentary-grid.home-commentary-magazine .commentary-card:nth-child(7) .commentary-card-excerpt {
    /* Show excerpt with 3-line clamp for consistent card height
       [中文] 显示摘要并截断3行, 保持小卡片高度一致 */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 8px;
}

/* Hide author on Home magazine layout (keep Schema data in HTML for SEO)
   [中文] Home杂志布局隐藏作者(保留HTML中的Schema数据, 利于SEO) */
.commentary-grid.home-commentary-magazine .commentary-card-author {
    display: none;
}

/* Hide author on Analysis Hub commentary section (keep Schema data in HTML for SEO).
   Only matches the Hub section wrapper (.commentary-section), not Home magazine.
   [中文] Analysis Hub评论区块隐藏作者(保留HTML中的Schema数据, 利于SEO)
   [中文] 仅匹配Hub区块容器(.commentary-section), 不影响Home杂志布局 */
.commentary-section .commentary-card-author {
    display: none;
}

/* =====================================================
   Insight List — compact vertical card stack in right column
   [中文] 洞察列表 — 右栏紧凑竖排卡片
   ===================================================== */
.home-insight-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Compact card overrides for narrow right column */
.home-insight-list .preview-summary-card,
.home-insight-list .team-insight-card,
.home-insight-list .league-insight-card {
    padding: 10px 12px;
}

.home-insight-list .preview-summary-card .preview-summary-header,
.home-insight-list .team-insight-card .team-insight-top,
.home-insight-list .league-insight-card .league-insight-top {
    margin-bottom: 6px;
}

.home-insight-list .team-insight-card .team-insight-meta h3,
.home-insight-list .league-insight-card .league-insight-meta h3 {
    font-size: 14px;
}

.home-insight-list .team-insight-card .team-detail-btn,
.home-insight-list .league-insight-card .league-detail-btn {
    font-size: 12px;
    padding: 4px 10px;
}

/* =====================================================
   Compact Empty State (for Live Now when no matches)
   [中文] 紧凑空状态
   ===================================================== */
.empty-state.empty-state-compact {
    padding: 16px;
    text-align: center;
}

.empty-state.empty-state-compact .dashicons {
    font-size: 28px;
    width: 28px;
    height: 28px;
    color: var(--text-muted, #999);
}

.empty-state.empty-state-compact p {
    margin: 8px 0 0;
    font-size: 13px;
    color: var(--text-secondary, #666);
}

/* =====================================================
   Responsive — Home page two-column layouts
   [中文] 响应式 — 两列布局移动端适配
   ===================================================== */
@media (max-width: 968px) {
    .home-main-layout,
    .home-seo-layout {
        grid-template-columns: 1fr;
    }

    /* Mobile: Team Insights + League Insights stack to single column.
       [中文] 移动端: Team/League Insights 两列改单列竖向排列 */
    .home-insights-row {
        grid-template-columns: 1fr;
    }

    /* Mobile: single column, all cards stack vertically with 3:2 images.
       [中文] 移动端: 单列, 所有卡片竖向排列, 图片3:2 */
    .commentary-grid.home-commentary-magazine {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(1) {
        grid-column: 1;
        grid-row: auto;
    }

    /* Mobile: large card restores normal layout (non-overlay)
       [中文] 移动端: 大卡片恢复正常布局(非overlay) */
    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(1) .commentary-card-image-link {
        position: relative;
        inset: auto;
        aspect-ratio: 3 / 2;
    }

    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(1) .commentary-card-image-link img.commentary-card-thumb {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(1) .commentary-card-body {
        position: relative;
        z-index: auto;
        margin-top: 0;
        padding: 16px;
        background: var(--bg-secondary);
        color: var(--text-primary);
    }

    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(1) .commentary-card-title a {
        color: var(--text-primary);
    }

    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(1) .commentary-card-excerpt {
        color: var(--text-secondary);
    }

    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(1) .commentary-card-meta {
        color: var(--text-muted);
    }

    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(2),
    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(3),
    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(4),
    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(5),
    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(6),
    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(7) {
        grid-column: 1;
        /* Reset explicit grid-row from desktop layout so all cards stack
           vertically in source order without overlapping.
           [中文] 重置桌面端显式grid-row, 避免移动端卡片重叠 */
        grid-row: auto;
        flex-direction: column;
    }

    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(2) .commentary-card-image-link,
    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(3) .commentary-card-image-link,
    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(4) .commentary-card-image-link,
    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(5) .commentary-card-image-link,
    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(6) .commentary-card-image-link,
    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(7) .commentary-card-image-link {
        width: 100%;
    }

    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(2) .commentary-card-excerpt,
    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(3) .commentary-card-excerpt,
    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(4) .commentary-card-excerpt,
    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(5) .commentary-card-excerpt,
    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(6) .commentary-card-excerpt,
    .commentary-grid.home-commentary-magazine .commentary-card:nth-child(7) .commentary-card-excerpt {
        display: block;
    }
}

/* 主队 */
.fixture-team.home {
    justify-content: flex-end; /* 右对齐 */
}

/* 客队 */
.fixture-team.away {
    justify-content: flex-start; /* 左对齐 */
}

/* 球队小Logo */
.team-logo-small {
    width: 32px; /* 宽度 */
    height: 32px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    object-fit: contain; /* 图片填充方式 */
    background: #ffffff; /* 白色背景 */
    padding: 2px; /* 内边距 */
}

/* 球队名称 */
.fixture-team .team-name {
    font-size: 14px; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* 赛程比分 */
.fixture-score {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
}

/* 主队比分/客队比分 */
.score-home,
.score-away {
    font-size: 24px; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* 比分分隔符 */
.score-separator {
    font-size: 18px; /* 字体大小 */
    color: var(--text-secondary); /* 文字颜色 */
}

/* 比赛时间 */
.match-time {
    font-size: 16px; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--accent-blue); /* 蓝色文字 */
}

/* 赛程状态 */
.fixture-status {
    margin-top: 8px; /* 顶部外边距 */
    text-align: center; /* 文字居中 */
}

/* 状态徽章 */
.status-badge {
    display: inline-block; /* 内联块级 */
    padding: 2px 8px; /* 内边距 */
    border-radius: 4px; /* 圆角 */
    font-size: 12px; /* 字体大小 */
    font-weight: 600; /* 粗体 */
}

/* 完赛状态 */
.status-badge.FT {
    background: var(--success-color); /* 绿色背景 */
    color: #ffffff; /* 白色文字 */
}

/* 中场状态 */
.status-badge.HT {
    background: var(--warning-color); /* 橙色背景 */
    color: #ffffff; /* 白色文字 */
}

/* 上半场/下半场状态 */
.status-badge.1H,
.status-badge.2H {
    background: var(--accent-blue); /* 蓝色背景 */
    color: #ffffff; /* 白色文字 */
}

/* Right Column Widgets - 右侧栏组件 */
/* 预测组件 */
.prediction-widget {
    margin-bottom: 16px; /* 底部外边距 */
}

/* 相关比赛组件 */
.related-matches-widget {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 大圆角 */
    padding: 16px; /* 内边距 */
}

/* 相关比赛组件标题 */
.related-matches-widget .widget-title {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 相关比赛组件标题图标 */
.related-matches-widget .widget-title .dashicons {
    color: var(--accent-red); /* 红色图标 */
}

/* 相关比赛列表 */
.related-matches-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 8px; /* 元素间距 */
}

/* 相关比赛项 */
.related-match-item {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    padding: 12px; /* 内边距 */
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
    border: 1px solid var(--border-color); /* 边框 */
    text-decoration: none; /* 无下划线 */
    transition: all 0.2s; /* 过渡动画 */
    gap: 12px; /* 元素间距 */
}

/* 相关比赛项悬停状态 */
.related-match-item:hover {
    border-color: var(--accent-blue); /* 蓝色边框 */
}

/* 相关比赛左侧（日期时间） */
.related-match-left {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    min-width: 50px; /* 最小宽度 */
    padding-right: 8px; /* 右侧内边距 */
    border-right: 1px solid var(--border-color); /* 右侧边框 */
}

/* 相关比赛日期 */
.related-match-date {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-primary); /* 主文字颜色 */
    font-weight: 500; /* 中等粗细 */
}

/* 相关比赛时间 */
.related-match-time {
    font-size: 0.65rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin-top: 2px; /* 顶部外边距 */
}

/* 相关比赛右侧（比赛信息） */
.related-match-right {
    flex: 1; /* 占据剩余空间 */
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    justify-content: center; /* 垂直居中 */
    gap: 4px; /* 元素间距 */
}

/* 相关比赛行 */
.related-match-row {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: space-between; /* 两端对齐 */
}

/* 相关球队信息 */
.related-team-info {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    font-size: 0.85rem; /* 字体大小 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* 球队小Logo */
.related-team-info .team-logo-small {
    width: 20px; /* 宽度 */
    height: 20px; /* 高度 */
}

/* 相关比赛比分 */
.related-score-value {
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    min-width: 24px; /* 最小宽度 */
    text-align: right; /* 文字右对齐 */
}

/* 获胜球队信息 */
.related-match-row.winner .related-team-info {
    font-weight: 600; /* 粗体 */
    color: var(--accent-blue); /* 蓝色文字 */
}

/* 获胜球队比分 */
.related-match-row.winner .related-score-value {
    color: var(--accent-blue); /* 蓝色文字 */
}

/* 相关比赛联赛（隐藏） */
.related-match-league {
    display: none; /* 隐藏 */
}

/* 快速链接组件 */
.quick-links-widget {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 大圆角 */
    padding: 16px; /* 内边距 */
}

/* 快速链接组件标题 */
.quick-links-widget .widget-title {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin-bottom: 16px; /* 底部外边距 */
}

/* 快速链接组件标题图标 */
.quick-links-widget .widget-title .dashicons {
    color: var(--accent-red); /* 红色图标 */
}

/* 快速链接列表 */
.quick-links-list {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 垂直排列 */
    gap: 8px; /* 元素间距 */
}

/* 快速链接项 */
.quick-link-item {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    padding: 10px 12px; /* 内边距 */
    background: var(--bg-tertiary); /* 三级背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
    color: var(--text-primary); /* 主文字颜色 */
    text-decoration: none; /* 无下划线 */
    font-size: 0.875rem; /* 字体大小 */
    transition: all var(--transition-fast); /* 过渡动画 */
}

/* 快速链接项悬停状态 */
.quick-link-item:hover {
    background: var(--bg-hover); /* 悬停背景色 */
    color: var(--accent-red); /* 红色文字 */
}

/* 快速链接图标 */
.quick-link-item .dashicons {
    font-size: 1rem; /* 字体大小 */
    color: var(--accent-red); /* 红色图标 */
}

/* 快速链接悬停图标 */
.quick-link-item:hover .dashicons {
    color: var(--text-primary); /* 主文字颜色 */
}

/* Responsive - 响应式样式 */
/* 平板端及以下 */
@media (max-width: 1024px) {
    /* 比赛详情页布局
       minmax(0,1fr): 轨道允许收缩到视口内, 防止内容 min-content
       (球队对比/H2H等宽内容) 撑破手机布局 — 与球员/球队详情页同款加固 */
    /* [中文] 单列轨道允许收缩, 防御性加固 */
    .fb-match-detail-layout {
        grid-template-columns: minmax(0, 1fr); /* 单列布局, 允许收缩 */
    }

    /* 比赛详情页左侧 */
    .fb-match-detail-left {
        order: 1; /* 顺序1 */
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }

    /* 比赛详情页右侧 */
    .fb-match-detail-right {
        order: 2; /* 顺序2 */
        position: static; /* 静态定位 */
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }

    /* 联赛详情页布局: minmax(0,1fr) 允许收缩, 防止宽表格撑破手机布局 */
    /* [中文] 单列轨道允许收缩, 防御性加固 */
    .fb-league-detail-layout {
        grid-template-columns: minmax(0, 1fr); /* 单列布局, 允许收缩 */
    }

    /* 联赛详情页左侧 */
    .fb-league-detail-left {
        order: 1; /* 顺序1 */
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }

    /* 联赛详情页右侧 */
    .fb-league-detail-right {
        order: 2; /* 顺序2 */
        min-width: 0; /* 允许列宽小于内容最小宽 */
    }

    /* 联赛统计网格 */
    .league-stats-grid {
        grid-template-columns: repeat(2, 1fr) !important; /* 两列布局 */
    }
}

/* 移动端 */
@media (max-width: 768px) {
    /* 比赛计分板 */
    .match-scoreboard {
        gap: 20px; /* 元素间距 */
    }

    /* 球队Logo */
    .team-block .team-logo {
        width: 60px; /* 宽度 */
        height: 60px; /* 高度 */
    }

    /* 比分 */
    .score {
        font-size: 2rem; /* 字体大小 */
        gap: 12px; /* 元素间距 */
    }

    /* 比赛信息 */
    .match-info {
        gap: 12px; /* 元素间距 */
    }

    /* 球员网格 */
    .players-grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); /* 自适应列数 */
    }

    /* 详情区域 */
    .detail-section {
        padding: 16px; /* 内边距 */
    }

    /* 区域标题 */
    .section-title {
        font-size: 1.125rem; /* 字体大小 */
    }
}

/* =====================================================
   Player Stats Widget Styles
   球员统计数据模块样式
===================================================== */
/* 球员统计组件 */
.fb-widget-player-stats {
    background: var(--bg-secondary); /* 背景色 */
    border-radius: var(--radius-lg); /* 大圆角 */
    padding: 16px; /* 内边距 */
    border: 1px solid var(--border-color); /* 边框 */
}

/* 球员统计组件标题 */
.fb-widget-player-stats .widget-title {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 8px; /* 元素间距 */
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin-bottom: 16px; /* 底部外边距 */
    padding-bottom: 12px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* 球员统计组件标题图标 */
.fb-widget-player-stats .widget-title .dashicons {
    color: var(--accent-red); /* 红色图标 */
    font-size: 1rem; /* 字体大小 */
    width: 1rem; /* 宽度 */
    height: 1rem; /* 高度 */
}

/* 球员统计网格 */
.fb-widget-player-stats .player-stats-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(2, 1fr); /* 两列布局 */
    gap: 12px; /* 元素间距 */
}

/* 球员统计项 */
.fb-widget-player-stats .stat-item {
    background: var(--bg-primary); /* 主背景色 */
    border-radius: var(--radius-md); /* 中等圆角 */
    padding: 10px; /* 内边距 */
    text-align: center; /* 文字居中 */
    transition: background-color 0.2s ease; /* 过渡动画 */
}

/* 球员统计项悬停状态 */
.fb-widget-player-stats .stat-item:hover {
    background: var(--bg-tertiary); /* 三级背景色 */
}

/* 球员统计数值 */
.fb-widget-player-stats .stat-value {
    font-size: 1.25rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    line-height: 1.2; /* 行高 */
}

/* 进球高亮 */
.fb-widget-player-stats .stat-value.highlight-goal {
    color: var(--accent-red); /* 红色 */
}

/* 助攻高亮 */
.fb-widget-player-stats .stat-value.highlight-assist {
    color: var(--accent-blue); /* 蓝色 */
}

/* 传球高亮 */
.fb-widget-player-stats .stat-value.highlight-pass {
    color: var(--accent-green); /* 绿色 */
}

/* 黄牌高亮 */
.fb-widget-player-stats .stat-value.highlight-yellow {
    color: var(--accent-yellow); /* 黄色 */
}

/* 红牌高亮 */
.fb-widget-player-stats .stat-value.highlight-red {
    color: #dc2626; /* 红色 */
}

/* 预期进球高亮 */
.fb-widget-player-stats .stat-value.highlight-xg {
    color: var(--accent-purple); /* 紫色 */
}

/* 预期助攻高亮 */
.fb-widget-player-stats .stat-value.highlight-xa {
    color: var(--accent-orange); /* 橙色 */
}

/* 球员统计标签 */
.fb-widget-player-stats .stat-label {
    font-size: 0.75rem; /* 字体大小 */
    color: var(--text-muted); /* 文字颜色 */
    margin-top: 4px; /* 顶部外边距 */
    text-transform: uppercase; /* 大写转换 */
    letter-spacing: 0.5px; /* 字母间距 */
}

/* =====================================================
   Utility classes - replacements for inline styles
   ===================================================== */

/* Generic active state (replaces style="display: block;") */
.is-active {
    display: block !important;
}

/* Generic hidden state (replaces style="display: none;") */
.is-hidden {
    display: none !important;
}

/* Generic flex container (replaces style="display: flex;") */
.is-flex {
    display: flex;
}

/* =====================================================
   Match odds widget
   ===================================================== */

.odds-match-container.is-active {
    display: block;
}

/* =====================================================
   Prediction widget
   ===================================================== */

.fb-widget-prediction .prediction-match {
    display: none;
}

.fb-widget-prediction .prediction-match.is-active {
    display: block;
}

/* =====================================================
   Team disciplinary widget (tab switching)
   ===================================================== */

.team-stats-ranking-widget .disciplinary-content {
    display: none;
}

.team-stats-ranking-widget .disciplinary-content.is-active {
    display: block;
}

/* =====================================================
   Team support widget vote bars
   ===================================================== */

.fb-widget-team-support .vote-bar {
    display: flex;
}

.fb-widget-team-support .fb-team-support-oppose-fill {
    background-color: var(--accent-red);
    border-radius: 8px 0 0 8px;
}

.fb-widget-team-support .fb-team-support-support-fill {
    background-color: var(--accent-blue);
    border-radius: 0 8px 8px 0;
}

/* =====================================================
   Player support widget vote bars
   ===================================================== */

.fb-widget-player-support .vote-bar {
    display: flex;
}

.fb-widget-player-support .fb-player-support-oppose-fill {
    background-color: var(--accent-red);
    border-radius: 8px 0 0 8px;
}

.fb-widget-player-support .fb-player-support-support-fill {
    background-color: var(--accent-blue);
    border-radius: 0 8px 8px 0;
}

/* =====================================================
   Match detail - comparison stat bars
   ===================================================== */

.comparison-row .stat-bar-home {
    height: 100%;
    background: linear-gradient(90deg, #2e7d32 0%, #388e3c 100%);
    border-radius: 0 3px 3px 0;
    margin-left: auto;
}

.comparison-row .stat-bar-away {
    height: 100%;
    background: linear-gradient(90deg, #1565c0 0%, #1976d2 100%);
    border-radius: 3px 0 0 3px;
}

/* =====================================================
   SEO module page header
   ===================================================== */

.fb-page-header {
    position: relative;
    overflow: hidden;
}

.fb-page-header-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.seo-intro-text {
    margin-top: 20px;
}

.seo-admin-form {
    max-width: 800px;
}

/* =====================================================
   Friend links module
   ===================================================== */

.fb-links-container {
    display: flex;
    gap: 20px;
    margin-top: 20px;
}

.fb-links-form {
    flex: 1;
    max-width: 500px;
}

.fb-links-list {
    flex: 2;
}

.fb-links-icon {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.fb-links-placeholder-icon {
    color: #999;
}

/* =====================================================
   Announcement bar
   ===================================================== */

.fb-announcement-bar .announcement-content {
    /* animation-duration is set via inline style for dynamic value */
}

.announcement-submit {
    margin-top: 20px;
}

/* =====================================================
   Filter module
   ===================================================== */

#fb-country-unavailable.filter-select-disabled {
    display: none;
}

/* ============================================================
 * FB View Admin Dashboard - 5列布局
 * Override plugin default to show 5 modules per row
 * ============================================================ */
.fbv-cards {
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
}

@media (max-width: 1400px) {
    .fbv-cards {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 1100px) {
    .fbv-cards {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 782px) {
    .fbv-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .fbv-cards {
        grid-template-columns: 1fr;
    }
}

.fbv-card {
    padding: 12px 14px;
    font-size: 13px;
}

.fbv-card-head {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 10px;
}

.fbv-card-body p {
    font-size: 12.5px;
    line-height: 1.5;
    margin: 4px 0;
}

.fbv-meta-row {
    font-size: 12px;
}

/* =====================================================
   Analysis Hub & Spoke Pages
   分析中心 Hub 页 + 4 个 Spoke 页样式
   ===================================================== */

/* --- Navigation Submenu --- */
.nav-menu .has-submenu {
    position: relative;
}

.nav-menu .has-submenu > a {
    display: flex;
    align-items: center;
    gap: 4px;
}

.nav-menu .submenu-arrow {
    font-size: 10px;
    opacity: 0.7;
    margin-left: 2px;
}

.nav-menu .nav-submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
    z-index: 1000;
    padding: 4px 0;
    list-style: none;
    margin: 0;
}

.nav-menu .has-submenu:hover .nav-submenu,
.nav-menu .has-submenu:focus-within .nav-submenu {
    display: block;
}

.nav-menu .nav-submenu li {
    list-style: none;
}

.nav-menu .nav-submenu a {
    display: block;
    padding: 8px 16px;
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 14px;
    white-space: nowrap;
}

.nav-menu .nav-submenu a:hover {
    background: var(--bg-hover);
    color: var(--text-primary);
}

/* --- Hub Page Grid --- */
.analysis-hub-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
    margin: 24px 0;
}

.analysis-spoke-card {
    display: block;
    padding: 24px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    text-decoration: none;
    color: var(--text-primary);
    transition: border-color 0.2s, transform 0.2s;
}

.analysis-spoke-card:hover {
    border-color: #4a9eff;
    transform: translateY(-2px);
}

.analysis-spoke-card h2 {
    margin: 0 0 8px;
    font-size: 18px;
}

.analysis-spoke-card p {
    margin: 0 0 12px;
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.5;
}

.analysis-spoke-card .spoke-count {
    display: inline-block;
    padding: 2px 8px;
    background: var(--bg-tertiary);
    border-radius: 12px;
    font-size: 12px;
    color: #888;
}

/* View All link — shares button style with .widget-more-btn above.
   Only margin-left:auto is kept here for right alignment in section-header.
   [中文] View All 链接 — 共享上方 .widget-more-btn 的按钮样式
   [中文] 仅保留 margin-left:auto 用于在 section-header 中靠右对齐 */
.view-all-link {
    margin-left: auto; /* 靠右对齐 */
}

/* Triangular bullet arrow — replaces dashicons-arrow-right in Analysis buttons
   Uses Unicode U+2023 (‣) for compact visual cue, saving horizontal space
   compared to the 20px-wide dashicons font icon.
   [中文] 三角形箭头项目符号 — 替换Analysis按钮中的dashicons箭头图标
   [中文] 使用 Unicode U+2023 (‣) 字符，比20px宽的dashicons图标更节省横向空间 */
.arrow-tri {
    margin-left: 4px;
    font-size: 0.95em;
    font-weight: 700;
    vertical-align: baseline;
}

.analysis-teaser-list > * + * {
    margin-top: 16px;
}

/* --- Sort / Category Switching Bar --- */
.analysis-sort-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0;
    padding: 12px;
    background: var(--bg-secondary);
    border-radius: 6px;
}

.analysis-sort-bar .sort-btn {
    padding: 6px 14px;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 13px;
    transition: all 0.2s;
}

.analysis-sort-bar .sort-btn:hover {
    color: var(--text-primary);
    border-color: var(--accent-red); /* 悬停边框改为红色,与整站统一 */
}

.analysis-sort-bar .sort-btn.active {
    background: var(--accent-red); /* 红底白字,与菜单栏统一 */
    color: #fff;
    border-color: var(--accent-red);
}

/* --- Spoke 1: Match Preview Article --- */
.preview-article {
    padding: 20px;
    margin-bottom: 16px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); /* 独立卡片阴影，参考standings-card */
    transition: box-shadow var(--transition-fast); /* 悬停阴影过渡 */
}

.preview-article:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); /* 悬停时阴影增强 */
}

/* Standalone section header for Spoke pages (no outer wrapper needed)
   Reuses same properties as .leagues-list-section .section-header
   [中文] Spoke页面独立section-header样式（无需外层包裹）
   复用与 .leagues-list-section .section-header 相同的属性 */
.fb-page-section-header {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border-color);
}

.fb-page-section-header .section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}

.fb-page-section-header .section-title .dashicons {
    color: var(--accent-red);
    font-size: 1.125rem;
    width: 1.125rem;
    height: 1.125rem;
}

.fb-page-section-header .section-description {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin: 0;
}

/* Preview list container — wraps all preview articles
   [中文] 前瞻列表容器 — 包裹所有前瞻文章 */
.preview-list {
    margin-bottom: 20px;
}

.preview-article-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border-color);
}

.preview-article-header .league-badge {
    font-size: 13px;
    color: #999;
}

.preview-article-header .match-date {
    font-size: 12px;
    color: #888;
}

/* Left cluster: league badge + match date grouped together
   so the detail button can sit on the right via flex space-between.
   [中文] 左侧聚合：联赛标识+比赛时间组合在一起
   [中文] 使详情按钮通过 flex space-between 位于右侧 */
.preview-article-header-left {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.preview-article-teams .teams-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 12px;
}

.preview-article-teams .team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 100px;
}

.preview-article-teams .team-logo {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.preview-article-teams .team-logo-placeholder {
    font-size: 40px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
}

.preview-article-teams .team-name {
    font-weight: 600;
    color: var(--text-primary);
    text-align: center;
    margin: 0;
    font-size: 14px;
}

.preview-article-teams .vs-info .vs {
    color: #888;
    font-size: 13px;
    font-weight: 600;
}

.preview-article-content {
    color: var(--text-secondary);
    line-height: 1.6;
    font-size: 14px;
}

.preview-article-content p {
    margin: 0 0 10px;
}

.preview-article-content p:last-child {
    margin-bottom: 0;
}

.preview-article-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border-color);
}

.preview-article-footer .word-count {
    font-size: 12px;
    color: #888;
}

/* --- Spoke 2: Team Insight Card --- */
.team-insight-card {
    padding: 16px;
    margin-bottom: 12px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
}

/* Team Insights header — two-row layout
   Row 1: team logo + name (left) + View Details button (right)
   Row 2: league logo + name + country flag + name
   [中文] Team Insights头部 — 两行布局
   [中文] 第一行：球队Logo+名称（左）+ View Details按钮（右）
   [中文] 第二行：联赛Logo+名称 + 国旗+国家名 */
.team-insight-top {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
}

/* Single-row layout variant — Home page (50% column) + Team Insights Spoke page.
   Overrides .team-insight-top column direction to put all metadata (team logo/name,
   league logo/name, country flag/name) inline on the left, View Details button on
   the right. Reuses .team-insight-meta flex:1 + flex-wrap:wrap for narrow screens.
   [中文] 单行布局变体 — Home页(50%宽列) + Team Insights Spoke页
   [中文] 覆盖 .team-insight-top 的纵向排列, 改为横向: 所有元数据靠左, 按钮靠右
   [中文] 复用 .team-insight-meta 的 flex:1 + flex-wrap:wrap 适配窄屏 */
.team-insight-top-inline {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.team-insight-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.team-insight-row-primary {
    justify-content: space-between;
}

.team-insight-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex: 1;
    flex-wrap: wrap;
}

/* Team logo in primary row — 28px
   [中文] 第一行球队Logo — 28px */
.team-insight-meta .team-logo {
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex-shrink: 0;
    background-color: #ffffff;
    border-radius: 50%;
    padding: 3px;
    box-sizing: border-box;
}

.team-insight-meta .team-logo-placeholder {
    font-size: 28px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    flex-shrink: 0;
}

.team-insight-meta h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
}

/* League logo in secondary row — reuses shared 28px style from
   .league-insight-meta / .preview-summary-meta (see below).
   [中文] 第二行联赛Logo — 复用下方共享的28px样式, 与Match Previews一致 */

/* League logo + name in secondary row
   [中文] 第二行联赛Logo+名称 */
.team-insight-row-secondary .league-name {
    font-size: 13px;
    color: var(--text-muted);
    white-space: nowrap;
}

/* Country flag + name in secondary row
   [中文] 第二行国旗+国家名 */
.team-insight-row-secondary .country-flag {
    width: 20px;
    height: 14px;
    object-fit: cover;
    flex-shrink: 0;
    border-radius: 2px;
}

.team-insight-row-secondary .country-name {
    font-size: 12px;
    color: #777;
    white-space: nowrap;
}

/* Button styling for team detail link
   [中文] 球队详情按钮样式 */
.team-detail-btn,
.preview-detail-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    flex-shrink: 0;
    padding: 6px 14px;
    font-size: 0.8rem;
}

/* Row 2: Description + Stats
   [中文] 第二行：描述+统计数据 */

/* Responsive — button wraps below meta on very narrow screens
   [中文] 响应式 — 极窄屏幕按钮换行
   Note: .team-insight-top is already flex-direction:column on desktop,
   so mobile only needs to ensure rows stretch full width.
   [中文] 注: .team-insight-top 桌面端已是column布局, 移动端只需确保行占满宽度 */
@media (max-width: 600px) {
    .team-insight-top {
        align-items: stretch;
    }
}

.team-insight-header {
    display: flex;
    align-items: center;
    gap: 12px;
}

.team-insight-logo-wrapper {
    flex-shrink: 0;
}

.team-insight-logo-wrapper .team-logo {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.team-insight-logo-wrapper .team-logo-placeholder {
    font-size: 48px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
}

.team-insight-info h3 {
    margin: 0 0 4px;
    font-size: 16px;
    color: var(--text-primary);
}

.team-insight-info .team-league {
    margin: 0 0 2px;
    font-size: 13px;
    color: #999;
}

.team-insight-info .team-country {
    margin: 0;
    font-size: 12px;
    color: #777;
}

.team-description-text {
    margin-bottom: 12px;
}

.team-description-text p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.5;
}

.team-insight-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 12px;
}

.team-insight-stats .stat-item {
    text-align: center;
    padding: 8px 6px;
    background: var(--bg-tertiary);
    border-radius: 4px;
}

.team-insight-stats .stat-label {
    display: block;
    font-size: 11px;
    color: #888;
    margin-bottom: 2px;
}

.team-insight-stats .stat-value {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary);
}

/* --- Article Stats Paragraph (replaces stat-grid for SEO) --- */
/* [中文] 文章段落式统计（替代数据网格，用于SEO优化） */
.team-insight-article-stats,
.league-insight-article-stats {
    margin-bottom: 12px;
    padding: 10px 12px;
    background: var(--bg-tertiary);
    border-left: 3px solid #4a9eff;
    border-radius: 0 4px 4px 0;
}

.team-insight-article-stats p,
.league-insight-article-stats p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.6;
}

.team-form {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
    font-size: 13px;
}

.team-form .form-label {
    color: #888;
}

.team-form .form-value {
    color: var(--text-secondary);
    font-weight: 600;
    letter-spacing: 1px;
}

/* --- Spoke 3: League Insight Card (two-row layout, matches Team Insights) --- */
/* [中文] 联赛洞察卡片（两行布局，与Team Insights一致） */
.league-insight-card {
    padding: 16px;
    margin-bottom: 12px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
}

/* Row 1: League meta (left) + View Details button (right)
   [中文] 第一行：联赛信息（左）+ View Details按钮（右） */
.league-insight-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.league-insight-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex: 1;
    flex-wrap: wrap;
}

/* League logo in meta row — shared 28px style across League Insights,
   Match Previews, and Team Insights secondary row.
   [中文] 元数据行中的联赛Logo — 共享28px样式(League Insights / Match Previews / Team Insights) */
.league-insight-meta .league-logo,
.preview-summary-meta .league-logo,
.team-insight-row-secondary .league-logo {
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex-shrink: 0;
    background-color: #ffffff;
    border-radius: 50%;
    padding: 3px;
    box-sizing: border-box;
}

.league-insight-meta .league-logo-placeholder,
.preview-summary-meta .league-logo-placeholder {
    font-size: 28px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    flex-shrink: 0;
}

.league-insight-meta h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
}

/* Country flag + name in meta row
   [中文] 元数据行中的国旗+国家名 */
.league-insight-meta .country-flag {
    width: 20px;
    height: 14px;
    object-fit: cover;
    flex-shrink: 0;
    border-radius: 2px;
}

.league-insight-meta .country-name {
    font-size: 12px;
    color: #777;
    white-space: nowrap;
}

/* Button styling for league detail link
   [中文] 联赛详情按钮样式 */
.league-detail-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    flex-shrink: 0;
    padding: 6px 14px;
    font-size: 0.8rem;
}

/* Responsive — keep button on the right on narrow screens.
   .league-insight-meta has flex-wrap:wrap so metadata wraps naturally
   while the button stays right-aligned via justify-content:space-between.
   Mirrors .team-insight-top-inline behavior for visual consistency.
   [中文] 响应式 — 窄屏保持按钮靠右
   [中文] .league-insight-meta 有 flex-wrap:wrap, 元数据自然换行
   [中文] 按钮通过 justify-content:space-between 始终靠右
   [中文] 与 .team-insight-top-inline 行为一致 */

/* Row 2: Description + Stats
   [中文] 第二行：描述+统计数据 */
.league-description-text {
    margin-bottom: 12px;
}

.league-description-text p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.5;
}

/* --- Spoke 4: Trend Card --- */
.trend-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    margin-bottom: 8px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    text-decoration: none;
    color: var(--text-primary);
    transition: border-color 0.2s;
}

.trend-card:hover {
    border-color: #4a9eff;
}

.trend-card .trend-rank {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    line-height: 28px;
    text-align: center;
    background: var(--bg-tertiary);
    border-radius: 50%;
    font-weight: 700;
    font-size: 13px;
    color: var(--text-primary);
}

.trend-card .trend-logo-wrapper {
    flex-shrink: 0;
}

.trend-card .trend-logo-wrapper .team-logo,
.trend-card .trend-logo-wrapper .player-photo {
    width: 36px;
    height: 36px;
    object-fit: cover;
    border-radius: 50%;
}

.trend-card .trend-logo-wrapper .team-logo-placeholder {
    font-size: 36px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
}

.trend-card .trend-info {
    flex: 1;
    min-width: 0;
}

.trend-card .trend-name {
    margin: 0 0 2px;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
}

.trend-card .trend-subtitle {
    margin: 0 0 2px;
    font-size: 12px;
    color: #999;
}

.trend-card .trend-secondary {
    margin: 0;
    font-size: 12px;
    color: #777;
}

.trend-card .trend-metric {
    flex-shrink: 0;
    text-align: right;
}

.trend-card .trend-metric .metric-label {
    display: block;
    font-size: 11px;
    color: #888;
}

.trend-card .trend-metric .metric-value {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #4a9eff;
}

/* --- Mobile responsive for Analysis pages --- */
@media (max-width: 768px) {
    .analysis-hub-grid {
        grid-template-columns: 1fr;
    }

    .team-insight-stats,
    .league-insight-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    /* .preview-article-header keeps row + space-between on all screens.
       .preview-article-header-left has flex-wrap:wrap so metadata wraps
       naturally while the button stays right-aligned via justify-content.
       Mirrors .league-insight-top and .team-insight-top-inline behavior.
       [中文] .preview-article-header 保持 row + space-between, 按钮始终靠右
       [中文] .preview-article-header-left 有 flex-wrap:wrap, 元数据自然换行
       [中文] 与 .league-insight-top / .team-insight-top-inline 行为一致 */

    .preview-article-footer {
        flex-direction: column;
        gap: 8px;
        align-items: flex-start;
    }

    .trend-card {
        flex-wrap: wrap;
    }

    .nav-menu .nav-submenu {
        position: static;
        display: block;
        box-shadow: none;
        border: none;
        padding-left: 16px;
    }
}

/* =====================================================
   Breadcrumbs - Site-wide (Rank Math SEO)
   面包屑导航 - 全站（Rank Math SEO插件）
===================================================== */
.fb-breadcrumb-bar {
    background: var(--bg-tertiary);
    border-bottom: 1px solid var(--border-color);
    padding: 4px 0;
}

.fb-breadcrumb-bar .rank-math-breadcrumb {
    margin: 0;
}

.fb-breadcrumb-bar .rank-math-breadcrumb p {
    margin: 0;
    font-size: 13px;
    color: var(--text-secondary);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}

.fb-breadcrumb-bar .rank-math-breadcrumb a {
    color: var(--accent-blue);
    text-decoration: none;
    transition: color var(--transition-normal);
}

.fb-breadcrumb-bar .rank-math-breadcrumb a:hover {
    color: var(--text-primary);
}

.fb-breadcrumb-bar .rank-math-breadcrumb .separator {
    color: var(--text-muted);
}

.fb-breadcrumb-bar .rank-math-breadcrumb .last {
    color: var(--text-secondary);
    font-weight: 600;
}

/* =====================================================
   Analysis Hub — Spoke Card Highlights
   Reuses .analysis-spoke-card base styles; adds highlight paragraph
   [中文] Analysis Hub — Spoke卡片亮点段落
   ===================================================== */

.analysis-spoke-card .spoke-desc {
    margin: 0 0 8px;
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.5;
}

.analysis-spoke-card .spoke-highlights {
    margin: 0 0 12px;
    padding: 8px 10px;
    background: var(--bg-tertiary);
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.5;
    color: var(--text-secondary);
}

.analysis-spoke-card .spoke-highlights-label {
    font-weight: 600;
    color: var(--text-primary);
    margin-right: 4px;
}

/* =====================================================
   Match Commentary — Article Card Grid (Analysis Hub & Archive)
   Reuses .leagues-list-section / .section-header / .view-all-link
   [中文] 赛事评论 — 文章卡片网格（Analysis Hub与归档页通用）
   ===================================================== */

.commentary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
    margin: 24px 0;
}

/* Hub page commentary section: 4 equal columns (4 cards = 1 full row)
   Scoped under .commentary-section to avoid affecting archive page.
   [中文] Hub页评论区块：4等分列（4张卡片=1整行）
   [中文] 限定在.commentary-section下，不影响归档页 */
.commentary-section .commentary-grid {
    grid-template-columns: repeat(4, 1fr);
}

/* Hub page commentary thumbnails: 3:2 ratio (same as global)
   Product requirement: cover images must be fully visible at 3:2.
   [中文] Hub页评论缩略图：3:2比例（与全局一致）
   [中文] 产品要求：封面图片按3:2完整显示 */
.commentary-section .commentary-card-image-link {
    aspect-ratio: 3 / 2;
}

.commentary-card {
    display: flex;
    flex-direction: column;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    overflow: hidden;
    transition: border-color 0.2s, transform 0.2s;
}

.commentary-card:hover {
    border-color: #4a9eff;
    transform: translateY(-2px);
}

/* Match Commentary archive page — independent card visual separation
   Mirrors .preview-article box-shadow pattern (Match Previews style) for
   consistent standalone-card appearance without an outer container.
   Scoped to .commentary-archive to avoid affecting the Hub section.
   [中文] Match Commentary归档页 — 独立卡片视觉分隔
   [中文] 复用 .preview-article 的 box-shadow 模式（Match Previews 样式）
   [中文] 限定在 .commentary-archive 下，避免影响 Hub 区块 */
.commentary-archive .commentary-card {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
}

.commentary-archive .commentary-card:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.commentary-card-image-link {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: var(--bg-tertiary);
}

.commentary-card-image-link img.commentary-card-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.commentary-card:hover .commentary-card-thumb {
    transform: scale(1.05);
}

.commentary-card-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
}

.commentary-card-image-placeholder .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
}

.commentary-card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 16px;
}

.commentary-card-title {
    margin: 0 0 8px;
    font-size: 16px;
    line-height: 1.4;
}

.commentary-card-title a {
    color: var(--text-primary);
    text-decoration: none;
}

.commentary-card-title a:hover {
    color: #4a9eff;
}

.commentary-card-excerpt {
    margin: 0 0 12px;
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.5;
    flex: 1;
}

.commentary-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
    color: var(--text-muted);
}

.commentary-card-date,
.commentary-card-author {
    display: flex;
    align-items: center;
    gap: 4px;
}

.commentary-card-date .dashicons,
.commentary-card-author .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

/* --- Commentary Empty State (reuses .empty-state base) --- */
.commentary-empty.empty-state {
    padding: 40px 20px;
    text-align: center;
}

.commentary-empty .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
    color: var(--text-muted);
}

/* --- Hub Summary Sections (content preview on Analysis Hub) --- */
/* [中文] Hub摘要区块样式（Analysis Hub页内容预览） */
.analysis-summary-section {
    margin-bottom: 32px;
}

.analysis-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 16px 0;
}

/* --- Preview Summary Card (Hub truncated version) --- */
/* [中文] 前瞻摘要卡片（Hub截断版） */
.preview-summary-card {
    display: flex;
    flex-direction: column;
    padding: 16px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
}

/* Match Previews header — two-row layout
   Row 1: league logo + name (left) + View Details button (right)
   Row 2: match date
   [中文] Match Previews头部 — 两行布局
   [中文] 第一行：联赛Logo+名称（左）+ View Details按钮（右）
   [中文] 第二行：比赛日期 */
.preview-summary-header {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border-color);
}

.preview-summary-header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.preview-summary-date {
    display: flex;
    align-items: center;
}

.preview-summary-header .league-badge {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
}

.preview-summary-header .match-date {
    font-size: 12px;
    color: #888;
}

.preview-summary-teams .teams-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 10px;
}

.preview-summary-teams .team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 80px;
}

.preview-summary-teams .team-logo {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.preview-summary-teams .team-logo-placeholder {
    font-size: 36px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
}

.preview-summary-teams .team-name {
    font-weight: 600;
    color: var(--text-primary);
    text-align: center;
    margin: 0;
    font-size: 13px;
}

.preview-summary-teams .vs-info .vs {
    color: #888;
    font-size: 12px;
    font-weight: 600;
}

.preview-summary-content {
    color: var(--text-secondary);
    line-height: 1.5;
    font-size: 13px;
    margin-bottom: 10px;
    flex: 1;
}

.preview-summary-content p {
    margin: 0;
}

.preview-summary-card .preview-detail-btn {
    margin-top: auto;
}

/* Match Previews header meta container (league badge + date)
   Mirrors .team-insight-meta layout for visual consistency.
   [中文] Match Previews头部左侧容器(联赛名+日期), 与team-insight-meta布局一致 */
.preview-summary-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    flex-wrap: wrap;
    min-width: 0;
}

/* =====================================================
   Match Commentary — Single Post Page
   [中文] 赛事评论 — 单篇文章页样式
   ===================================================== */

.single-post-wrapper {
    max-width: 800px;
    margin: 0 auto;
    padding: 24px 0;
}

.commentary-single-article {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 32px;
}

.commentary-single-header {
    margin-bottom: 24px;
}

.commentary-single-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.commentary-cat-badge {
    display: inline-block;
    padding: 3px 10px;
    background: var(--bg-tertiary);
    border-radius: 12px;
    font-size: 12px;
    color: var(--text-secondary);
    text-decoration: none;
    transition: color 0.2s;
}

.commentary-cat-badge:hover {
    color: #4a9eff;
}

.commentary-single-title {
    margin: 0 0 16px;
    font-size: 28px;
    line-height: 1.3;
    color: var(--text-primary);
}

.commentary-single-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    font-size: 13px;
    color: var(--text-muted);
}

.commentary-single-author,
.commentary-single-date,
.commentary-single-modified {
    display: flex;
    align-items: center;
    gap: 4px;
}

.commentary-single-meta .dashicons {
    font-size: 15px;
    width: 15px;
    height: 15px;
}

.commentary-single-featured {
    margin-bottom: 24px;
    border-radius: 6px;
    overflow: hidden;
}

.commentary-single-thumb {
    width: 100%;
    height: auto;
    display: block;
}

.commentary-single-content {
    font-size: 16px;
    line-height: 1.7;
    color: var(--text-primary);
}

.commentary-single-content h2,
.commentary-single-content h3 {
    margin-top: 1.5em;
    margin-bottom: 0.6em;
}

.commentary-single-content p {
    margin-bottom: 1em;
}

.commentary-single-content img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

.commentary-single-content blockquote {
    margin: 1.5em 0;
    padding: 12px 20px;
    border-left: 4px solid #4a9eff;
    background: var(--bg-tertiary);
    color: var(--text-secondary);
}

.commentary-single-content a {
    color: #4a9eff;
    text-decoration: underline;
}

.commentary-page-links {
    margin: 24px 0;
    text-align: center;
}

.commentary-page-links span {
    display: inline-block;
    margin: 0 2px;
    padding: 4px 10px;
    background: var(--bg-tertiary);
    border-radius: 4px;
}

.commentary-page-links a span {
    background: transparent;
    color: #4a9eff;
}

.commentary-single-footer {
    margin-top: 32px;
    padding-top: 20px;
    border-top: 1px solid var(--border-color);
}

.commentary-single-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

.commentary-single-tags > .dashicons {
    color: var(--text-muted);
}

.commentary-tag-link {
    display: inline-block;
    padding: 3px 8px;
    background: var(--bg-tertiary);
    border-radius: 10px;
    font-size: 12px;
    color: var(--text-secondary);
    text-decoration: none;
    transition: color 0.2s;
}

.commentary-tag-link:hover {
    color: #4a9eff;
}

/* --- Post Navigation --- */
.commentary-post-nav {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin: 32px 0;
}

.commentary-post-nav a {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 16px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    text-decoration: none;
    transition: border-color 0.2s;
}

.commentary-post-nav a:hover {
    border-color: #4a9eff;
}

.commentary-nav-next {
    text-align: right;
}

.commentary-nav-label {
    font-size: 12px;
    color: var(--text-muted);
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.commentary-nav-next .commentary-nav-label {
    justify-content: flex-end;
}

.commentary-nav-title {
    font-size: 14px;
    color: var(--text-primary);
    font-weight: 500;
}

/* --- Category Archive Pagination --- */
.commentary-pagination {
    margin-top: 32px;
}

.commentary-pagination ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.commentary-pagination li a,
.commentary-pagination li span {
    display: inline-block;
    padding: 8px 12px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    font-size: 13px;
    color: var(--text-secondary);
    text-decoration: none;
}

.commentary-pagination li a:hover {
    border-color: #4a9eff;
    color: #4a9eff;
}

.commentary-pagination li .current {
    background: #4a9eff;
    border-color: #4a9eff;
    color: #fff;
}

/* =====================================================
   Responsive — Match Commentary
   [中文] 响应式 — 赛事评论
   ===================================================== */

/* Tablet: Hub commentary 2 columns (4 cards = 2 full rows)
   [中文] 平板：Hub评论区块2列（4张卡片=2整行） */
@media (max-width: 1024px) and (min-width: 769px) {
    .commentary-section .commentary-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .commentary-grid {
        grid-template-columns: 1fr;
    }

    /* Hub commentary section: override 4-column with single column on mobile
       [中文] Hub评论区块：移动端覆盖4列为单列 */
    .commentary-section .commentary-grid {
        grid-template-columns: 1fr;
    }

    /* Analysis Hub summary sections collapse to single column
       [中文] Analysis Hub摘要区块移动端单列布局 */
    .analysis-summary-grid {
        grid-template-columns: 1fr;
    }

    .commentary-single-article {
        padding: 20px;
    }

    .commentary-single-title {
        font-size: 22px;
    }

    .commentary-post-nav {
        flex-direction: column;
    }

    .commentary-nav-next {
        text-align: left;
    }

    .commentary-nav-next .commentary-nav-label {
        justify-content: flex-start;
    }
}


/* =====================================================
   Head Strip - Below breadcrumbs (site-wide top banner)
   [中文] 顶部横幅 - 面包屑下方（全站顶部横幅，固定图片）
===================================================== */
.fb-head-strip {
    width: 100%;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 20px 0 0;
    box-sizing: border-box;
}
.fb-head-strip a {
    display: block;
}
.fb-head-strip img {
    display: block;
    height: auto;
    max-width: 100%;
    margin: 0 auto;
}
.fb-head-strip picture {
    display: block;
    text-align: center;
}

/* =====================================================
   Display Panel Admin UI - Card-based 4-column layout
   [中文] Display Panel 后台 UI - 卡片式 4 列布局
   [中文] 仅在后台 panel-core 页面加载，所有样式作用域隔离
===================================================== */
/* Restore WordPress default admin grey background (#f0f0f1) when theme
   stylesheet is loaded on the panel-core admin page.
   [中文] 恢复 WordPress 后台默认灰色背景（避免被主题 body 样式覆盖） */
body.wp-admin {
    background-color: #f0f0f1;
}
.fb-panel-admin .fb-panel-card {
    background: #fff;
    border: 1px solid #c3c4c7;
    border-left: 4px solid #2271b1;
    border-radius: 4px;
    margin-bottom: 16px;
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
    transition: box-shadow .2s;
}
.fb-panel-admin .fb-panel-card:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.fb-panel-admin .fb-panel-card.is-off {
    border-left-color: #dcdcde;
    opacity: .75;
}
.fb-panel-admin .fb-panel-card.is-head {
    border-left-color: #00a32a;
}
.fb-panel-admin .fb-panel-card__head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-bottom: 1px solid #f0f0f1;
    background: #f6f7f7;
    border-radius: 4px 4px 0 0;
}
.fb-panel-admin .fb-panel-card__icon {
    font-size: 18px;
    width: 18px;
    height: 18px;
    color: #2271b1;
}
.fb-panel-admin .fb-panel-card.is-head .fb-panel-card__icon {
    color: #00a32a;
}
.fb-panel-admin .fb-panel-card__title {
    font-weight: 600;
    font-size: 14px;
    color: #1d2327;
    flex: 1;
}
.fb-panel-admin .fb-panel-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}
.fb-panel-admin .fb-panel-card__badge.is-on {
    background: #d4edda;
    color: #155724;
}
.fb-panel-admin .fb-panel-card__badge.is-off {
    background: #f0f0f1;
    color: #646970;
}
.fb-panel-admin .fb-panel-card__body {
    padding: 16px;
    display: grid;
    grid-template-columns: 1fr 7fr 1fr 1fr;
    gap: 16px;
}
.fb-panel-admin .fb-panel-card__body.is-3col {
    grid-template-columns: 1fr 7fr 1fr;
}
.fb-panel-admin .fb-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.fb-panel-admin .fb-field__label {
    font-size: 11px;
    color: #646970;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .3px;
}
.fb-panel-admin .fb-field__control input[type="text"],
.fb-panel-admin .fb-field__control input[type="number"] {
    width: 100%;
    padding: 6px 10px;
    border: 1px solid #8c8f94;
    border-radius: 4px;
    font-size: 13px;
    box-sizing: border-box;
}
.fb-panel-admin .fb-field__control input:focus {
    border-color: #2271b1;
    box-shadow: 0 0 0 1px #2271b1;
    outline: none;
}
.fb-panel-admin .fb-field--checkbox {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding-top: 18px;
}
.fb-panel-admin .fb-field--checkbox .fb-field__label {
    text-transform: none;
    letter-spacing: 0;
    font-size: 13px;
    font-weight: 500;
    color: #1d2327;
}
.fb-panel-admin .fb-field--checkbox input[type="checkbox"] {
    margin: 0;
}
.fb-panel-admin .fb-panel-hint {
    background: #f6f7f7;
    border: 1px solid #c3c4c7;
    border-radius: 4px;
    padding: 10px 16px;
    margin-bottom: 16px;
    color: #646970;
    font-size: 13px;
}
.fb-panel-admin .fb-panel-submit {
    padding-top: 8px;
}

/* =====================================================
   Player Detail Page — SEO Content Styles
   球员详情页 — SEO内容样式
   ===================================================== */

/* 球员国籍标签内的国旗图片 */
.player-nationality .player-flag-img {
    height: 15px; /* 高度 */
    border-radius: 2px; /* 圆角 */
    padding: 1px; /* 内边距 */
    box-sizing: border-box; /* 盒模型 */
}

/* 球员简介区域
   [中文] margin-bottom 继承自 .detail-section (16px)，与其他模块一致 */
.player-bio-section {
    /* inherited from .detail-section */
}

/* 球员简介内容容器
   [中文] 容器样式继承自 .detail-section (padding + background + border-radius) */
.player-bio-content {
    /* inherited from .detail-section */
}

/* 球员简介文本 */
.player-bio-text {
    font-size: 0.9375rem; /* 字体大小 */
    line-height: 1.7; /* 行高 */
    color: var(--text-primary); /* 主文字颜色 */
    margin: 0 0 12px 0; /* 外边距 */
}

/* 球风分析文本 */
.player-style-text {
    font-size: 0.875rem; /* 字体大小 */
    line-height: 1.6; /* 行高 */
    color: var(--text-secondary); /* 次要文字颜色 */
    margin: 0; /* 外边距 */
}

/* 多赛季统计表格容器
   [中文] 独立模块中表格紧跟 section-header，无需额外顶部间距 */
.player-seasons-table {
    margin-top: 0;
}

/* 多赛季表格标题 */
.seasons-table-title {
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin: 0 0 10px 0; /* 外边距 */
    padding-bottom: 8px; /* 底部内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
}

/* 多赛季表格 */
.seasons-table {
    width: 100%; /* 宽度100% */
    border-collapse: collapse; /* 合并边框 */
    font-size: 0.8125rem; /* 字体大小 */
}

/* 多赛季表格表头 */
.seasons-table thead th {
    padding: 8px 6px; /* 内边距 */
    text-align: left; /* 左对齐 */
    font-weight: 600; /* 粗体 */
    color: var(--text-secondary); /* 次要文字颜色 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
    white-space: nowrap; /* 不换行 */
}

/* 多赛季表格单元格 */
.seasons-table tbody td {
    padding: 8px 6px; /* 内边距 */
    border-bottom: 1px solid var(--border-color); /* 底部边框 */
    color: var(--text-primary); /* 主文字颜色 */
}

/* 多赛季表格行悬停 */
.seasons-table tbody tr:hover {
    background: var(--bg-tertiary); /* 三级背景色 */
}

/* 职业生涯汇总行 */
.seasons-table tfoot .career-totals-row td {
    padding: 10px 6px; /* 内边距 */
    font-weight: 700; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    border-top: 2px solid var(--border-color); /* 顶部边框 */
    border-bottom: none; /* 无底部边框 */
}

/* 响应式：小屏表格 */
@media (max-width: 480px) {
    .seasons-table {
        font-size: 0.75rem; /* 缩小字体 */
    }
    .seasons-table thead th,
    .seasons-table tbody td,
    .seasons-table tfoot td {
        padding: 6px 4px; /* 缩小内边距 */
    }
}

/* 球员详情页宽表格防溢出：容器内横向滚动，不再撑破手机布局
   (修复: Season History 表 11 列且表头 nowrap, 最小内容宽 ~443px
    超出手机内容区; 隔离实验已验证为球员页横向溢出元凶,
    标准移动端宽表格处理方式 — 容器滚动代替撑破页面) */
/* [中文] 赛季统计/伤病/履历表格在移动端容器内横向滚动 */
@media (max-width: 768px) {
    .player-seasons-table,
    .player-injuries-content,
    .player-team-history-content {
        overflow-x: auto; /* 容器内横向滚动 */
        -webkit-overflow-scrolling: touch; /* iOS 惯性滚动 */
    }
}

/* =====================================================
   Player Detail Page — Injury History & Team History
   球员详情页 — 伤病历史 & 球队履历样式
   ===================================================== */

/* 伤病历史区域
   [中文] margin-bottom 继承自 .detail-section (16px)，与其他模块一致 */
.player-injuries-section,
.player-team-history-section {
    /* inherited from .detail-section */
}

/* 伤病/履历内容容器
   [中文] 容器样式继承自 .detail-section (padding + background + border-radius)
   [中文] 此处仅保留选择器占位，避免与 .detail-section 产生双重 padding/background */
.player-injuries-content,
.player-team-history-content {
    /* inherited from .detail-section */
}

/* 伤病类型徽章 */
.injury-type-badge {
    display: inline-block; /* 行内块 */
    padding: 2px 8px; /* 内边距 */
    border-radius: var(--radius-sm); /* 小圆角 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    white-space: nowrap; /* 不换行 */
}

/* 伤病类型颜色 — Injured (红色) */
.injury-type-badge.injury-type-injured {
    background: rgba(220, 53, 69, 0.12); /* 浅红背景 */
    color: var(--accent-red); /* 红色文字 */
}

/* 伤病类型颜色 — Suspended (橙色) */
.injury-type-badge.injury-type-suspended {
    background: rgba(255, 193, 7, 0.15); /* 浅橙背景 */
    color: #856404; /* 深橙色文字 */
}

/* 伤病类型颜色 — Doubtful (灰色) */
.injury-type-badge.injury-type-doubtful {
    background: var(--bg-tertiary); /* 三级背景色 */
    color: var(--text-secondary); /* 次要文字颜色 */
}

/* 球队履历中的球队logo */
.team-history-logo {
    height: 18px; /* 高度 */
    width: 18px; /* 宽度 */
    vertical-align: middle; /* 垂直居中 */
    border-radius: 2px; /* 圆角 */
    margin-right: 4px; /* 右边距 */
    object-fit: contain; /* 保持比例 */
}

/* =====================================================
   Match Videos Widget — 比赛视频集锦模块
   容器样式继承 .detail-section，此处仅补充模块内部样式
   ===================================================== */

/* 模块描述文字 */
.match-videos-section .section-description {
    color: var(--text-secondary); /* 次文字颜色 */
    margin: 0 0 16px; /* 底部外边距 */
    font-size: 0.9rem; /* 字体大小 */
}

/* 主视频区块 */
.match-videos-section .video-featured {
    margin-bottom: 20px; /* 底部外边距 */
}

.match-videos-section .video-featured .video-title {
    font-size: 1.1rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin: 0 0 12px; /* 底部外边距 */
}

/* 主视频播放器：预设宽高比避免 CLS（布局偏移） */
.match-videos-section .video-player-wrapper {
    position: relative; /* 相对定位 */
    width: 100%; /* 宽度撑满 */
    aspect-ratio: 16 / 9; /* 视频宽高比 */
    background: #000; /* 黑色背景 */
    border-radius: var(--radius-md); /* 中圆角 */
    overflow: hidden; /* 溢出隐藏 */
}

.match-videos-section .video-player-wrapper iframe {
    position: absolute; /* 绝对定位 */
    inset: 0; /* 四边贴齐 */
    width: 100%; /* 宽度撑满 */
    height: 100%; /* 高度撑满 */
    border: none; /* 无边框 */
}

/* 视频元信息行（频道/播放量/官方标记） */
.match-videos-section .video-meta {
    display: flex; /* 弹性布局 */
    flex-wrap: wrap; /* 允许换行 */
    gap: 12px; /* 元素间距 */
    align-items: center; /* 垂直居中 */
    margin-top: 10px; /* 顶部外边距 */
    font-size: 0.85rem; /* 字体大小 */
    color: var(--text-secondary); /* 次文字颜色 */
}

.match-videos-section .video-meta .dashicons {
    font-size: 1em; /* 与文字等大 */
    vertical-align: middle; /* 垂直居中 */
    width: auto; /* 覆盖 dashicons 默认宽度 */
}

/* 官方来源徽章 */
.match-videos-section .official-badge {
    color: var(--accent-blue); /* 蓝色文字 */
    font-weight: 600; /* 粗体 */
    display: inline-flex; /* 行内弹性 */
    align-items: center; /* 垂直居中 */
    gap: 2px; /* 图标与文字间距 */
}

/* 其他视频列表：响应式网格 */
.match-videos-section .videos-list {
    list-style: none; /* 无列表符号 */
    padding: 0; /* 无内边距 */
    margin: 0; /* 无外边距 */
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); /* 响应式列宽 */
    gap: 16px; /* 网格间距 */
}

.match-videos-section .video-item article {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 纵向排列 */
    gap: 6px; /* 元素间距 */
}

/* 视频缩略图按钮 */
.match-videos-section .video-thumbnail {
    position: relative; /* 相对定位 */
    display: block; /* 块级元素 */
    width: 100%; /* 宽度撑满 */
    aspect-ratio: 16 / 9; /* 视频宽高比 */
    background: #000; /* 黑色背景 */
    border: none; /* 无边框 */
    border-radius: var(--radius-sm); /* 小圆角 */
    overflow: hidden; /* 溢出隐藏 */
    cursor: pointer; /* 手型光标 */
    padding: 0; /* 无内边距 */
}

.match-videos-section .video-thumbnail img {
    width: 100%; /* 宽度撑满 */
    height: 100%; /* 高度撑满 */
    object-fit: cover; /* 保持比例裁剪 */
    transition: transform 0.2s; /* 悬停缩放过渡 */
}

.match-videos-section .video-thumbnail:hover img {
    transform: scale(1.05); /* 悬停放大 */
}

/* 播放图标（居中半透明） */
.match-videos-section .video-thumbnail .play-icon {
    position: absolute; /* 绝对定位 */
    top: 50%; /* 垂直居中 */
    left: 50%; /* 水平居中 */
    transform: translate(-50%, -50%); /* 位移居中 */
    font-size: 2.5em; /* 图标大小 */
    color: rgba(255, 255, 255, 0.95); /* 白色 */
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8); /* 阴影 */
    pointer-events: none; /* 不拦截点击 */
}

/* 时长徽章（右下角） */
.match-videos-section .video-thumbnail .duration {
    position: absolute; /* 绝对定位 */
    bottom: 6px; /* 底部偏移 */
    right: 6px; /* 右侧偏移 */
    background: rgba(0, 0, 0, 0.85); /* 深色背景 */
    color: #fff; /* 白色文字 */
    padding: 2px 6px; /* 内边距 */
    border-radius: 3px; /* 圆角 */
    font-size: 0.75rem; /* 字体大小 */
}

/* 列表视频标题 */
.match-videos-section .video-item .video-title {
    font-size: 0.95rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin: 0; /* 无外边距 */
    line-height: 1.3; /* 行高 */
    display: -webkit-box; /* 弹性盒（截断） */
    -webkit-line-clamp: 2; /* 最多2行 */
    -webkit-box-orient: vertical; /* 纵向排列 */
    overflow: hidden; /* 溢出隐藏 */
}

.match-videos-section .video-item .video-channel {
    font-size: 0.8rem; /* 字体大小 */
    color: var(--text-secondary); /* 次文字颜色 */
}

/* 版权归属声明 */
.match-videos-section .videos-attribution {
    margin-top: 16px; /* 顶部外边距 */
    padding-top: 10px; /* 顶部内边距 */
    border-top: 1px solid var(--border-color); /* 分隔线 */
    font-size: 0.8rem; /* 字体大小 */
    color: var(--text-secondary); /* 次文字颜色 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 图标与文字间距 */
}

/* =====================================================
   Video Modal Player — 视频模态播放器
   ===================================================== */

.video-modal {
    position: fixed; /* 固定定位 */
    inset: 0; /* 全屏覆盖 */
    z-index: 99999; /* 最高层级 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    padding: 20px; /* 内边距（小屏留白） */
}

.video-modal[hidden] {
    display: none; /* 隐藏时彻底移除 */
}

/* 遮罩层 */
.video-modal .video-modal-overlay {
    position: absolute; /* 绝对定位 */
    inset: 0; /* 全屏覆盖 */
    background: rgba(0, 0, 0, 0.85); /* 深色遮罩 */
    cursor: pointer; /* 手型光标 */
}

/* 模态内容框 */
.video-modal .video-modal-content {
    position: relative; /* 相对定位 */
    width: min(880px, 100%); /* 最大宽度限制 */
    background: var(--bg-secondary); /* 次背景色 */
    border: 1px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-lg); /* 大圆角 */
    padding: 16px; /* 内边距 */
}

/* 关闭按钮 */
.video-modal .video-modal-close {
    position: absolute; /* 绝对定位 */
    top: -14px; /* 顶部凸出 */
    right: -14px; /* 右侧凸出 */
    width: 32px; /* 宽度 */
    height: 32px; /* 高度 */
    border-radius: 50%; /* 圆形 */
    border: none; /* 无边框 */
    background: var(--bg-tertiary); /* 三级背景色 */
    color: var(--text-secondary); /* 次文字颜色 */
    cursor: pointer; /* 手型光标 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
}

.video-modal .video-modal-close:hover {
    background: var(--accent-red, #dc3545); /* 悬停红色 */
    color: #fff; /* 白色文字 */
}

/* 模态标题 */
.video-modal .video-modal-title {
    font-size: 1rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    margin: 0 40px 12px 0; /* 右侧留出关闭按钮空间 */
    line-height: 1.3; /* 行高 */
}

/* 模态播放器：预设宽高比避免 CLS */
.video-modal .video-modal-player-wrapper {
    position: relative; /* 相对定位 */
    width: 100%; /* 宽度撑满 */
    aspect-ratio: 16 / 9; /* 视频宽高比 */
    background: #000; /* 黑色背景 */
    border-radius: var(--radius-md); /* 中圆角 */
    overflow: hidden; /* 溢出隐藏 */
}

.video-modal .video-modal-player-wrapper iframe {
    position: absolute; /* 绝对定位 */
    inset: 0; /* 四边贴齐 */
    width: 100%; /* 宽度撑满 */
    height: 100%; /* 高度撑满 */
    border: none; /* 无边框 */
}

/* =====================================================
   Highlights Page — Highlights 顶级栏目（视频集锦聚合列表）
   复用现有 .filter-bar / .filter-select /
   .filter-btn / .pagination / .empty-state 基类，
   此处仅补充栏目专用样式（选择器全库唯一）
   ===================================================== */

/* 卡片网格：桌面 3 列 / 平板 2 列 / 手机 1 列 */
.highlights-grid {
    display: grid; /* 网格布局 */
    grid-template-columns: repeat(3, 1fr); /* 桌面 3 列 */
    gap: 20px; /* 网格间距 */
}

@media (max-width: 768px) {
    .highlights-grid {
        grid-template-columns: 1fr; /* 手机 1 列 */
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .highlights-grid {
        grid-template-columns: repeat(2, 1fr); /* 平板 2 列 */
    }
}

/* Home 页 Match Highlights 模块网格：桌面 4 列 / 平板 2 列 / 手机 1 列
   仅覆盖列数，display/gap 继承 .highlights-grid 基类；
   Highlights 列表页保持 3 列不变 */
.highlights-grid-home {
    grid-template-columns: repeat(4, 1fr); /* 桌面 4 列 */
}

@media (max-width: 768px) {
    .highlights-grid-home {
        grid-template-columns: 1fr; /* 手机 1 列 */
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .highlights-grid-home {
        grid-template-columns: repeat(2, 1fr); /* 平板 2 列 */
    }
}

/* 集锦卡片：复用卡片圆角/边框/背景变量 */
.highlight-card {
    background: var(--bg-secondary); /* 卡片背景 */
    border: 1px solid var(--border-color); /* 边框 */
    border-radius: var(--radius-md); /* 中圆角 */
    overflow: hidden; /* 溢出隐藏（配合圆角裁剪缩略图） */
    transition: border-color 0.2s, transform 0.2s; /* 悬停过渡 */
}

.highlight-card:hover {
    border-color: var(--accent-red); /* 悬停红色边框 */
    transform: translateY(-3px); /* 悬停上浮 */
}

.highlight-card .card-link {
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 纵向排列 */
    text-decoration: none; /* 去除下划线 */
    color: inherit; /* 继承文字颜色 */
}

/* 缩略图区：预设 16:9 宽高比避免 CLS（布局偏移） */
.highlight-card .card-thumbnail {
    position: relative; /* 相对定位 */
    aspect-ratio: 16 / 9; /* 视频宽高比 */
    background: #000; /* 黑色背景（图未加载时的占位） */
    overflow: hidden; /* 溢出隐藏 */
}

.highlight-card .card-thumbnail img {
    width: 100%; /* 宽度撑满 */
    height: 100%; /* 高度撑满 */
    object-fit: cover; /* 保持比例裁剪 */
    transition: transform 0.25s; /* 悬停缩放过渡 */
}

.highlight-card:hover .card-thumbnail img {
    transform: scale(1.05); /* 悬停轻微放大 */
}

/* 居中播放按钮（悬停时显示） */
.highlight-card .play-icon {
    position: absolute; /* 绝对定位 */
    top: 50%; /* 垂直居中 */
    left: 50%; /* 水平居中 */
    transform: translate(-50%, -50%); /* 居中偏移修正 */
    width: 48px; /* 宽度 */
    height: 48px; /* 高度 */
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
    font-size: 18px; /* 图标大小 */
    color: #fff; /* 白色图标 */
    background: rgba(229, 57, 53, 0.9); /* 红色半透明背景 */
    border-radius: 50%; /* 圆形 */
    opacity: 0; /* 默认隐藏 */
    transition: opacity 0.2s; /* 显隐过渡 */
    pointer-events: none; /* 不拦截点击 */
}

.highlight-card:hover .play-icon {
    opacity: 1; /* 悬停显示 */
}

/* 右下角时长标签 */
.highlight-card .duration-badge {
    position: absolute; /* 绝对定位 */
    right: 8px; /* 右侧间距 */
    bottom: 8px; /* 底部间距 */
    padding: 2px 6px; /* 内边距 */
    font-size: 0.75rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: #fff; /* 白色文字 */
    background: rgba(0, 0, 0, 0.8); /* 黑色半透明背景 */
    border-radius: var(--radius-sm); /* 小圆角 */
}

/* 卡片内容区 */
.highlight-card .card-body {
    padding: 12px 14px; /* 内边距 */
    display: flex; /* 弹性布局 */
    flex-direction: column; /* 纵向排列 */
    gap: 8px; /* 元素间距 */
}

/* 比赛行：[主队名][主队标][比分][客队标][客队名]（视觉规范对齐 Matches 卡片） */
.highlight-card .card-match-row {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 6px; /* 元素间距 */
    min-width: 0; /* 允许子元素收缩 */
}

.highlight-card .card-match-row .team-name {
    flex: 1; /* 平分剩余空间 */
    min-width: 0; /* 允许截断 */
    font-size: 0.875rem; /* 字体大小 */
    font-weight: 600; /* 粗体 */
    color: var(--text-primary); /* 主文字颜色 */
    white-space: nowrap; /* 不换行 */
    overflow: hidden; /* 溢出隐藏 */
    text-overflow: ellipsis; /* 省略号截断 */
}

.highlight-card .card-match-row .team-name.home {
    text-align: right; /* 主队名右对齐（贴近队标） */
}

.highlight-card .card-match-row .team-name.away {
    text-align: left; /* 客队名左对齐（贴近队标） */
}

.highlight-card .card-match-row .team-logo {
    width: 20px; /* 宽度 */
    height: 20px; /* 高度 */
    object-fit: contain; /* 保持比例 */
    flex-shrink: 0; /* 不收缩 */
}

.highlight-card .card-match-row .team-logo.dashicons {
    font-size: 18px; /* 图标字体大小 */
    width: 20px; /* 宽度 */
    height: 20px; /* 高度 */
    color: var(--text-muted); /* 占位图标颜色 */
    display: inline-flex; /* 行内弹性 */
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中 */
}

.highlight-card .card-match-row .card-score-home,
.highlight-card .card-match-row .card-score-away {
    font-size: 0.95rem; /* 字体大小 */
    font-weight: 700; /* 粗体 */
    color: var(--accent-red); /* 红色比分 */
    flex-shrink: 0; /* 不收缩 */
}

.highlight-card .card-match-row .card-score-sep {
    font-size: 0.875rem; /* 字体大小 */
    color: var(--text-muted); /* 分隔符颜色 */
    flex-shrink: 0; /* 不收缩 */
}

/* 卡片元信息行：联赛（靠左）+ 日期（靠右） */
.highlight-card .card-meta {
    display: flex; /* 弹性布局 */
    align-items: center; /* 垂直居中 */
    gap: 10px; /* 元素间距 */
    font-size: 0.8rem; /* 字体大小 */
    color: var(--text-secondary); /* 次文字颜色 */
}

.highlight-card .league-tag {
    display: inline-flex; /* 行内弹性 */
    align-items: center; /* 垂直居中 */
    gap: 4px; /* 图标与文字间距 */
    max-width: 100%; /* 防止溢出 */
}

/* 联赛图标：挂 league-logo class 后由全局白圈底规则（L11560）提供
   白底+圆形+4px padding，此处仅控制尺寸为 20px（与行 1 队标白圈一致） */
.highlight-card .league-tag img {
    width: 20px; /* 宽度 */
    height: 20px; /* 高度 */
    object-fit: contain; /* 保持比例 */
    vertical-align: middle; /* 垂直居中 */
}

.highlight-card .match-date {
    margin-left: auto; /* 推到行尾 */
    white-space: nowrap; /* 不换行 */
}

/* 筛选栏：继承 .filter-bar 基类；日历容器覆盖基类的 margin-left:auto，
   在筛选栏内保持内联顺序（联赛下拉 → 日历 → 按钮），下拉面板靠右不受遮挡 */
/* [中文] 基类 .date-picker-container 的 margin-left:auto 用于 Matches 页 tabs
   [中文] 推右布局，在筛选栏内会打乱顺序，此处归零 */
.highlights-filter .hl-date-picker-container {
    margin-left: 0; /* 归零（保持筛选栏内联顺序） */
}

/* 空状态在网格容器内的跨列显示（加载中 spin 动画复用 L7609 的 .dashicons.spin） */
#highlights-container .empty-state {
    grid-column: 1 / -1; /* 跨全部列 */
}

/* =====================================================
   Standings 卡片补充样式（P1-3/P2-2 修复新增）
   - .season-name : 卡片头部赛季名称（服务端渲染 + AJAX 渲染一致）
   - .has-groups  : 多分组赛事（世界杯小组赛等）的分组列布局
   ===================================================== */

/* 赛季名称：靠右对齐、弱化配色，与联赛名/国家名区分 */
.standings-header .season-name {
    margin-left: auto; /* 推到行尾 */
    font-size: 0.7rem; /* 字体大小 */
    font-weight: 600; /* 加粗 */
    color: var(--text-muted, #9aa4b2); /* 弱化色 */
    white-space: nowrap; /* 不换行 */
    flex-shrink: 0; /* 不缩小 */
}

/* 多分组赛事：在 Team 列后插入 Group 列（12 列网格）
   [2026-09-27 v2] 修复刻度错位：原值(30/22/28px)是小屏紧凑刻度却全局生效，
   导致桌面端分组卡右侧数据列(270px)远窄于正常卡(380px)、Team 列异常宽。
   现按"正常卡同档刻度 + 插入分组列"重写三档断点：
   桌面档镜像 L1633 基类(40/35/40/90px)，中间档镜像 768px 断点(30/25/30/70px)。 */
.standings-card.has-groups .standings-row {
    grid-template-columns: 40px 1fr 40px 35px 35px 35px 35px 35px 35px 40px 40px 90px; /* 列宽定义（=桌面基类 + 40px 分组列） */
}

/* 中间档（≤768px）：镜像 768px 断点的 11 列中刻度 + 分组列。
   注意：本块必须位于上方全局规则之后（同特异性靠源顺序取胜），
   且不可放进 L1435 的早期媒体查询块内。 */
@media (max-width: 768px) {
    .standings-card.has-groups .standings-row {
        grid-template-columns: 30px minmax(80px, 1fr) 30px 25px 25px 25px 25px 30px 30px 30px 35px 40px; /* 列宽定义（=768px 档 + 30px 分组列，Form 40px 圆点档） */
    }
}

.standings-row .col-group {
    font-size: 0.6rem; /* 分组名字体大小 */
    font-weight: 600; /* 加粗 */
    text-align: center; /* 居中对齐 */
    white-space: nowrap; /* 不换行 */
    overflow: hidden; /* 隐藏溢出 */
    text-overflow: ellipsis; /* 省略号 */
    color: var(--text-muted, #9aa4b2); /* 弱化色 */
}

/* 小屏下分组卡片：缩小分组列，避免横向溢出 */
@media (max-width: 480px) {
    .standings-header .season-name {
        display: none; /* 小屏隐藏赛季名，与国家名处理一致 */
    }

    .standings-card.has-groups .standings-row {
        grid-template-columns: 22px minmax(60px, 1fr) 24px 18px 18px 18px 18px 22px 22px 22px 28px 38px; /* 列宽定义（480px 紧凑档 + 24px 分组列；v3 全面收紧：rank 24→22、数据列 20→18/24→22、Pts 30→28、Form 38px 圆点档，为 Team 列释放 ~26px） */
    }

    /* 小屏下无分组卡片: 同步收紧列宽
       修复: 768px 断点的 11 列固定宽度合计约 405px, 超出手机内容区(~345px),
       配合 .standings-table 的 overflow-x:hidden 导致右侧 Pts/Form 列被裁掉。
       此处对齐 has-groups 小屏的紧凑尺度, 右侧完整显示。 */
    /* [中文] 无分组积分榜小屏紧凑列宽, 消除右侧裁切 */
    .standings-table .standings-row {
        grid-template-columns: 22px minmax(60px, 1fr) 18px 18px 18px 18px 22px 22px 22px 28px 38px; /* 列宽定义（v3 收紧同分组卡；Form 38px = 5 圆点×6px + 4 间距×2px） */
    }
}

/* =====================================================
   Match Commentary Default Thumbnail — Full Image Display
   The default site image (1200x630) is wider than the card
   containers (3:2 / 16:9 / 120px magazine thumbs), so
   object-fit: cover crops both sides. The --default modifier
   class (added in fb_render_commentary_card fallback) switches
   to contain so the whole image is visible proportionally.
   !important is required to override the higher-specificity
   home-commentary-magazine nth-child cover rules.
   [中文] Match Commentary 默认缩略图完整显示
   [中文] 默认图(1200x630)宽于卡片容器, cover 会左右裁切
   [中文] --default 修饰类改为 contain 按比例完整显示
   [中文] !important 用于压过首页杂志网格的高特异性 cover 规则
===================================================== */
.commentary-card-image-link img.commentary-card-thumb--default {
    object-fit: contain !important;
}

/* =====================================================
   Home Magazine Commentary — Restore Cropped Thumbnails
   The global --default contain rule (full-image display)
   letterboxes the home magazine grid: card 1 uses the image
   as a full-card background (height driven by content), so
   contain leaves top/bottom gaps. Restore the original
   cover behavior for this module only. The 3:2 default
   image matches the small-card 3:2 containers exactly, so
   cover shows it without visible cropping on cards 2-7.
   [中文] 首页杂志网格 — 恢复原裁剪显示
   [中文] 全局 --default contain 规则导致首页大卡上下留白
   [中文] 仅此模块恢复 cover; 3:2 默认图与小卡 3:2 容器吻合, 无可见裁切
===================================================== */
.commentary-grid.home-commentary-magazine .commentary-card-image-link img.commentary-card-thumb--default {
    object-fit: cover !important;
}

/* =====================================================
   404 Page — Empty-state Button Spacing
   The shared .empty-state rhythm gives the icon a 16px
   margin-bottom while the button has none, so the
   description-to-button gap (12px flex gap only) is
   tighter than the icon-to-description gap (16px + 12px).
   Equalize by mirroring the icon's margin on the button.
   404-specific modifier class — global .empty-state
   spacing on other pages is untouched.
   [中文] 404 页空状态 — 按钮上间距
   [中文] 共享 .empty-state 节奏中图标有 16px 下边距而按钮无边距,
   [中文] 导致描述到按钮的间距(仅 12px flex gap)小于图标到描述的
   [中文] 间距(16px + 12px)。给按钮镜像同样的 16px 上边距拉平节奏。
   [中文] 仅作用于 404 修饰类, 其它页面的 .empty-state 间距不受影响
===================================================== */
.fb-404-empty .btn-primary {
    margin-top: 16px; /* 与 .empty-state .dashicons 的 margin-bottom 等值 */
}

/* =====================================================
   404 Page — Illustration Sizing
   Media-library illustration (kickindi-404-offside, 2:1
   landscape) replaces the dashicon in the empty-state.
   Raster image: cap display width, keep the icon's 16px
   bottom margin so illustration-to-description rhythm
   stays 28px (16px margin + 12px flex gap), matching the
   equalized description-to-button gap. Rounded corners +
   subtle border blend the illustration into the dark card.
   [中文] 404 页插画尺寸
   [中文] 媒体库插画(越位主题, 2:1 横版)替代 dashicon 图标:
   [中文] 限制显示宽度, 沿用图标同款 16px 下边距, 保持
   [中文] 插画→描述 与 描述→按钮 均为 28px 的等距节奏;
   [中文] 圆角+描边融入深色卡片
===================================================== */
.fb-404-empty img {
    width: 100%; /* 容器内自适应 */
    max-width: 420px; /* 显示宽度上限(2:1 横版) */
    height: auto; /* 等比缩放 */
    margin-bottom: 16px; /* 与原 .dashicons 下边距等值, 保持节奏 */
    border-radius: var(--radius-lg); /* 圆角 */
    border: 1px solid var(--border-color); /* 描边 */
}

/* =====================================================
   Footer Copyright — [已重构]
   原版权行内联链接样式已删除: 版权与 Privacy/Sitemap 链接
   现分别位于 .footer-copyright 与 .footer-legal-links, 样式
   定义在文件头部 Footer 区(约 577-612 行)。HTML 中的
   .footer-copyright-sep 元素已移除, 此处规则无消费方。
   [中文] 版权行样式已迁移至 Footer 区, 此处不再保留
===================================================== */

/* =====================================================
   Footer — Advertising Contact (Advertise With Us)
   [已重构] 原独立横排样式块已删除: 联系条目现作为链接列区的
   一列 (footer-col--contact) 渲染, 样式并入文件头部 Footer 区
   的 .footer-ad-contact 规则(竖排/左对齐/eyebrow 标题)。
   [中文] 联系模块样式已迁移至 Footer 区(约 515 行), 此处不再保留
===================================================== */


/* =====================================================
   League Season Page + All Seasons Hub Module
   赛季页(三层内链树第2层) + 联赛 Hub All Seasons 模块(§5.2/§5.8)
   [中文] P2 新增: 赛季页列表/导航/分页容器 + Hub 赛季网格
===================================================== */

/* --- Season page header & season switch nav (season switch) --- */
.league-season-page .season-header-section .section-title {
    font-size: 1.5rem;
    margin: 0 0 4px;
}

.season-header-meta {
    color: var(--text-muted);
    font-size: 0.9rem;
    margin: 0 0 12px;
}

.season-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.season-nav-item {
    display: inline-block;
    padding: 5px 12px;
    border-radius: var(--radius-sm, 4px);
    border: 1px solid var(--border-color);
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.season-nav-item:hover {
    border-color: var(--accent-red);
    color: var(--accent-red);
    background: var(--bg-tertiary);
}

.season-nav-item.current {
    background: var(--accent-red);
    border-color: var(--accent-red);
    color: #fff;
}

/* --- Season match list: reuses the Matches page match-card component
       (fb_render_match_card); the wrapper is a crawlable <a> --- */
/* [中文] 赛季比赛列表: 复用 Matches 页 match-card 组件, 外层为可爬取 <a> */
.season-matches-list {
    display: flex;
    flex-direction: column;
}

.season-matches-list .match-card-wrapper {
    display: block;
    color: inherit;
    text-decoration: none;
}

/* Season page card contrast: module background is --bg-secondary (same as
   the card's own default), making cards invisible. Bump the card one level
   to --bg-tertiary — same treatment as .league-detail-page .fixtures-section
   .match-card (module secondary / card tertiary layering).
   [中文] 赛季页卡片对比度: 模块背景与卡片默认背景同为 --bg-secondary,
   [中文] 卡片无轮廓感。卡片提升一档为 --bg-tertiary —— 与联赛详情页
   [中文] fixtures 模块同一处理(模块 secondary / 卡片 tertiary 分层)。 */
.league-season-page .season-matches-list .match-card {
    background-color: var(--bg-tertiary);
}

.league-season-page .season-matches-list .match-card:hover {
    background-color: var(--bg-hover);
}

/* --- All Seasons Hub module (League Hub → Season grid) --- */
.all-seasons-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 10px;
}

.all-seasons-item {
    display: block;
    text-align: center;
    padding: 10px 12px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm, 4px);
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.all-seasons-item:hover {
    border-color: var(--accent-red);
    color: var(--accent-red);
    background: var(--bg-tertiary);
}

/* --- Responsive --- */
@media (max-width: 600px) {
    .all-seasons-grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }
}
