/**
 * 品牌站主样式
 * 所有颜色/字号/间距引用 brand-colors.css 中的 CSS 变量
 */

/* ========== Reset & Base ========== */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 100%;
  line-height: var(--brand-leading-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  height: 100%;
}

body {
  font-family: var(--brand-font-zh);
  font-size: var(--brand-font-base);
  color: var(--brand-text-primary);
  background: var(--brand-bg-page);
  min-width: var(--brand-layout-content);
  min-height: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

a {
  color: inherit;
  text-decoration: none;
}

/* 品牌站全局：链接悬浮无下划线（覆盖 portal 全局 a:hover 及更高特异性的 .portal-* a:hover） */
a:hover {
  opacity: 0.8;
  text-decoration: none !important;
}

img {
  max-width: 100%;
  display: block;
}

ul, ol {
  list-style: none;
}

/* ========== Layout ========== */
.brand-container {
  width: var(--brand-layout-content);
  max-width: 100%;
  margin: 0 auto;
}

/* 页面垂直节奏：大区块之间用 gap，不用子级 margin 叠出双倍间距 */
.brand-page {
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-lg);
  padding-top: var(--brand-space-page-top);
  padding-bottom: var(--brand-space-stack);
  /* 复用 view/portal 详情/列表结构时，内联样式中的 var(--portal-*) 映射到品牌变量 */
  --portal-bg-card: var(--brand-bg-card);
  --portal-bg: var(--brand-bg-page);
  --portal-bg-muted: var(--brand-rate-bg);
  --portal-bg-alt: var(--brand-rate-bg);
  --portal-bg-hover: var(--brand-rate-bg);
  --portal-text: var(--brand-text-primary);
  --portal-text-heading: var(--brand-text-heading);
  --portal-text-secondary: var(--brand-text-secondary);
  --portal-text-muted: var(--brand-text-meta);
  --portal-text-inverse: var(--brand-text-inverse);
  --portal-border: var(--brand-border-light);
  --portal-border-light: var(--brand-border-light);
  --portal-border-muted: var(--brand-border-dark);
  --portal-border-subtle: var(--brand-border-light);
  --portal-divider: var(--brand-border-light);
  --portal-primary: var(--brand-black);
  --portal-primary-light: rgba(21, 21, 21, 0.1);
  --portal-live: var(--brand-live);
  --portal-rate: var(--brand-live);
  --portal-rate-light: var(--brand-bg-live);
  --portal-success: var(--brand-live);
  --portal-warning: var(--brand-video-tag);
  --portal-font-title: var(--brand-font-2xl);
  --portal-font-subtitle: var(--brand-font-lg);
  --portal-font-lg: var(--brand-font-lg);
  --portal-font-md: var(--brand-font-md);
  --portal-font-block: var(--brand-font-xl);
  --portal-font-content: var(--brand-font-base);
  --portal-font-base: var(--brand-font-base);
  --portal-font-caption: var(--brand-font-sm);
  --portal-font-sm: var(--brand-font-sm);
  --portal-space-xs: var(--brand-space-xs);
  --portal-space-sm: var(--brand-space-sm);
  --portal-space-md: var(--brand-space-md);
  --portal-space-lg: var(--brand-space-lg);
  --portal-space-16: 1rem;
  --portal-space-2xl: var(--brand-space-2xl);
  --portal-schedule-right-match-height: 12rem;
  --portal-page-padding-sm: var(--brand-space-sm);
  --portal-page-padding: var(--brand-space-lg);
  --portal-icon-lg: var(--brand-space-xl);
  --portal-font-xs: var(--brand-font-xs);
  --portal-font-title: var(--brand-font-3xl);
  /* 略紧于 lg，避免侧栏/卡片内内容被挤得过窄 */
  --portal-card-padding: var(--brand-space-md);
  --portal-content-width: min(100%, var(--brand-layout-content));
  --portal-text-placeholder: var(--brand-text-tertiary);
  --portal-success-light: rgba(52, 199, 89, 0.15);
  --portal-rank-2: var(--brand-text-secondary);
  --portal-rank-3: var(--brand-video-tag);
}

/* Portal 主布局：与 portal.css 一致的主栏 + 侧栏 flex（品牌主题不加载 portal.css 时需在此补全） */
.brand-page .portal-main {
  width: 100%;
  max-width: var(--brand-layout-content);
  margin-left: auto;
  margin-right: auto;
  padding-top: 0;
  padding-bottom: var(--brand-space-2xl);
  padding-left: max(var(--brand-space-sm), env(safe-area-inset-left, 0px));
  padding-right: max(var(--brand-space-sm), env(safe-area-inset-right, 0px));
  box-sizing: border-box;
  display: flex;
  gap: var(--brand-space-lg);
  align-items: flex-start;
}
.brand-page .portal-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-md);
}
/* 与首页 .brand-sidebar 同宽；旧 20rem/34vw 过窄，表格/三列球员等会严重挤压 */
.brand-page .portal-sidebar {
  flex: none;
  width: min(var(--brand-layout-sidebar-width), 100%);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-md);
  box-sizing: border-box;
}

/* 品牌站：收紧 portal 区块外边距与标题内边距（portal.css 默认偏大） */
.brand-page .portal-block {
  margin-bottom: var(--brand-space-md);
}
.brand-page .portal-block:last-child {
  margin-bottom: 0;
}
.brand-page .portal-block-title {
  padding: var(--brand-space-md) var(--brand-space-md) var(--brand-space-xs);
}
@media (max-width: 960px) {
  .brand-page .portal-main {
    flex-direction: column;
  }
  .brand-page .portal-sidebar {
    width: 100%;
  }
}

/* 区块标题行 ↔ 内容区：默认约 3.625rem；首页各业务区块统一为 --brand-space-lg */
.brand-block {
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-section-heading);
}

.brand-news-section.brand-block,
.brand-expert-section.brand-block,
.brand-players-section.brand-block,
.brand-teams-section.brand-block,
.brand-article-section.brand-block,
.brand-live-section.brand-block {
  gap: var(--brand-space-lg);
}

.brand-main {
  display: flex;
  gap: var(--brand-layout-main-gap);
  padding: 0;
  min-width: 0;
}

.brand-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-section);
}

.brand-sidebar {
  width: var(--brand-layout-sidebar-width);
  flex-shrink: 0;
}

/* ========== 面包屑（品牌站专用 class，不影响 portal 主题） ========== */
.brand-breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--brand-space-sm);
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.brand-breadcrumb-back {
  display: inline-flex;
  align-items: center;
  gap: var(--brand-space-2xs);
  flex-shrink: 0;
  padding: var(--brand-space-2xs) 0;
  font-size: var(--brand-font-sm);
  color: var(--brand-text-secondary);
  text-decoration: none;
  cursor: pointer;
}
.brand-breadcrumb-back .fa {
  font-size: var(--brand-font-md);
  line-height: 1;
  color: var(--brand-text-secondary);
}
.brand-breadcrumb-back:hover,
.brand-breadcrumb-back:hover .fa {
  color: var(--brand-gold);
}
.brand-breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--brand-space-2xs) 0;
  margin: 0;
  padding: 0;
  list-style: none;
  flex: 1;
  min-width: 0;
  font-size: var(--brand-font-sm);
  color: var(--brand-text-secondary);
}
.brand-breadcrumb-item {
  display: flex;
  align-items: center;
}
.brand-breadcrumb-item:not(:last-child)::after {
  content: '/';
  margin: 0 var(--brand-space-sm);
  color: var(--brand-text-tertiary);
  font-weight: var(--brand-weight-regular);
}
.brand-breadcrumb-item a {
  color: var(--brand-text-secondary);
  text-decoration: none;
}
.brand-breadcrumb-item a:hover {
  color: var(--brand-gold);
}
.brand-breadcrumb-current {
  color: var(--brand-text-heading);
  font-weight: var(--brand-weight-medium);
}

/* 主栏+侧栏布局：面包屑占满内容区总宽，不与正文挤在左侧栏 */
.brand-page .portal-main.brand-main-with-sidebar {
  flex-wrap: wrap;
  align-items: flex-start;
}
.brand-page .portal-main.brand-main-with-sidebar > .brand-breadcrumb {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}
/* 无侧栏时（如专家详情），第二行仅主栏仍占满宽 */
.brand-page .portal-main.brand-main-with-sidebar:not(:has(> .portal-sidebar)) > .portal-content {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
}

/* ========== 搜索页 ========== */
.brand-search-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-lg);
}
.brand-search-card {
  background: var(--brand-bg-card);
  padding: var(--brand-space-lg);
  border-radius: var(--brand-radius-md);
}
.brand-search-list {
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-md);
  margin-top: var(--brand-space-md);
}
.brand-search-item {
  display: flex;
  gap: var(--brand-space-md);
  padding-bottom: var(--brand-space-md);
  border-bottom: var(--brand-border-width) solid var(--brand-border-light);
}
.brand-search-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.brand-search-item-thumb {
  width: 7.5rem;
  flex-shrink: 0;
  border-radius: var(--brand-radius-sm);
  overflow: hidden;
  background: var(--brand-thumb-placeholder-bg);
}
.brand-search-item-thumb img {
  width: 100%;
  height: 5rem;
  object-fit: cover;
}
.brand-search-item-title {
  font-size: var(--brand-font-md);
  font-weight: var(--brand-weight-medium);
  color: var(--brand-text-heading);
  margin: 0 0 var(--brand-space-xs);
  line-height: var(--brand-leading-tight);
}
.brand-search-item-intro {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-secondary);
  line-height: var(--brand-leading-relaxed);
  margin: 0 0 var(--brand-space-xs);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.brand-search-item-meta {
  display: flex;
  gap: var(--brand-space-md);
  font-size: var(--brand-font-xs);
  color: var(--brand-text-meta);
}
.brand-search-pager {
  margin-top: var(--brand-space-lg);
  font-size: var(--brand-font-sm);
}

/* ========== Header ========== */
.brand-header {
  background: var(--brand-bg-dark);
  height: var(--brand-layout-header-h);
  display: flex;
  align-items: center;
  justify-content: center;
  position: sticky;
  top: 0;
  z-index: 100;
  flex-shrink: 0;
}

.brand-header-inner {
  width: var(--brand-layout-content);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand-logo {
  flex-shrink: 0;
}

.brand-logo img {
  height: var(--brand-space-36);
  width: auto;
}

.brand-nav {
  display: flex;
  align-items: center;
  gap: var(--brand-space-nav-links);
  justify-content: center;
  flex: 1;
  min-width: 0;
  padding: 0 var(--brand-space-nav-x);
}

.brand-nav-item {
  display: inline-flex;
  align-items: center;
  gap: var(--brand-space-2xs);
  color: var(--brand-white);
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-regular);
  padding: var(--brand-space-nav-item-pad-y) 0 var(--brand-space-nav-item-pad-b);
  margin: 0;
  border-bottom: var(--brand-border-width-thick) solid transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity 0.2s;
  text-decoration: none;
}

/* portal.css 全局 a:hover 会加下划线，顶栏导航仅用底边高亮 */
.brand-header .brand-nav a:hover,
.brand-header .brand-nav a:focus-visible {
  text-decoration: none;
}

.brand-nav-item:hover {
  opacity: 1;
  border-bottom-color: rgba(245, 245, 245, 0.5);
}

.brand-nav-item.act {
  font-weight: var(--brand-weight-semibold);
  border-bottom-color: var(--brand-pure-white);
}

.brand-nav-item .icon-dropdown {
  width: var(--brand-space-md);
  height: var(--brand-space-md);
  opacity: 0.6;
}

.brand-nav-item-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.brand-nav-item-wrap .brand-nav-item {
  display: inline-flex;
  align-items: center;
  gap: var(--brand-space-2xs);
}

.brand-nav-submenu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: min(11.25rem, 50vw);
  max-height: min(20rem, 70vh);
  overflow: auto;
  padding: var(--brand-space-sm) 0;
  background: var(--brand-bg-card);
  border: var(--brand-border-width) solid var(--brand-border-light);
  box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.12);
  border-radius: var(--brand-radius-sm, 0.25rem);
  opacity: 0;
  transform: translateY(4px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 1002;
}

.brand-nav-submenu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(-1 * var(--brand-space-sm));
  height: var(--brand-space-sm);
}

.brand-nav-item-wrap:hover .brand-nav-submenu,
.brand-nav-item-wrap:focus-within .brand-nav-submenu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.brand-nav-submenu a {
  display: block;
  padding: var(--brand-space-sm) var(--brand-space-md);
  font-size: var(--brand-font-sm);
  color: var(--brand-text-secondary);
  text-decoration: none;
  white-space: nowrap;
}

.brand-nav-submenu a:hover {
  background: var(--brand-rate-bg);
  color: var(--brand-text-primary);
  text-decoration: none;
}

.brand-nav-submenu a.act {
  background: var(--brand-rate-bg);
  color: var(--brand-text-primary);
  font-weight: var(--brand-weight-medium);
}

.brand-header-features {
  display: flex;
  align-items: center;
  gap: var(--brand-space-header-tools);
  flex-shrink: 0;
}

.brand-header-features .flag-icon {
  width: var(--brand-space-lg);
  height: var(--brand-space-lg);
  border-radius: var(--brand-radius-pill);
  border: var(--brand-border-width) solid var(--brand-white);
  overflow: hidden;
}

.brand-header-features .user-icon {
  width: var(--brand-space-lg);
  height: var(--brand-space-lg);
}

/* ========== Section Header (区块标题) ========== */
.brand-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
}

.brand-section-tabs {
  display: flex;
  gap: var(--brand-space-lg);
}

.brand-tab-item {
  font-size: var(--brand-font-xl);
  font-weight: var(--brand-weight-medium);
  color: var(--brand-text-secondary);
  padding: var(--brand-space-tab-pad-y) var(--brand-space-tab-pad-x);
  cursor: pointer;
  border-bottom: var(--brand-border-width-thick) solid transparent;
  transition: color 0.2s, border-color 0.2s;
}

.brand-tab-item.act {
  color: var(--brand-text-primary);
  border-bottom-color: var(--brand-border-tab);
}

/* 区块内 Tab 多面板：默认显示足/球或球队，其次面板由脚本切换 */
.brand-tab-panel--hidden {
  display: none !important;
}

.brand-section-title {
  font-size: var(--brand-font-section);
  font-weight: var(--brand-weight-medium);
  color: var(--brand-text-primary);
}

.brand-see-more {
  display: flex;
  align-items: center;
  gap: var(--brand-space-xs);
  color: var(--brand-text-secondary);
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-medium);
  font-family: var(--brand-font-en);
  cursor: pointer;
}

.brand-see-more .arrow-right {
  width: 1.4375rem;
  height: var(--brand-space-md);
}

/* ========== Hero Section ========== */
.brand-hero {
  display: flex;
  gap: var(--brand-layout-main-gap);
  margin: 0;
  align-items: stretch;
}

.brand-hero-banner {
  width: var(--brand-layout-main-width);
  min-height: 27.5625rem;
  border-radius: var(--brand-radius-md);
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
  aspect-ratio: 784 / 441; /* 与 Figma 784×441 同比例，宽度随 --brand-layout-main-width */
}

/* 与 portal 赛程同源：portal_football_matches 多场次轮播；背景图由 .brand-hero-banner 上 --brand-hero-bg 提供 */
.brand-hero-slides {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-color: var(--brand-bg-dark);
  background-image: var(--brand-hero-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.brand-hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
  background: transparent;
}

.brand-hero-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
}

.brand-hero-slide-link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  text-decoration: none;
  color: inherit;
}

.brand-hero-slide-link--static {
  cursor: default;
}

.brand-hero-empty-hint {
  margin: 0;
  font-size: var(--brand-font-md);
  color: var(--brand-text-inverse);
  text-align: center;
}

.brand-hero-overlay {
  position: absolute;
  inset: 0;
  background: var(--brand-bg-overlay);
  border-radius: var(--brand-radius-md);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--brand-space-lg);
}

.brand-hero-teams {
  display: flex;
  align-items: center;
  gap: var(--brand-space-hero-teams);
}

.brand-hero-team {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--brand-space-lg);
  width: 12.5rem;
}

.brand-hero-team img {
  width: 6.25rem;
  height: 6.25rem;
  object-fit: contain;
}

.brand-hero-team span {
  font-family: var(--brand-font-en);
  font-weight: var(--brand-weight-bold);
  font-size: var(--brand-font-lg);
  color: var(--brand-white);
  text-align: center;
}

.brand-hero-vs {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--brand-space-md);
  width: 12.4375rem;
}

.brand-hero-vs .vs-text {
  font-family: var(--brand-font-en);
  font-weight: var(--brand-weight-bold);
  font-size: var(--brand-font-2xl);
  color: var(--brand-white);
  text-align: center;
}

.brand-hero-match-info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  justify-content: center;
  gap: var(--brand-space-xs);
  row-gap: var(--brand-space-2xs);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/*
 * 联赛 / 轮次：大号白字。状态 tag 单独用 .brand-hero-status-tag，勿继承本段（否则字号/颜色被盖住）。
 */
.brand-hero-match-info > span:not(.brand-hero-status-tag) {
  font-size: var(--brand-font-lg);
  color: var(--brand-text-inverse);
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
  text-align: center;
}

/* 联赛名：单行不换行 */
.brand-hero-match-info > span:not(.brand-hero-status-tag):first-child {
  white-space: nowrap;
  word-wrap: normal;
  overflow-wrap: normal;
  min-width: min-content;
}

/* 轮次（存在时为第二个 span） */
.brand-hero-match-info > span:not(.brand-hero-status-tag):nth-child(2) {
  white-space: nowrap;
}

.brand-live-tag {
  background: var(--brand-bg-live);
  color: var(--brand-live);
  font-size: var(--brand-font-xs);
  padding: var(--brand-space-2xs) var(--brand-space-2xs);
  white-space: nowrap;
}

/* Hero：状态 tag 随文案宽度，不拉满整行 */
.brand-hero-status-tag {
  flex: 0 0 auto;
  box-sizing: border-box;
  font-size: 0.625rem;
  font-weight: var(--brand-weight-medium);
  padding: 0.0625rem 0.3125rem;
  line-height: 1.2;
  border-radius: 0;
  white-space: nowrap;
}

/* 直播中 / 比赛中：浅绿底 + 品牌绿字，无边框 */
.brand-hero-status-tag.status-live {
  background: var(--brand-bg-live);
  color: var(--brand-live);
  border: none;
  font-size: var(--brand-font-xs);
  padding: var(--brand-space-2xs) var(--brand-space-xs);
  line-height: var(--brand-leading-tight);
}

/* 未开始（与直播中同档留白与字号，便于看见） */
.brand-hero-status-tag.status-time {
  background: var(--brand-rate-bg);
  color: var(--brand-text-secondary);
  border: none;
  font-size: var(--brand-font-xs);
  padding: var(--brand-space-2xs) var(--brand-space-xs);
  line-height: var(--brand-leading-tight);
}

.brand-hero-status-tag.status-end {
  background: var(--brand-rate-bg);
  color: var(--brand-text-secondary);
  font-size: var(--brand-font-xs);
  padding: var(--brand-space-2xs) var(--brand-space-xs);
  line-height: var(--brand-leading-tight);
}

.brand-hero-date {
  background: var(--brand-bg-pill);
  border-radius: var(--brand-radius-pill);
  padding: var(--brand-space-xs) var(--brand-space-lg);
  font-family: var(--brand-font-en);
  font-size: var(--brand-font-base);
  color: var(--brand-white);
  text-align: center;
}

.brand-hero-dots {
  display: flex;
  gap: var(--brand-space-hero-dots);
  justify-content: center;
  position: absolute;
  bottom: var(--brand-space-hero-dots-bottom);
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.brand-hero-dots span {
  width: var(--brand-space-xs);
  height: var(--brand-space-xs);
  border-radius: 50%;
  background: rgba(245, 245, 245, 0.4);
  cursor: pointer;
}

.brand-hero-dots span.act {
  background: var(--brand-white);
}

.brand-hero-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  width: calc(var(--brand-space-18) * 2);
  height: calc(var(--brand-space-36) * 2);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  color: var(--brand-pure-white);
  line-height: 1;
  opacity: 0.9;
  z-index: 2;
}

.brand-hero-arrow i {
  color: var(--brand-pure-white);
  font-size: calc(var(--brand-font-xl) * 2 + 0.5rem);
  line-height: 1;
  display: block;
}

.brand-hero-arrow:hover:not(:disabled) {
  opacity: 1;
}

.brand-hero-arrow:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.brand-hero-arrow.prev {
  left: var(--brand-space-lg);
}

.brand-hero-arrow.next {
  right: var(--brand-space-lg);
}

/* ========== News Ticker (Hero 右侧新闻列表) ========== */
.brand-news-ticker {
  width: var(--brand-layout-sidebar-width);
  background: var(--brand-bg-card);
  border-radius: var(--brand-radius-md);
  box-shadow: var(--brand-shadow-card);
  padding: var(--brand-space-sm) var(--brand-space-md);
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-md);
  flex-shrink: 0;
  min-height: 0;
  align-self: stretch;
}

/* 与左侧 Banner 等高时，「查看更多」贴底 */
.brand-news-ticker .brand-btn-dark {
  margin-top: auto;
  flex-shrink: 0;
}

.brand-news-ticker-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  white-space: nowrap;
  line-height: var(--brand-leading-normal);
}

.brand-news-ticker-item .title {
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-medium);
  overflow: hidden;
  text-overflow: ellipsis;
  width: 15.9375rem;
  flex-shrink: 0;
}

.brand-news-ticker-item .time {
  font-size: var(--brand-font-sm);
  flex-shrink: 0;
}

/* 前 3 条 #1D2129，第 4 条起 #7B7B7B（与令牌一致） */
.brand-news-ticker > .brand-news-ticker-item:nth-child(-n + 3) .title,
.brand-news-ticker > .brand-news-ticker-item:nth-child(-n + 3) .time {
  color: var(--brand-text-primary);
}

.brand-news-ticker > .brand-news-ticker-item:nth-child(n + 4) .title,
.brand-news-ticker > .brand-news-ticker-item:nth-child(n + 4) .time {
  color: var(--brand-text-secondary);
}

.brand-btn-dark {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--brand-space-xs);
  background: var(--brand-bg-dark);
  color: var(--brand-text-inverse);
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-medium);
  padding: var(--brand-space-sm) var(--brand-space-xs);
  border-radius: var(--brand-radius-sm);
  cursor: pointer;
  border: none;
  width: 100%;
  transition: opacity 0.2s;
}

.brand-btn-dark:hover {
  opacity: 0.9;
}

.brand-btn-dark .arrow-right {
  width: 1.4375rem;
  height: var(--brand-space-md);
}

/* ========== News Cards (6 列卡片) ========== */
/* .brand-news-section 垂直节奏由 .brand-block 的 gap 控制 */

.brand-news-card-wrap {
  background: var(--brand-bg-card);
  border-radius: var(--brand-radius-md);
  box-shadow: var(--brand-shadow-card);
  padding: var(--brand-space-lg);
}

.brand-news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--brand-space-lg);
}

.brand-news-card {
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-lg);
}

.brand-news-card .thumb {
  width: 100%;
  height: 14.4375rem;
  border-radius: var(--brand-radius-md);
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
  background: var(--brand-thumb-placeholder-bg);
  box-shadow: inset 0 0 0 var(--brand-border-width) var(--brand-border-light);
}

.brand-news-card .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.brand-news-card .play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 3.75rem;
  height: 3.75rem;
}

.brand-news-card .info {
  margin: 0;
}

.brand-news-card .info h3 {
  font-family: var(--brand-font-heading-en);
  font-weight: var(--brand-weight-bold);
  font-size: var(--brand-font-md);
  color: var(--brand-text-heading);
  line-height: var(--brand-leading-normal);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.brand-news-card .meta {
  display: flex;
  align-items: center;
  gap: var(--brand-space-xs);
  margin-top: var(--brand-space-xs);
}

.brand-news-card .meta span {
  font-family: var(--brand-font-en);
  font-size: var(--brand-font-sm);
  color: var(--brand-text-meta);
  line-height: var(--brand-leading-relaxed);
}

.brand-news-card .meta .dot {
  width: 0.1875rem;
  height: 0.1875rem;
  border-radius: 50%;
  background: var(--brand-text-meta);
  flex-shrink: 0;
}

/* ========== Expert Section (专家推荐) ========== */
/* .brand-expert-section 垂直节奏由 .brand-block */

.brand-expert-carousel {
  position: relative;
  background: var(--brand-bg-card);
  border-radius: var(--brand-radius-md);
  padding: var(--brand-space-lg) 0;
  display: flex;
  align-items: center;
  column-gap: var(--brand-expert-carousel-gap-inline);
}

.brand-expert-arrow {
  width: var(--brand-space-2xl);
  height: var(--brand-space-2xl);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--brand-text-secondary);
  font-size: var(--brand-font-xl);
  flex-shrink: 0;
}

.brand-expert-carousel .brand-expert-arrow {
  width: var(--brand-expert-carousel-arrow-hit-w);
  height: var(--brand-expert-carousel-arrow-hit-h);
}

.brand-expert-section .brand-expert-arrow i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--brand-expert-carousel-arrow-w);
  height: var(--brand-expert-carousel-arrow-h);
  font-size: var(--brand-expert-carousel-arrow-h);
  line-height: 1;
}

.brand-expert-list {
  display: flex;
  gap: var(--brand-space-expert-cards);
  flex: 1;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.brand-expert-list::-webkit-scrollbar {
  display: none;
}

.brand-expert-card {
  width: 20rem;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-md);
}

a.brand-expert-card {
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
  cursor: pointer;
  border-radius: var(--brand-radius-md);
  transition: opacity 0.15s ease, box-shadow 0.15s ease;
}

a.brand-expert-card:hover {
  opacity: 0.92;
}

a.brand-expert-card:focus-visible {
  outline: var(--brand-outline-width) solid var(--brand-gold);
  outline-offset: var(--brand-space-2xs);
}

.brand-expert-card-top {
  display: flex;
  align-items: center;
  height: var(--brand-expert-avatar-outer);
}

.brand-expert-card-info {
  display: flex;
  align-items: center;
  min-width: 0;
  width: 13.875rem;
}

/* 专家头像：外层正方形裁切；内层斜切平行四边形 + 适度圆角；图仅用 cover 等比覆盖、不拉伸 */
.brand-expert-avatar-outer {
  width: var(--brand-expert-avatar-outer);
  height: var(--brand-expert-avatar-outer);
  max-width: 100%;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: var(--brand-radius-sm);
}

.brand-expert-avatar-wrap {
  width: 93%;
  height: 100%;
  margin: 0 auto;
  overflow: hidden;
  /* 更朝右上：水平右斜加重 + 轻微 skewY */
  transform: skewX(-20deg) skewY(3deg);
  transform-origin: center center;
  border-radius: var(--brand-expert-avatar-inner-radius-sharp) var(--brand-expert-avatar-inner-radius-loose) var(--brand-expert-avatar-inner-radius-sharp) var(--brand-expert-avatar-inner-radius-loose);
}

.brand-expert-avatar-wrap .avatar {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  display: block;
  transform: skewX(20deg) skewY(-3deg) scale(1.12);
  transform-origin: center center;
}

.brand-expert-card-info .detail {
  padding-left: var(--brand-space-sm);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--brand-space-2xs);
  min-width: 0;
}

.brand-expert-card-info .detail .name {
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-medium);
  color: var(--brand-text-primary);
  line-height: var(--brand-leading-tight);
}

/* 战绩标签：名字下方独立一行 */
.brand-expert-card-info .detail .streak {
  background: var(--brand-streak-red-bg);
  color: var(--brand-streak-red);
  font-size: var(--brand-font-xs);
  font-weight: var(--brand-weight-medium);
  line-height: var(--brand-leading-tight);
  padding: var(--brand-space-2xs) var(--brand-space-xs);
  border-radius: var(--brand-radius-sm);
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-expert-card-rate {
  width: 4.875rem;
  height: 4.8125rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--brand-space-2xs);
  background: var(--brand-rate-bg);
  border-radius: var(--brand-radius-sm);
  padding: var(--brand-space-xs);
  flex-shrink: 0;
}

.brand-expert-card-rate .rate-value {
  font-family: var(--brand-font-en);
  font-weight: var(--brand-weight-semibold);
  font-size: var(--brand-font-xl);
  color: var(--brand-black);
  text-align: center;
  width: 100%;
  letter-spacing: -0.01875rem;
  line-height: var(--brand-leading-tight);
}

.brand-expert-card-rate .rate-label {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-tertiary);
  text-align: center;
  width: 100%;
}

.brand-expert-card-tip {
  display: flex;
  align-items: flex-start;
  gap: var(--brand-space-xs);
}

.brand-expert-card-tip .tag {
  border: var(--brand-border-width) solid var(--brand-live);
  color: var(--brand-live);
  font-size: var(--brand-font-xs);
  padding: var(--brand-space-2xs) var(--brand-space-2xs);
  border-radius: var(--brand-radius-sm);
  white-space: nowrap;
  flex-shrink: 0;
  text-align: center;
  letter-spacing: -0.01875rem;
}

.brand-expert-card-tip .desc {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-primary);
  line-height: var(--brand-leading-normal);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ========== Players Section (热门球员) ========== */
/* .brand-players-section 使用 .brand-block */

.brand-players-panel {
  background: transparent;
  border: 0;
  border-radius: var(--brand-radius-md);
  padding: 0;
  min-width: 0;
}

/* 默认 2 列；首页主栏宽屏提升为 4 列 */
.brand-players-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--brand-space-lg);
  min-width: 0;
}

@media (min-width: 75rem) {
  .brand-main > .brand-content .brand-players-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.brand-player-card {
  background: var(--brand-bg-card);
  border-radius: var(--brand-radius-md);
  box-shadow: var(--brand-shadow-card);
  padding: var(--brand-space-sm);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--brand-space-xs);
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.brand-player-card:hover {
  text-decoration: none;
  opacity: 1;
  transform: translateY(-0.125rem);
  box-shadow: 0 0.75rem 1.25rem rgba(0, 0, 0, 0.12);
}

.brand-player-card:focus-visible {
  text-decoration: none;
}

/* 头像区：缩小视觉尺寸，避免 4 列下显得过大 */
.brand-player-card .photo {
  width: 86%;
  max-width: 100%;
  aspect-ratio: 3 / 4;
  height: auto;
  border-radius: var(--brand-radius-md);
  overflow: hidden;
  margin: 0 auto;
  flex-shrink: 1;
  background: var(--brand-bg-card);
}

.brand-player-card .photo img {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  object-fit: contain;
  object-position: center center;
}

.brand-player-card .player-meta {
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--brand-space-2xs);
}

.brand-player-card .player-name {
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-medium);
  color: var(--brand-text-primary);
  margin: 0;
  text-align: center;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  word-break: break-word;
}

.brand-player-card .player-team {
  font-size: var(--brand-font-sm);
  font-weight: var(--brand-weight-regular);
  color: var(--brand-text-meta);
  margin: 0;
  text-align: center;
  width: 100%;
  min-width: 0;
  line-height: var(--brand-leading-normal);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  word-break: break-word;
}

/* ========== Standings Sidebar (排行榜) ========== */
/* 与热门直播 .brand-live-table 同色：浅底容器 + #5E5E5E / #5E5E5ECC 斑马行；圆角仅整体表格一块，单行无圆角 */
.brand-standings {
  background: var(--brand-bg-live-table);
  box-shadow: none;
}

.brand-standings-card {
  border-radius: var(--brand-radius-md);
  overflow: hidden;
}

.brand-standings-body {
  position: relative;
}

/* 每页 9 条，多页时仅显示当前页 */
.brand-standings-page {
  display: none;
}

.brand-standings-page.is-active {
  display: block;
}

.brand-standings-dots {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: var(--brand-space-xs);
  padding: var(--brand-space-xs);
}

.brand-standings-dots:empty {
  display: none;
}

.brand-standings-dot {
  width: var(--brand-space-sm);
  height: var(--brand-space-sm);
  padding: 0;
  border: none;
  border-radius: 50%;
  background: var(--brand-standings-dot-off);
  cursor: pointer;
  flex-shrink: 0;
}

.brand-standings-dot.is-active {
  background: var(--brand-standings-dot-on);
}

.brand-standings-dot:focus-visible {
  outline: var(--brand-outline-width) solid var(--brand-standings-dot-on);
  outline-offset: var(--brand-outline-width);
}

.brand-standings-body > .brand-empty-state {
  color: var(--brand-text-inverse-secondary);
  padding: var(--brand-space-xl) var(--brand-space-md);
}

.brand-standings-header {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: var(--brand-space-xs) var(--brand-space-md);
  gap: var(--brand-space-xs);
}

.brand-standings-header .dot {
  width: var(--brand-space-sm);
  height: var(--brand-space-sm);
  border-radius: 50%;
  background: var(--brand-text-tertiary);
  cursor: pointer;
}

.brand-standings-header .dot.act {
  background: var(--brand-text-primary);
}

.brand-standings-col-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--brand-space-md);
  border: none;
  background: var(--brand-standings-header-bg);
  border-radius: 0;
}

.brand-standings-col-header > span:first-child {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-inverse-secondary);
}

.brand-standings-col-header .stats {
  display: grid;
  grid-template-columns: var(--brand-standings-col-wdl) var(--brand-standings-col-pts);
  gap: var(--brand-space-md);
  align-items: center;
  justify-items: end;
}

.brand-standings-col-header .stats span {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-inverse-secondary);
}

.brand-standings-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--brand-space-md);
  min-height: 4rem;
  border: none;
  color: var(--brand-text-inverse);
  transition: opacity 0.2s;
}

/* 斑马纹：与 .brand-live-row 一致（第 1 条实色、第 2 条半透明）；分页时每页重新交替 */
.brand-standings-body > .brand-standings-row:nth-child(odd),
.brand-standings-page .brand-standings-row:nth-child(odd) {
  background: var(--brand-bg-live-row);
}

.brand-standings-body > .brand-standings-row:nth-child(even),
.brand-standings-page .brand-standings-row:nth-child(even) {
  background: var(--brand-bg-live-row-alt);
}

.brand-standings-row:hover {
  opacity: 0.96;
}

.brand-standings-row .team {
  display: flex;
  align-items: center;
  gap: var(--brand-space-sm);
  min-width: 0;
}

.brand-standings-row .team img {
  width: var(--brand-space-xl);
  height: var(--brand-space-xl);
  object-fit: contain;
  flex-shrink: 0;
}

.brand-standings-row .team span {
  font-size: var(--brand-font-base);
  color: var(--brand-text-inverse);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-standings-row .stats {
  display: grid;
  grid-template-columns: var(--brand-standings-col-wdl) var(--brand-standings-col-pts);
  gap: var(--brand-space-md);
  align-items: center;
  justify-items: end;
  flex-shrink: 0;
}

.brand-standings-row .stats .brand-standings-wdl {
  font-size: var(--brand-font-base);
  font-variant-numeric: tabular-nums;
  font-family: var(--brand-font-en);
  color: var(--brand-text-inverse);
  text-align: right;
  white-space: nowrap;
}

.brand-standings-row .stats .points {
  font-size: var(--brand-font-base);
  font-variant-numeric: tabular-nums;
  font-family: var(--brand-font-en);
  font-weight: var(--brand-weight-medium);
  color: var(--brand-text-inverse);
  text-align: end;
  min-width: 0;
  padding-inline: 0;
}

/* ========== Teams Carousel (热门球队) ========== */
.brand-teams-carousel {
  position: relative;
  background: var(--brand-bg-data-leagues-bar);
  border-radius: var(--brand-radius-md);
  padding: var(--brand-space-lg);
  display: flex;
  align-items: center;
}

.brand-teams-carousel .brand-expert-arrow {
  color: var(--brand-white);
}

.brand-teams-list-outer {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.brand-teams-list {
  display: flex;
  gap: var(--brand-space-teams-list);
  flex: 1;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  justify-content: flex-start;
}

.brand-teams-list::-webkit-scrollbar {
  display: none;
}

.brand-team-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--brand-space-team-name-gap);
  width: 7.5rem;
  flex-shrink: 0;
  cursor: pointer;
}

.brand-team-item img {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  object-fit: contain;
}

.brand-team-item span {
  font-size: var(--brand-font-sm);
  color: var(--brand-white);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* ========== News Article Section (快讯) ========== */
/* .brand-article-section 使用 .brand-block */

.brand-article-stack {
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-lg);
}

.brand-article-featured {
  display: flex;
  gap: var(--brand-layout-main-gap);
}

.brand-article-featured-img {
  width: var(--brand-layout-main-width);
  height: 27.5625rem;
  border-radius: var(--brand-radius-md);
  overflow: hidden;
  flex-shrink: 0;
  box-sizing: border-box;
  background: var(--brand-thumb-placeholder-bg);
  box-shadow: inset 0 0 0 var(--brand-border-width) var(--brand-border-light);
}

.brand-article-featured-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.brand-article-featured-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--brand-space-lg);
}

.brand-article-author {
  display: flex;
  align-items: center;
  gap: var(--brand-space-sm);
}

.brand-article-author img {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  object-fit: cover;
}

.brand-article-author .name {
  font-size: var(--brand-font-base);
  color: var(--brand-text-primary);
}

.brand-article-author .dot {
  width: var(--brand-space-xs);
  height: var(--brand-space-xs);
  border-radius: 50%;
  background: var(--brand-text-tertiary);
}

.brand-article-author .time {
  font-size: var(--brand-font-base);
  color: var(--brand-text-secondary);
}

.brand-article-featured-content h2 {
  font-family: var(--brand-font-heading-en);
  font-weight: var(--brand-weight-bold);
  font-size: var(--brand-font-xl);
  color: var(--brand-text-primary);
  line-height: var(--brand-leading-normal);
}

.brand-article-featured-content p {
  font-family: var(--brand-font-en);
  font-size: var(--brand-font-base);
  color: var(--brand-text-secondary);
  line-height: var(--brand-leading-relaxed);
}

.brand-article-hor-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--brand-space-lg);
  margin: 0;
}

.brand-article-hor {
  display: flex;
  gap: var(--brand-space-lg);
}

.brand-article-hor .hor-img {
  width: 16.8125rem;
  height: 14.0625rem;
  border-radius: var(--brand-radius-md);
  overflow: hidden;
  flex-shrink: 0;
  box-sizing: border-box;
  background: var(--brand-thumb-placeholder-bg);
  box-shadow: inset 0 0 0 var(--brand-border-width) var(--brand-border-light);
}

.brand-article-hor .hor-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.brand-article-hor .hor-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-sm);
}

.brand-article-hor .hor-content h3 {
  font-family: var(--brand-font-heading-en);
  font-weight: var(--brand-weight-bold);
  font-size: var(--brand-font-md);
  color: var(--brand-text-primary);
  line-height: var(--brand-leading-normal);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.brand-article-hor .hor-content p {
  font-family: var(--brand-font-en);
  font-size: var(--brand-font-sm);
  color: var(--brand-text-secondary);
  line-height: var(--brand-leading-relaxed);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ========== Live Matches (热门直播) ========== */
/* .brand-live-section 使用 .brand-block */

.brand-live-tabs {
  display: flex;
  gap: var(--brand-space-lg);
}

/* Figma Frame 13：深色卡片 + 斑马纹行 + 中间对阵居中 */
.brand-live-table {
  background: var(--brand-bg-live-table);
  border-radius: var(--brand-radius-md);
  box-shadow: var(--brand-shadow-card);
  overflow: hidden;
}

.brand-live-table > .brand-empty-state {
  color: var(--brand-text-inverse-secondary);
  padding: var(--brand-space-xl) var(--brand-space-md);
}

.brand-live-row {
  display: flex;
  align-items: center;
  min-height: 4.5rem;
  padding: var(--brand-space-sm) var(--brand-space-lg);
  gap: var(--brand-space-md);
  border: none;
  background: var(--brand-bg-live-row);
  color: var(--brand-text-inverse);
  transition: opacity 0.2s;
}

.brand-live-row:nth-child(even) {
  background: var(--brand-bg-live-row-alt);
}

.brand-live-row:hover {
  opacity: 0.96;
}

.brand-live-status {
  flex-shrink: 0;
  width: 7.5rem;
}

/* 直播状态：直角标签，非胶囊圆角 */
.brand-live-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--brand-space-2xs);
  padding: var(--brand-space-2xs) var(--brand-space-sm);
  border-radius: 0;
  background: var(--brand-live-tag-bg);
  border: var(--brand-border-width) solid var(--brand-live-tag-border);
  font-size: var(--brand-font-xs);
  font-weight: var(--brand-weight-medium);
  color: var(--brand-live);
}

.brand-live-pill .fa {
  font-size: var(--brand-font-sm);
}

.brand-live-row .match-time {
  flex-shrink: 0;
  width: 6.5rem;
  font-size: var(--brand-font-sm);
  font-family: var(--brand-font-en);
  color: var(--brand-text-inverse);
  white-space: nowrap;
}

.brand-live-row .league-name {
  flex-shrink: 0;
  min-width: var(--brand-live-league-min-width);
  width: auto;
  max-width: 12rem;
  font-size: var(--brand-font-sm);
  color: var(--brand-text-inverse);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-live-row .match-teams {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--brand-space-md);
  min-width: 0;
}

.brand-live-row .team-block {
  display: inline-flex;
  align-items: center;
  gap: var(--brand-space-xs);
  min-width: 0;
}

.brand-live-row .team-block--home {
  justify-content: flex-end;
  flex: 1;
}

.brand-live-row .team-block--away {
  justify-content: flex-start;
  flex: 1;
}

.brand-live-row .team-block .team-name {
  font-size: var(--brand-font-sm);
  font-weight: var(--brand-weight-medium);
  color: var(--brand-text-inverse);
  max-width: 9rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-live-row .team-block .team-logo {
  width: var(--brand-space-lg);
  height: var(--brand-space-lg);
  object-fit: contain;
  flex-shrink: 0;
}

.brand-live-row .score-wrap {
  display: inline-flex;
  align-items: center;
  gap: var(--brand-space-xs);
  flex-shrink: 0;
}

.brand-live-row .score-wrap .score {
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-semibold);
  font-family: var(--brand-font-en);
  color: var(--brand-text-inverse);
  min-width: 1.25em;
  text-align: center;
}

.brand-live-row .score-divider {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-inverse-secondary);
  opacity: 0.9;
}

.brand-live-row .watch-btn {
  flex-shrink: 0;
  background: var(--brand-black);
  color: var(--brand-text-inverse);
  font-size: var(--brand-font-sm);
  font-weight: var(--brand-weight-medium);
  padding: var(--brand-space-sm) var(--brand-space-md);
  border-radius: var(--brand-radius-sm);
  border: var(--brand-border-width) solid var(--brand-border-dark);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: var(--brand-space-xs);
}

.brand-live-row .watch-btn .fa {
  font-size: var(--brand-font-lg);
  opacity: 0.9;
}

.brand-live-row .watch-btn:hover {
  opacity: 0.92;
}

/* ========== Footer（Figma 四列：品牌 + 三组链接，底部分割 + 版权） ========== */
.brand-footer {
  background: var(--brand-bg-dark);
  padding: 3rem 0 2rem;
  margin-top: auto;
  flex-shrink: 0;
}

.brand-footer-inner {
  width: var(--brand-layout-content);
  max-width: 100%;
  margin: 0 auto;
  padding: 0 var(--brand-space-md);
  box-sizing: border-box;
}

.brand-footer-grid {
  display: grid;
  grid-template-columns: minmax(10rem, 1.2fr) repeat(3, 1fr);
  gap: 2rem 2.5rem;
  align-items: start;
}

.brand-footer-col--brand .brand-footer-brand {
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-lg);
  max-width: 20rem;
}

.brand-footer-brand .logo img {
  height: var(--brand-space-36);
  width: auto;
  display: block;
}

.brand-footer-tagline {
  margin: 0;
  font-family: var(--brand-font-en);
  font-size: var(--brand-font-sm);
  line-height: var(--brand-leading-relaxed);
  color: var(--brand-text-inverse-secondary);
}

.brand-footer-socials {
  display: flex;
  flex-wrap: wrap;
  gap: var(--brand-space-lg);
  margin: 0;
}

.brand-footer-heading {
  margin: 0 0 var(--brand-space-md);
  font-family: var(--brand-font-zh);
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-semibold);
  color: var(--brand-text-inverse);
  line-height: var(--brand-leading-normal);
}

.brand-footer-nav {
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-md);
}

.brand-footer-nav a {
  font-family: var(--brand-font-zh);
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-regular);
  color: var(--brand-text-inverse);
  text-decoration: none;
  line-height: var(--brand-leading-normal);
  transition: opacity 0.15s;
}

.brand-footer-nav a:hover {
  opacity: 0.85;
}

.brand-footer-bottom {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 0.0625rem solid rgba(255, 255, 255, 0.12);
  text-align: center;
}

.brand-footer-bottom p {
  margin: 0;
  font-family: var(--brand-font-en);
  font-size: var(--brand-font-sm);
  color: var(--brand-text-inverse-secondary);
}

@media (max-width: 56.25rem) {
  .brand-footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .brand-footer-col--brand {
    grid-column: 1 / -1;
    max-width: none;
  }
}

@media (max-width: 36rem) {
  .brand-footer-grid {
    grid-template-columns: 1fr;
  }
}

/* ========== 工具类（禁止模板内联样式） ========== */
.brand-empty-state {
  padding: var(--brand-space-empty-y) var(--brand-space-empty-x);
  text-align: center;
  color: var(--brand-text-tertiary);
}

.brand-empty-state--inverse {
  color: var(--brand-white);
}

.brand-empty-state--grid {
  grid-column: 1 / -1;
}

.brand-empty-state--wide {
  width: 100%;
}

/* 空状态插图：浅色底用深色线稿 empty-dark；深色底用浅色线稿 empty-light（资源按线稿颜色命名） */
.brand-empty-state--visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--brand-space-md);
  min-height: 10rem;
  box-sizing: border-box;
}

.brand-empty-state__img {
  width: var(--brand-empty-visual-w);
  height: auto;
  display: block;
  object-fit: contain;
  flex-shrink: 0;
}

.brand-empty-state__img--dark {
  display: none;
}

.brand-empty-state--on-dark .brand-empty-state__img--light {
  display: none;
}

.brand-empty-state--on-dark .brand-empty-state__img--dark {
  display: block;
}

.brand-empty-state--on-dark .brand-empty-state__label {
  color: var(--brand-text-inverse-secondary);
}

.brand-empty-state__label {
  margin: 0;
  font-size: var(--brand-font-sm);
  line-height: var(--brand-leading-normal);
  color: var(--brand-text-secondary);
}

.brand-expert-list > .brand-empty-state--visual,
.brand-teams-list > .brand-empty-state--visual {
  flex: 1;
  min-width: 0;
}

/* 铺在 .thumb / .hor-img / .featured-img 内，底色由内层容器统一提供 */
.brand-thumb-placeholder {
  width: 100%;
  height: 100%;
  min-height: 100%;
  box-sizing: border-box;
  background: transparent;
}

.brand-logo-text {
  color: var(--brand-white);
  font-family: var(--brand-font-en);
  font-weight: var(--brand-weight-bold);
  font-size: var(--brand-font-xl);
}

.brand-header-user-icon {
  color: var(--brand-white);
  font-size: var(--brand-font-xl);
}

.brand-link-reset {
  text-decoration: none;
  color: inherit;
}

.brand-footer-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--brand-space-xl);
  height: var(--brand-space-xl);
  color: var(--brand-white);
  font-size: var(--brand-font-xl);
  line-height: 1;
}

/* ========== 赛程页顶横幅（Figma ≈1200×200，与首页 Hero 语义一致） ========== */
.brand-sch-hero-feat {
  position: relative;
  width: 100%;
  min-height: 12.5rem;
  border-radius: var(--brand-radius-md);
  overflow: hidden;
  box-shadow: var(--brand-shadow-card);
}

.brand-sch-hero-feat-bg {
  position: absolute;
  inset: 0;
  background: var(--brand-bg-dark);
}

.brand-sch-hero-feat-bg-img {
  position: absolute;
  top: 50%;
  width: 55%;
  height: 145%;
  object-fit: cover;
  transform: translateY(-50%);
  filter: blur(0.625rem);
  opacity: 0.42;
  pointer-events: none;
}

.brand-sch-hero-feat-bg-img--home {
  left: -8%;
}

.brand-sch-hero-feat-bg-img--away {
  right: -8%;
  left: auto;
}

.brand-sch-hero-feat-overlay {
  position: relative;
  z-index: 1;
  min-height: 12.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--brand-space-lg);
  box-sizing: border-box;
  /* 赛程焦点战横幅底图（相对本 CSS 文件路径 → 站点 static） */
  background-image: linear-gradient(0deg, var(--brand-bg-overlay), var(--brand-bg-overlay)),
    url('../../../static/img/brand/1686551784.png');
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
}

.brand-sch-hero-feat-teams {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--brand-space-xl);
  width: 100%;
  max-width: 56rem;
}

.brand-sch-hero-feat-team {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-sm);
}

.brand-sch-hero-feat-team--home {
  align-items: flex-start;
}

.brand-sch-hero-feat-team--away {
  align-items: flex-end;
}

.brand-sch-hero-feat-team-logo img {
  width: 3.5rem;
  height: 3.5rem;
  object-fit: contain;
}

.brand-sch-hero-feat-team-name {
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-semibold);
  color: var(--brand-text-inverse);
  line-height: var(--brand-leading-tight);
}

.brand-sch-hero-feat-team--home .brand-sch-hero-feat-team-name {
  text-align: left;
}

.brand-sch-hero-feat-team--away .brand-sch-hero-feat-team-name {
  text-align: right;
}

.brand-sch-hero-feat-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--brand-space-sm);
  flex-shrink: 0;
  text-align: center;
}

.brand-sch-hero-feat-vs {
  font-family: var(--brand-font-en);
  font-weight: var(--brand-weight-bold);
  font-size: var(--brand-font-xl);
  color: var(--brand-text-inverse);
  line-height: var(--brand-leading-tight);
}

.brand-sch-hero-feat-date {
  background: var(--brand-bg-pill);
  border-radius: var(--brand-radius-pill);
  padding: var(--brand-space-xs) var(--brand-space-lg);
  font-size: var(--brand-font-sm);
  color: var(--brand-text-inverse);
  line-height: var(--brand-leading-tight);
}

/* ========== 赛事赛程页（品牌站 /schedule，结构继承 portal 类名便于数据块一致） ========== */
.brand-sch-page.portal-schedule-page {
  width: var(--brand-layout-content);
  max-width: 100%;
  margin: 0 auto;
  padding-top: var(--brand-space-page-top);
  padding-bottom: var(--brand-space-stack);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-stack);
}

.brand-sch-page .portal-block {
  margin: 0;
  background: var(--brand-bg-card);
  border-radius: 0;
  box-shadow: none;
}

.brand-sch-page .portal-schedule-top {
  display: flex;
  gap: var(--brand-space-18);
  align-items: flex-start;
}

.brand-sch-page .portal-schedule-top-left {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-lg);
  background: var(--brand-bg-card);
  border-radius: var(--brand-radius-md);
  box-shadow: var(--brand-shadow-card);
  padding: var(--brand-space-lg);
}

.brand-sch-page .portal-schedule-top-left > .portal-schedule-top-card {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

.brand-sch-page .portal-schedule-top-left > .portal-schedule-top-card .portal-block-body {
  padding: 0;
}

.brand-sch-page .portal-schedule-top-left > .portal-block,
.brand-sch-page .portal-schedule-top-left > section {
  margin: 0;
}

.brand-sch-page .portal-schedule-top-right {
  flex: 2;
  min-width: 0;
  display: flex;
  align-items: stretch;
}

.brand-sch-page .portal-schedule-top-right > .portal-block,
.brand-sch-page .portal-schedule-top-right > section {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: var(--portal-schedule-right-match-height, auto);
  max-height: var(--portal-schedule-right-match-height, none);
}

.brand-sch-page .portal-schedule-top-card {
  background: var(--brand-bg-card);
  overflow: hidden;
  border-radius: var(--brand-radius-md);
  box-shadow: var(--brand-shadow-card);
}

.brand-sch-page .portal-schedule-top-card .portal-block-body {
  padding: var(--brand-space-lg);
}

.brand-sch-page .portal-schedule-hero-teams {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--brand-space-xl);
  margin-bottom: var(--brand-space-lg);
}

.brand-sch-page .portal-schedule-team-a,
.brand-sch-page .portal-schedule-team-b {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
}

.brand-sch-page .portal-schedule-team-a {
  justify-content: flex-start;
}

.brand-sch-page .portal-schedule-team-b {
  justify-content: flex-end;
}

.brand-sch-page .portal-schedule-team-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--brand-space-sm);
  min-width: 0;
}

.brand-sch-page .portal-schedule-team-b .portal-schedule-team-inner {
  flex-direction: column;
}

.brand-sch-page .portal-schedule-team-logo {
  width: 3.75rem;
  height: 3.75rem;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.brand-sch-page .portal-schedule-team-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.brand-sch-page .portal-schedule-team-name {
  font-size: var(--brand-font-sm);
  font-weight: var(--brand-weight-semibold);
  color: var(--brand-text-heading);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  text-align: center;
}

.brand-sch-page .portal-schedule-vs {
  font-size: var(--brand-font-xl);
  font-weight: var(--brand-weight-bold);
  color: var(--brand-text-primary);
  font-family: var(--brand-font-en);
  flex-shrink: 0;
}

.brand-sch-page .portal-schedule-stats {
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-md);
}

.brand-sch-page .portal-schedule-stat-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
}

.brand-sch-page .portal-schedule-stat-label {
  flex: 0 0 100%;
  width: 100%;
  font-size: var(--brand-font-base);
  color: var(--brand-text-primary);
  text-align: center;
}

.brand-sch-page .portal-schedule-stat-bars {
  flex: 0 0 100%;
  width: 100%;
  display: flex;
  align-items: center;
  gap: var(--brand-space-xs);
  min-width: 0;
  justify-content: center;
}

.brand-sch-page .portal-schedule-stat-val {
  flex: 0 0 auto;
  min-width: 2.5rem;
  font-size: var(--brand-font-sm);
  color: var(--brand-text-heading);
  text-align: center;
  font-weight: var(--brand-weight-semibold);
}

.brand-sch-page .portal-schedule-top-card .portal-schedule-bar-wrap {
  flex: 1 1 auto;
  height: 0.25rem;
  border-radius: 0.1875rem;
  overflow: hidden;
  background: var(--brand-text-tertiary);
  display: flex;
}

.brand-sch-page .portal-schedule-bar-fill.a {
  background: var(--brand-black);
}

.brand-sch-page .portal-schedule-bar-fill.b {
  background: rgba(255, 255, 255, 0.35);
}

.brand-sch-page .portal-schedule-form {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--brand-space-sm) var(--brand-space-xl);
  margin-top: var(--brand-space-md);
  padding-top: var(--brand-space-md);
}

.brand-sch-page .portal-schedule-form-title {
  flex: 0 0 100%;
  text-align: center;
  font-size: var(--brand-font-base);
  color: var(--brand-text-primary);
  margin: 0;
}

.brand-sch-page .portal-schedule-form-team {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--brand-space-sm);
}

.brand-sch-page .portal-schedule-form-dots {
  display: flex;
  gap: var(--brand-space-md);
}

.brand-sch-page .portal-schedule-dot {
  width: 1.75rem;
  height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--brand-font-sm);
  border-radius: 50%;
}

.brand-sch-page .portal-schedule-dot.win {
  background: var(--brand-bg-live);
  color: var(--brand-live);
}

.brand-sch-page .portal-schedule-dot.loss {
  background: var(--brand-streak-red-bg);
  color: var(--brand-streak-red);
}

.brand-sch-page .portal-schedule-dot.draw {
  background: var(--brand-rate-bg);
  color: var(--brand-text-secondary);
}

.brand-sch-page .portal-schedule-predict-cols {
  display: flex;
  gap: var(--brand-space-lg);
  justify-content: center;
}

.brand-sch-page .portal-schedule-predict-col {
  flex: 1;
  background: var(--brand-rate-bg);
  border-radius: var(--brand-radius-md);
  padding: var(--brand-space-md);
  overflow: hidden;
}

.brand-sch-page .portal-schedule-predict-title {
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-medium);
  color: var(--brand-text-primary);
  text-align: center;
  margin-bottom: var(--brand-space-sm);
}

.brand-sch-page .portal-schedule-predict-item {
  display: flex;
  align-items: center;
  gap: var(--brand-space-sm);
  padding: var(--brand-space-xs) 0;
  font-size: var(--brand-font-sm);
  white-space: nowrap;
}

.brand-sch-page .portal-schedule-odd.win {
  background: var(--brand-bg-live);
  color: var(--brand-live);
}

.brand-sch-page .portal-schedule-odd.loss {
  background: var(--brand-streak-red-bg);
  color: var(--brand-streak-red);
}

.brand-sch-page .portal-schedule-odd.neutral {
  background: var(--brand-rate-bg);
  color: var(--brand-text-secondary);
}

.brand-sch-page .portal-schedule-odd {
  width: var(--brand-space-md);
  height: var(--brand-space-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--brand-font-sm);
  font-weight: var(--brand-weight-semibold);
  flex-shrink: 0;
}

.brand-sch-page .portal-schedule-meta {
  flex: 1;
  min-width: 0;
  color: var(--brand-text-secondary);
  font-size: var(--brand-font-xs);
  overflow: hidden;
  text-overflow: ellipsis;
}

.brand-sch-page .portal-schedule-trends-title {
  font-size: var(--brand-font-base);
  color: var(--brand-text-primary);
  text-align: center;
  margin-bottom: var(--brand-space-md);
}

.brand-sch-page .portal-schedule-trends-cols {
  display: flex;
  gap: 0;
  background: var(--brand-rate-bg);
  border-radius: var(--brand-radius-md);
  overflow: hidden;
}

.brand-sch-page .portal-schedule-trends-col {
  flex: 1;
  text-align: center;
  padding: var(--brand-space-md);
  background: transparent;
}

.brand-sch-page .portal-schedule-trends-label {
  display: block;
  font-size: var(--brand-font-xs);
  color: var(--brand-text-secondary);
  margin-bottom: var(--brand-space-2xs);
}

.brand-sch-page .portal-schedule-trends-pct {
  font-size: var(--brand-font-md);
  font-weight: var(--brand-weight-semibold);
}

.brand-sch-page .portal-schedule-trends-pct.home {
  color: var(--brand-live);
}

.brand-sch-page .portal-schedule-trends-pct.draw {
  color: var(--brand-text-secondary);
}

.brand-sch-page .portal-schedule-trends-pct.away {
  color: var(--brand-streak-red);
}

.brand-sch-page .portal-schedule-advantage {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-md);
  background: var(--brand-bg-card);
  min-height: 0;
  padding: var(--brand-space-lg);
  margin-bottom: 0;
  border-radius: var(--brand-radius-md);
  box-shadow: var(--brand-shadow-card);
}

.brand-sch-page .portal-schedule-advantage-tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0;
  border-bottom: var(--brand-border-width) solid var(--brand-border-light);
  margin: calc(-1 * var(--brand-space-xs)) 0 0;
  padding-bottom: 0;
}

.brand-sch-page .portal-schedule-advantage-tab {
  display: inline-block;
  padding: var(--brand-space-sm) 0;
  margin-right: var(--brand-space-lg);
  font-size: var(--brand-font-lg);
  font-weight: var(--brand-weight-medium);
  color: var(--brand-text-secondary);
  text-decoration: none;
  background: transparent;
  border: none;
  border-bottom: var(--brand-border-width-thick) solid transparent;
  margin-bottom: calc(-1 * var(--brand-border-width));
  box-sizing: border-box;
}

.brand-sch-page .portal-schedule-advantage-tab:hover {
  color: var(--brand-text-primary);
  text-decoration: none;
}

.brand-sch-page .portal-schedule-advantage-tab.act {
  color: var(--brand-text-primary);
  font-weight: var(--brand-weight-semibold);
  border-bottom-color: var(--brand-border-tab);
}

.brand-sch-page .portal-schedule-advantage-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand-sch-page .portal-schedule-advantage-hero-team {
  display: flex;
  align-items: center;
  gap: var(--brand-space-sm);
}

.brand-sch-page .portal-schedule-advantage-hero-name {
  font-size: var(--brand-font-sm);
  font-weight: var(--brand-weight-semibold);
  color: var(--brand-text-heading);
  white-space: nowrap;
}

.brand-sch-page .portal-schedule-advantage-hero-score {
  font-size: var(--brand-font-xl);
  font-weight: var(--brand-weight-bold);
  color: var(--brand-text-primary);
  font-family: var(--brand-font-en);
}

.brand-sch-page .portal-schedule-advantage-hero-vs {
  font-size: var(--brand-font-xl);
  font-weight: var(--brand-weight-bold);
  color: var(--brand-text-primary);
  font-family: var(--brand-font-en);
  flex-shrink: 0;
}

.brand-sch-page .portal-schedule-advantage-hero .portal-schedule-advantage-logo {
  width: 3.75rem;
  height: 3.75rem;
}

.brand-sch-page .portal-schedule-advantage-team {
  display: none;
}

.brand-sch-page .portal-schedule-advantage-body {
  flex: 1;
  min-height: 0;
  display: flex;
  gap: var(--brand-space-lg);
  overflow-y: auto;
  overflow-x: hidden;
}

.brand-sch-page .portal-schedule-advantage-empty {
  flex: 1;
  min-width: 0;
  min-height: var(--brand-empty-visual-w);
  display: flex;
  align-items: center;
  justify-content: center;
}

.brand-sch-page .portal-schedule-advantage-col {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-lg);
}

.brand-sch-page .portal-schedule-advantage-team {
  display: flex;
  align-items: center;
  gap: var(--brand-space-sm);
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-semibold);
  color: var(--brand-text-heading);
}

.brand-sch-page .portal-schedule-advantage-logo {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  object-fit: cover;
  background: var(--brand-rate-bg);
}

.brand-sch-page .portal-schedule-intel-card {
  padding: var(--brand-space-sm) var(--brand-space-md);
  border-radius: var(--brand-radius-md);
  display: flex;
  align-items: flex-start;
  gap: var(--brand-space-sm);
  min-height: 8.375rem;
  overflow: hidden;
}

.brand-sch-page .portal-schedule-intel-fav {
  background: var(--brand-intel-fav-bg);
}

.brand-sch-page .portal-schedule-intel-unfav {
  background: var(--brand-intel-unfav-bg);
}

.brand-sch-page .portal-schedule-intel-head {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--brand-space-2xs);
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-medium);
  white-space: nowrap;
  padding-top: var(--brand-space-2xs);
}

.brand-sch-page .portal-schedule-intel-head i {
  font-size: var(--brand-font-lg);
  display: block;
}

.brand-sch-page .portal-schedule-intel-fav .portal-schedule-intel-head {
  color: var(--brand-live);
}

.brand-sch-page .portal-schedule-intel-unfav .portal-schedule-intel-head {
  color: var(--brand-streak-red);
}

.brand-sch-page .portal-schedule-intel-text {
  margin: 0;
  font-size: var(--brand-font-xs);
  color: var(--brand-text-secondary);
  line-height: var(--brand-leading-relaxed);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
}

.brand-sch-page .portal-schedule-advantage-btn {
  display: block;
  width: 100%;
  padding: var(--brand-space-sm) var(--brand-space-lg);
  text-align: center;
  background: var(--brand-rate-bg);
  color: var(--brand-gold);
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-medium);
  text-decoration: none;
  border: var(--brand-border-width) solid var(--brand-border-light);
  box-sizing: border-box;
}

.brand-sch-page .portal-schedule-advantage-footer .portal-schedule-advantage-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--brand-space-xs);
  padding: var(--brand-space-md);
  background: var(--brand-black);
  color: var(--brand-text-inverse);
  border: none;
  border-radius: var(--brand-radius-sm);
}

.brand-sch-page .portal-schedule-advantage-footer .portal-schedule-advantage-btn:hover {
  opacity: 0.92;
  color: var(--brand-text-inverse);
}

.brand-sch-page .portal-schedule-advantage-btn:hover {
  opacity: 0.88;
}

.brand-sch-page .portal-schedule-live-section {
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-lg);
}

.brand-sch-page .portal-schedule-live {
  display: flex;
  gap: var(--brand-space-lg);
  align-items: stretch;
}

.brand-sch-page .portal-schedule-live-sidebar {
  width: 13.25rem;
  flex-shrink: 0;
  padding: var(--brand-space-lg) var(--brand-space-md);
  background: var(--brand-bg-live-row);
  border-radius: var(--brand-radius-md);
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-xs);
}

.brand-sch-page .portal-schedule-live-sidebar-item {
  padding: var(--brand-space-sm);
  font-size: var(--brand-font-sm);
  color: rgba(255, 255, 255, 0.88);
  text-decoration: none;
  border-radius: var(--brand-radius-md);
}

.brand-sch-page .portal-schedule-live-sidebar-item:hover {
  color: var(--brand-text-inverse);
  background: rgba(255, 255, 255, 0.08);
}

.brand-sch-page .portal-schedule-live-sidebar-item.act {
  color: var(--brand-text-inverse);
  font-weight: var(--brand-weight-semibold);
  background: var(--brand-bg-live-sidebar-active);
}

.brand-sch-page .portal-schedule-live-main {
  flex: 1;
  min-width: 0;
  padding: 0;
  background: var(--brand-bg-live-row);
  border-radius: var(--brand-radius-md);
  box-shadow: none;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.brand-sch-page .portal-schedule-live-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--brand-space-sm);
  padding: 0;
  flex-shrink: 0;
}

.brand-sch-page .portal-schedule-live-title {
  margin: 0;
  font-size: var(--brand-font-section);
  font-weight: var(--brand-weight-semibold);
  color: var(--brand-text-primary);
}

.brand-sch-page .portal-schedule-live-date-wrap {
  position: relative;
  display: inline-block;
}

.brand-sch-page .portal-schedule-live-date-wrap input,
.brand-sch-page .portal-schedule-live-date-wrap .flatpickr-input {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-primary);
  padding: var(--brand-space-xs) var(--brand-space-36) var(--brand-space-xs) var(--brand-space-md);
  background: var(--brand-pure-white);
  border: var(--brand-border-width) solid var(--brand-border-light);
  border-radius: var(--brand-radius-sm);
  cursor: pointer;
  min-width: 9.375rem;
  box-sizing: border-box;
}

.brand-sch-page .portal-schedule-live-date-icon {
  position: absolute;
  right: var(--brand-space-sm);
  top: 50%;
  transform: translateY(-50%);
  color: var(--brand-text-secondary);
  pointer-events: none;
}

.brand-sch-page .portal-schedule-live-table-wrap {
  overflow-x: auto;
  padding: 0;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  background: var(--brand-bg-live-row);
  flex: 1;
  min-height: 0;
}

.brand-sch-page .portal-schedule-live-list-m {
  display: none;
}

.brand-sch-page .portal-schedule-live-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--brand-font-sm);
}

.brand-sch-page .portal-schedule-live-table thead {
  display: none;
}

.brand-sch-page .portal-schedule-live-table td {
  padding: var(--brand-space-md) var(--brand-space-sm);
  text-align: left;
  color: var(--brand-text-inverse);
  font-size: var(--brand-font-base);
}

.brand-sch-page .portal-schedule-live-table td:first-child {
  padding-left: var(--brand-space-2xl);
}

.brand-sch-page .portal-schedule-live-table td:last-child {
  padding-right: var(--brand-space-2xl);
}

.brand-sch-page .portal-schedule-live-table tbody tr:nth-child(odd) {
  background: var(--brand-bg-live-row);
}

.brand-sch-page .portal-schedule-live-table tbody tr:nth-child(even) {
  background: var(--brand-bg-live-row-alt);
}

/* 空数据行与斑马行同为深底，勿设 transparent，否则透出页面灰底 + 白字/深色插图会「反了」 */
.brand-sch-page .portal-schedule-live-table tbody tr:has(td.portal-schedule-live-empty) {
  background: var(--brand-bg-live-row);
}

.brand-sch-page .portal-schedule-live-table td.portal-schedule-live-empty {
  padding: var(--brand-space-xl);
  text-align: center;
  color: rgba(255, 255, 255, 0.88);
  background: transparent;
}

.brand-sch-page .portal-schedule-live-table td.portal-schedule-live-empty .brand-empty-state {
  padding: var(--brand-space-xl) var(--brand-space-md);
}

.brand-sch-page .portal-schedule-live-table td.portal-schedule-live-empty .brand-empty-state__label {
  color: rgba(255, 255, 255, 0.75);
}

.brand-sch-page .portal-schedule-live-team {
  display: inline-flex;
  align-items: center;
  gap: var(--brand-space-md);
  color: inherit;
  font-weight: var(--brand-weight-medium);
}

.brand-sch-page .portal-schedule-live-team img {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.12);
  flex-shrink: 0;
}

.brand-sch-page .portal-schedule-live-score {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--brand-font-sm);
  font-weight: var(--brand-weight-semibold);
  color: var(--brand-text-inverse);
  text-align: center;
  background: var(--brand-score-pill-bg);
  border-radius: var(--brand-radius-score-pill);
  padding: 0.375rem var(--brand-space-md);
  min-width: 4rem;
}

.brand-sch-page .portal-schedule-live .portal-schedule-live-table th:nth-child(1),
.brand-sch-page .portal-schedule-live .portal-schedule-live-table td:nth-child(1) {
  width: 12%;
  text-align: center;
}

.brand-sch-page .portal-schedule-live .portal-schedule-live-table th:nth-child(2),
.brand-sch-page .portal-schedule-live .portal-schedule-live-table td:nth-child(2) {
  width: 10%;
  text-align: center;
}

.brand-sch-page .portal-schedule-live .portal-schedule-live-table th:nth-child(3),
.brand-sch-page .portal-schedule-live .portal-schedule-live-table td:nth-child(3) {
  width: 28%;
  text-align: right;
}

.brand-sch-page .portal-schedule-live .portal-schedule-live-table th:nth-child(4),
.brand-sch-page .portal-schedule-live .portal-schedule-live-table td:nth-child(4) {
  width: 8%;
  text-align: center;
}

.brand-sch-page .portal-schedule-live .portal-schedule-live-table th:nth-child(5),
.brand-sch-page .portal-schedule-live .portal-schedule-live-table td:nth-child(5) {
  width: 28%;
  text-align: left;
}

.brand-sch-page .portal-schedule-live .portal-schedule-live-table td:nth-child(3) .portal-schedule-live-team {
  flex-direction: row;
  justify-content: flex-end;
}

.brand-sch-page .portal-schedule-live .portal-schedule-live-table td:nth-child(5) .portal-schedule-live-team {
  flex-direction: row-reverse;
}

.brand-sch-page .portal-schedule-live-row {
  cursor: pointer;
  transition: opacity 0.2s;
}

/*
 * portal.css 中 .portal-schedule-live-row:hover 使用 background + !important，
 * 会盖过仅写 opacity 的规则，故此处用更高优先级 + !important 去掉浅色 hover，
 * 斑马纹与 .brand-standings-row:hover 一致用 opacity 轻微压暗。
 */
.brand-sch-page .portal-schedule-live-table tbody tr.portal-schedule-live-row:nth-child(odd):hover {
  background: var(--brand-bg-live-row) !important;
  opacity: 0.96;
}

.brand-sch-page .portal-schedule-live-table tbody tr.portal-schedule-live-row:nth-child(even):hover {
  background: var(--brand-bg-live-row-alt) !important;
  opacity: 0.96;
}

.brand-sch-page .portal-schedule-live-list-m > .portal-live-row.portal-schedule-live-row:nth-child(odd):hover {
  background: var(--brand-bg-live-row) !important;
  opacity: 0.96;
}

.brand-sch-page .portal-schedule-live-list-m > .portal-live-row.portal-schedule-live-row:nth-child(even):hover {
  background: var(--brand-bg-live-row-alt) !important;
  opacity: 0.96;
}

.brand-sch-page .portal-schedule-live-more {
  padding: 0;
  background: transparent;
}

.brand-sch-page .portal-schedule-live-more .portal-schedule-advantage-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--brand-space-xs);
  width: 100%;
  padding: var(--brand-space-md);
  background: var(--brand-bg-live-row);
  color: var(--brand-text-inverse);
  border: none;
  border-radius: 0;
  font-weight: var(--brand-weight-medium);
  font-size: var(--brand-font-sm);
}

.brand-sch-page .portal-schedule-live-more .portal-schedule-advantage-btn:hover {
  opacity: 0.88;
  color: var(--brand-text-inverse);
}

.brand-sch-page .portal-schedule-live-empty .portal-empty-state {
  margin: 0;
  min-height: 6.25rem;
}

.brand-sch-empty {
  text-align: center;
  padding: var(--brand-space-lg);
}

.brand-sch-empty-icon {
  font-size: var(--brand-font-xl);
  color: var(--brand-text-tertiary);
  margin-bottom: var(--brand-space-sm);
}

.brand-sch-empty-text {
  margin: 0;
  font-size: var(--brand-font-xs);
  color: var(--brand-text-secondary);
}

.brand-sch-live-cell-datetime {
  white-space: nowrap;
  color: var(--brand-text-secondary);
  font-size: var(--brand-font-sm);
}

.brand-sch-live-cell-date {
  font-size: var(--brand-font-xs);
}

.brand-sch-live-cell-league {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-secondary);
  min-width: 7.5rem;
}

.brand-sch-page .portal-schedule-live .portal-schedule-live-table .brand-sch-live-cell-datetime,
.brand-sch-page .portal-schedule-live .portal-schedule-live-table .brand-sch-live-cell-date,
.brand-sch-page .portal-schedule-live .portal-schedule-live-table .brand-sch-live-cell-league {
  color: var(--brand-text-inverse);
}

/* ========== 专家方案列表页 ========== */
.brand-experts-page {
  width: var(--brand-layout-content);
  max-width: 100%;
  margin: 0 auto;
}

.brand-experts-tabs {
  display: flex;
  align-items: center;
  gap: var(--brand-space-lg);
}

.brand-experts-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--brand-space-2xs) var(--brand-space-xs);
  font-size: var(--brand-font-section);
  color: var(--brand-text-secondary);
  text-decoration: none;
  border-bottom: var(--brand-border-width-thick) solid transparent;
  transition: color 0.15s, border-color 0.15s;
}

.brand-experts-tab:hover {
  color: var(--brand-text-primary);
}

.brand-experts-tab.act {
  color: var(--brand-text-primary);
  font-weight: var(--brand-weight-medium);
  border-bottom-color: var(--brand-text-primary);
}

.brand-experts-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--brand-space-lg);
}

.brand-experts-card {
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-md);
  padding: var(--brand-space-md);
  background: var(--brand-bg-card);
  border-radius: var(--brand-radius-md);
  box-shadow: var(--brand-shadow-card);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s, box-shadow 0.15s;
}

.brand-experts-card:hover {
  transform: translateY(-0.125rem);
  box-shadow: 0.625rem 0.625rem 1.25rem rgba(0, 0, 0, 0.14);
}

.brand-experts-card__top {
  display: flex;
  gap: 0.625rem;
  align-items: flex-start;
}

.brand-experts-card__avatar {
  position: relative;
  width: 4rem;
  height: 4rem;
  flex-shrink: 0;
  border-radius: var(--brand-radius-md);
  overflow: hidden;
}

.brand-experts-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.brand-experts-card__rate {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0.25rem 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
  color: var(--brand-text-inverse);
  font-size: var(--brand-font-xs);
  font-weight: var(--brand-weight-semibold);
  text-align: center;
  line-height: 1;
  border-radius: 0 0 var(--brand-radius-md) var(--brand-radius-md);
}

.brand-experts-card__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-xs);
  align-self: stretch;
}

.brand-experts-card__name-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand-experts-card__name {
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-medium);
  color: var(--brand-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.brand-experts-card__tags {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-wrap: wrap;
}

.brand-experts-card__tags-label {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-primary);
}

.brand-experts-card__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.125rem 0.25rem;
  background: var(--brand-rate-bg);
  border-radius: 0.1875rem;
  font-size: var(--brand-font-xs);
  color: var(--brand-text-secondary);
  white-space: nowrap;
}

.brand-experts-card__intro {
  margin: 0;
  font-size: var(--brand-font-sm);
  color: var(--brand-text-secondary);
  line-height: var(--brand-leading-normal);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.brand-experts-card__divider {
  width: 100%;
  height: 0;
  border-top: var(--brand-border-width) dashed var(--brand-border-light);
}

.brand-experts-card__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand-experts-card__wld-label {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-primary);
  flex-shrink: 0;
}

.brand-experts-card__wld {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.brand-experts-card__wld-empty {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-tertiary);
}

.brand-experts-wld {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  font-size: var(--brand-font-sm);
  font-weight: var(--brand-weight-medium);
}

.brand-experts-wld--w {
  background: var(--brand-wld-win-bg);
  color: var(--brand-wld-win);
}

.brand-experts-wld--l {
  background: var(--brand-wld-loss-bg);
  color: var(--brand-text-secondary);
}

.brand-experts-wld--d {
  background: var(--brand-wld-draw-bg);
  color: var(--brand-wld-draw);
}

.brand-experts-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--brand-space-xs);
  padding-top: var(--brand-space-lg);
}

.brand-experts-pager__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.1875rem;
  font-size: var(--brand-font-sm);
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}

.brand-experts-pager__num {
  background: var(--brand-pure-white);
  color: var(--brand-text-primary);
  border: var(--brand-border-width) solid #dcdcdc;
}

.brand-experts-pager__num:hover {
  background: var(--brand-rate-bg);
  color: var(--brand-text-primary);
}

.brand-experts-pager__num.act {
  background: var(--brand-black);
  color: var(--brand-text-inverse);
  border-color: var(--brand-black);
}

.brand-experts-pager__arrow {
  color: var(--brand-text-primary);
  background: transparent;
}

.brand-experts-pager__arrow.disabled {
  color: var(--brand-text-tertiary);
  pointer-events: none;
}

.brand-experts-pager__ellipsis {
  color: var(--brand-text-secondary);
  background: transparent;
  pointer-events: none;
}

@media (max-width: 56.25rem) {
  .brand-experts-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 30rem) {
  .brand-experts-grid {
    grid-template-columns: 1fr;
  }
}

/* ========== 方案列表布局（全宽卡片） ========== */
.brand-forecasts-list {
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-lg);
  width: 100%;
}

.brand-forecasts-card {
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-md);
  padding: var(--brand-space-md);
  background: var(--brand-bg-card);
  border-radius: var(--brand-radius-md);
  box-shadow: var(--brand-shadow-card);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.15s;
}

.brand-forecasts-card:hover {
  box-shadow: 0.625rem 0.625rem 1.25rem rgba(0, 0, 0, 0.14);
}

.brand-forecasts-card__top {
  display: flex;
  gap: 0.625rem;
  align-items: flex-start;
}

.brand-forecasts-card__avatar {
  width: 4rem;
  height: 4rem;
  flex-shrink: 0;
  border-radius: var(--brand-radius-md);
  overflow: hidden;
}

.brand-forecasts-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.brand-forecasts-card__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-xs);
  align-self: stretch;
}

.brand-forecasts-card__name-row {
  display: flex;
  align-items: center;
  gap: var(--brand-space-lg);
}

.brand-forecasts-card__name {
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-medium);
  color: var(--brand-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.brand-forecasts-card__streak {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.25rem;
  background: var(--brand-streak-red-bg);
  color: var(--brand-streak-red);
  font-size: var(--brand-font-sm);
  font-weight: var(--brand-weight-regular);
  line-height: 1rem;
  white-space: nowrap;
  flex-shrink: 0;
}

.brand-forecasts-card__tags {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-wrap: wrap;
}

.brand-forecasts-card__tags-label {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-primary);
}

.brand-forecasts-card__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.125rem 0.25rem;
  background: var(--brand-rate-bg);
  border-radius: 0.1875rem;
  font-size: var(--brand-font-xs);
  color: var(--brand-text-secondary);
}

.brand-forecasts-card__rate-box {
  flex-shrink: 0;
  width: 4.875rem;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-xs);
  align-items: flex-end;
  padding: var(--brand-space-xs);
  background: var(--brand-rate-bg);
  border-radius: var(--brand-radius-sm);
}

.brand-forecasts-card__rate-val {
  width: 100%;
  text-align: center;
  font-size: var(--brand-font-xl);
  font-weight: var(--brand-weight-semibold);
  color: var(--brand-black);
  letter-spacing: -0.019rem;
}

.brand-forecasts-card__rate-label {
  width: 100%;
  text-align: right;
  font-size: var(--brand-font-sm);
  color: var(--brand-text-tertiary);
}

.brand-forecasts-card__desc {
  display: flex;
  gap: var(--brand-space-md);
  align-items: flex-start;
}

.brand-forecasts-card__sport {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.125rem 0.25rem;
  border: var(--brand-border-width) solid var(--brand-live);
  border-radius: 0.1875rem;
  font-size: var(--brand-font-xs);
  color: var(--brand-live);
  white-space: nowrap;
  flex-shrink: 0;
}

.brand-forecasts-card__intro {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.brand-forecasts-card__divider {
  width: 100%;
  height: 0;
  border-top: var(--brand-border-width) dashed var(--brand-border-light);
}

.brand-forecasts-card__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand-forecasts-card__wld-label {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-primary);
  flex-shrink: 0;
}

.brand-forecasts-card__wld {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

@media (max-width: 56.25rem) {
  .brand-forecasts-card__rate-box {
    width: 3.5rem;
    padding: 0.375rem;
  }
  .brand-forecasts-card__rate-val {
    font-size: var(--brand-font-lg);
  }
}

@media (max-width: 30rem) {
  .brand-forecasts-card__top {
    flex-wrap: wrap;
  }
  .brand-forecasts-card__rate-box {
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  .brand-forecasts-card__rate-val {
    width: auto;
    text-align: left;
  }
  .brand-forecasts-card__rate-label {
    width: auto;
    text-align: right;
  }
  .brand-forecasts-card__desc {
    flex-direction: column;
    gap: var(--brand-space-xs);
  }
}

/* 全部场次页 */
.brand-matches-page.matches-page {
  padding-top: var(--brand-space-page-top);
  padding-bottom: var(--brand-space-stack);
}

.brand-matches-page .matches-page-header {
  background: var(--brand-bg-card);
  padding: var(--brand-space-md);
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--brand-space-md);
  border-bottom: var(--brand-border-width) solid var(--brand-border-light);
}

.brand-matches-page .matches-page-title {
  font-size: var(--brand-font-md);
  font-weight: var(--brand-weight-bold);
  color: var(--brand-text-heading);
}

.brand-matches-page .matches-filter {
  display: flex;
  gap: var(--brand-space-sm);
  flex-wrap: wrap;
}

.brand-matches-page .matches-filter-btn {
  display: inline-block;
  padding: var(--brand-space-2xs) var(--brand-space-md);
  border: var(--brand-border-width) solid var(--brand-border-light);
  font-size: var(--brand-font-sm);
  color: var(--brand-text-secondary);
  text-decoration: none;
}

.brand-matches-page .matches-filter-btn:hover {
  border-color: var(--brand-gold);
  color: var(--brand-gold);
}

.brand-matches-page .matches-filter-btn.act {
  background: var(--brand-black);
  border-color: var(--brand-black);
  color: var(--brand-white);
}

.brand-matches-page .matches-header-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--brand-space-md);
}

.brand-matches-page .matches-date-wrap {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--brand-space-xs);
}

.brand-matches-page .matches-date-field {
  position: relative;
  display: inline-block;
}

.brand-matches-page .matches-date-field .matches-date-input,
.brand-matches-page .matches-date-field .flatpickr-input {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-primary);
  padding: var(--brand-space-xs) var(--brand-space-36) var(--brand-space-xs) var(--brand-space-md);
  background: var(--brand-pure-white);
  border: var(--brand-border-width) solid var(--brand-border-light);
  border-radius: var(--brand-radius-sm);
  cursor: pointer;
  min-width: 9.375rem;
  box-sizing: border-box;
}

.brand-matches-page .matches-date-icon {
  position: absolute;
  right: var(--brand-space-sm);
  top: 50%;
  transform: translateY(-50%);
  color: var(--brand-text-secondary);
  pointer-events: none;
}

.brand-sch-match-list-block {
  background: var(--brand-bg-card);
  margin-bottom: 0;
}

.brand-matches-page .matches-status-tag {
  display: inline-block;
  padding: var(--brand-space-2xs) var(--brand-space-sm);
  font-size: var(--brand-font-xs);
  font-weight: var(--brand-weight-semibold);
  white-space: nowrap;
}

.brand-matches-page .matches-status-tag.live {
  background: var(--brand-bg-live);
  color: var(--brand-live);
}

.brand-matches-page .matches-status-tag.pending {
  background: var(--brand-rate-bg);
  color: var(--brand-text-secondary);
}

.brand-matches-page .matches-status-tag.ended {
  background: var(--brand-rate-bg);
  color: var(--brand-text-tertiary);
}

.brand-matches-page .matches-action-btn {
  display: inline-block;
  padding: var(--brand-space-2xs) var(--brand-space-sm);
  font-size: var(--brand-font-xs);
  text-decoration: none;
  white-space: nowrap;
}

.brand-matches-page .matches-action-btn.live-btn {
  background: var(--brand-rate-bg);
  color: var(--brand-text-heading);
  border: var(--brand-border-width) solid var(--brand-border-light);
}

.brand-matches-page .matches-action-btn.intel-btn {
  background: var(--brand-gold);
  color: var(--brand-black);
}

.brand-matches-page .matches-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--brand-space-xs);
  padding: var(--brand-space-lg) 0;
  flex-wrap: wrap;
}

.brand-matches-page .matches-pagination a,
.brand-matches-page .matches-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0 var(--brand-space-sm);
  border: var(--brand-border-width) solid var(--brand-border-light);
  font-size: var(--brand-font-sm);
  color: var(--brand-text-primary);
  text-decoration: none;
}

.brand-matches-page .matches-pagination span.act {
  background: var(--brand-black);
  border-color: var(--brand-black);
  color: var(--brand-white);
}

.brand-matches-page .matches-empty {
  text-align: center;
  padding: var(--brand-space-3xl) var(--brand-space-md);
  color: var(--brand-text-tertiary);
}

.brand-sch-mm-cell-time {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-secondary);
}

.brand-sch-mm-cell-date {
  font-size: var(--brand-font-xs);
}

.brand-sch-mm-cell-league {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-secondary);
}

.brand-matches-page .portal-schedule-live-table tbody tr:nth-child(odd) {
  background: var(--brand-bg-page);
}

.brand-matches-page .portal-schedule-live-table tbody tr:nth-child(even) {
  background: var(--brand-bg-card);
}

.brand-matches-page .portal-schedule-live-table th:nth-child(1),
.brand-matches-page .portal-schedule-live-table td:nth-child(1) {
  text-align: center;
}

.brand-matches-page .portal-schedule-live-table th:nth-child(2),
.brand-matches-page .portal-schedule-live-table td:nth-child(2) {
  text-align: center;
}

.brand-matches-page .portal-schedule-live-table th:nth-child(3),
.brand-matches-page .portal-schedule-live-table td:nth-child(3) {
  text-align: center;
}

.brand-matches-page .portal-schedule-live-table th:nth-child(5),
.brand-matches-page .portal-schedule-live-table td:nth-child(5) {
  text-align: center;
}

.brand-matches-page .portal-schedule-live-table th:nth-child(7),
.brand-matches-page .portal-schedule-live-table td:nth-child(7) {
  text-align: center;
}

.brand-matches-page .portal-schedule-live-table th:nth-child(4) {
  text-align: right;
}

.brand-matches-page .portal-schedule-live-table td:nth-child(4) {
  text-align: right;
}

.brand-matches-page .portal-schedule-live-table th:nth-child(6),
.brand-matches-page .portal-schedule-live-table td:nth-child(6) {
  text-align: left;
}

.brand-matches-page .portal-schedule-live-table td:nth-child(4) .portal-schedule-live-team {
  flex-direction: row-reverse;
  justify-content: flex-end;
}

.brand-matches-page .portal-schedule-live-table td:nth-child(6) .portal-schedule-live-team {
  justify-content: flex-start;
}

.brand-matches-page .portal-schedule-live-team img {
  width: var(--brand-space-md);
  height: var(--brand-space-md);
}

.brand-matches-page .matches-live-list-m {
  display: none;
}

body:has(.brand-sch-page) .flatpickr-day.selected,
body:has(.brand-sch-page) .flatpickr-day.selected:hover,
body:has(.brand-matches-page) .flatpickr-day.selected,
body:has(.brand-matches-page) .flatpickr-day.selected:hover {
  background: var(--brand-gold) !important;
  border-color: var(--brand-gold) !important;
  color: var(--brand-black) !important;
}

body:has(.brand-sch-page) .flatpickr-months .flatpickr-month,
body:has(.brand-matches-page) .flatpickr-months .flatpickr-month {
  background: var(--brand-bg-card);
  color: var(--brand-text-primary);
}

body:has(.brand-sch-page) .flatpickr-months .flatpickr-prev-month,
body:has(.brand-sch-page) .flatpickr-months .flatpickr-next-month,
body:has(.brand-matches-page) .flatpickr-months .flatpickr-prev-month,
body:has(.brand-matches-page) .flatpickr-months .flatpickr-next-month {
  color: var(--brand-text-primary);
  fill: var(--brand-text-primary);
}

body:has(.brand-sch-page) .flatpickr-current-month .flatpickr-monthDropdown-months,
body:has(.brand-matches-page) .flatpickr-current-month .flatpickr-monthDropdown-months {
  background: var(--brand-bg-card);
  color: var(--brand-text-primary);
}

body:has(.brand-sch-page) .flatpickr-current-month input.cur-year,
body:has(.brand-matches-page) .flatpickr-current-month input.cur-year {
  color: var(--brand-text-primary);
}

@media (max-width: 56.25rem) {
  .brand-sch-page.portal-schedule-page {
    width: 100%;
    padding: var(--brand-space-sm) var(--brand-space-md);
  }

  .brand-sch-hero-feat,
  .brand-sch-hero-feat-overlay {
    min-height: 10rem;
  }

  .brand-sch-hero-feat-overlay {
    padding: var(--brand-space-md);
  }

  .brand-sch-hero-feat-teams {
    flex-direction: column;
    gap: var(--brand-space-md);
  }

  .brand-sch-hero-feat-team--home,
  .brand-sch-hero-feat-team--away {
    align-items: center;
  }

  .brand-sch-hero-feat-team--home .brand-sch-hero-feat-team-name,
  .brand-sch-hero-feat-team--away .brand-sch-hero-feat-team-name {
    text-align: center;
  }

  .brand-sch-page .portal-schedule-top {
    flex-direction: column;
  }

  .brand-sch-page .portal-schedule-top-left,
  .brand-sch-page .portal-schedule-top-right {
    width: 100%;
    flex: none;
  }

  .brand-sch-page .portal-schedule-top-right > .portal-block,
  .brand-sch-page .portal-schedule-top-right > section {
    height: auto;
    max-height: none;
  }

  .brand-sch-page .portal-schedule-live {
    flex-direction: column;
  }

  .brand-sch-page .portal-schedule-live-sidebar {
    width: 100%;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .brand-sch-page .portal-schedule-live-sidebar-item {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .brand-sch-page .portal-schedule-live-table-wrap {
    display: none;
  }

  .brand-sch-page .portal-schedule-live-list-m {
    display: block;
    padding: 0;
    background: var(--brand-bg-live-row);
  }

  .brand-sch-page .portal-schedule-live-list-m .portal-live-row-m,
  .brand-matches-page .matches-live-list-m .portal-live-row-m {
    display: block;
    padding: var(--brand-space-md);
    box-sizing: border-box;
    width: 100%;
  }

  .brand-sch-page .portal-schedule-live-list-m .portal-live-row-m {
    border-bottom: var(--brand-border-width) solid rgba(255, 255, 255, 0.08);
  }

  .brand-sch-page .portal-schedule-live-list-m .portal-live-row-m:nth-child(odd) {
    background: var(--brand-bg-live-row);
  }

  .brand-sch-page .portal-schedule-live-list-m .portal-live-row-m:nth-child(even) {
    background: var(--brand-bg-live-row-alt);
  }

  .brand-sch-page .portal-live-m-grid,
  .brand-matches-page .portal-live-m-grid {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    align-items: center;
    gap: var(--brand-space-sm) var(--brand-space-md);
    width: 100%;
    min-width: 0;
  }

  .brand-sch-page .portal-live-m-team,
  .brand-matches-page .portal-live-m-team {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--brand-space-sm);
    min-width: 0;
    text-align: center;
  }

  .brand-sch-page .portal-live-m-team--home,
  .brand-matches-page .portal-live-m-team--home {
    grid-column: 1;
  }

  .brand-sch-page .portal-live-m-team--away,
  .brand-matches-page .portal-live-m-team--away {
    grid-column: 3;
  }

  .brand-sch-page .portal-live-m-center,
  .brand-matches-page .portal-live-m-center {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--brand-space-xs);
    min-width: 0;
    width: 100%;
    text-align: center;
  }

  .brand-sch-page .portal-live-m-logo,
  .brand-matches-page .portal-live-m-logo {
    width: var(--brand-expert-avatar-outer);
    max-width: min(var(--brand-expert-avatar-outer), 28vw);
    height: auto;
    aspect-ratio: 1;
    border-radius: 50%;
    object-fit: contain;
    background: var(--brand-rate-bg);
    border: var(--brand-border-width) solid var(--brand-border-light);
  }

  .brand-sch-page .portal-live-m-name,
  .brand-matches-page .portal-live-m-name {
    font-size: var(--brand-font-xs);
    font-weight: var(--brand-weight-medium);
    color: var(--brand-text-heading);
    word-break: break-word;
  }

  .brand-sch-page .portal-live-m-meta,
  .brand-matches-page .portal-live-m-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--brand-space-xs);
  }

  .brand-sch-page .portal-live-m-league,
  .brand-matches-page .portal-live-m-league {
    font-size: var(--brand-font-xs);
    font-weight: var(--brand-weight-semibold);
    color: var(--brand-text-heading);
  }

  .brand-sch-page .portal-live-m-meta .portal-live-status,
  .brand-matches-page .portal-live-m-meta .portal-live-status {
    font-size: var(--brand-font-xs);
    font-weight: var(--brand-weight-semibold);
    color: var(--brand-text-inverse);
    background: var(--brand-gold);
    padding: var(--brand-space-2xs) var(--brand-space-xs);
    white-space: nowrap;
  }

  .brand-sch-page .portal-live-m-datetime,
  .brand-matches-page .portal-live-m-datetime {
    font-size: var(--brand-font-xs);
    color: var(--brand-text-secondary);
  }

  .brand-sch-page .portal-live-m-score,
  .brand-matches-page .portal-live-m-score {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: var(--brand-space-2xs);
    font-size: var(--brand-font-base);
    font-weight: var(--brand-weight-bold);
    color: var(--brand-text-heading);
  }

  .brand-sch-page .portal-live-m-name {
    color: var(--brand-text-inverse);
  }

  .brand-sch-page .portal-live-m-league {
    color: rgba(255, 255, 255, 0.88);
  }

  .brand-sch-page .portal-live-m-datetime {
    color: rgba(255, 255, 255, 0.62);
  }

  .brand-sch-page .portal-live-m-meta .portal-live-status {
    background: var(--brand-bg-live);
    color: var(--brand-live);
  }

  .brand-sch-page .portal-live-m-score {
    color: var(--brand-text-inverse);
    background: var(--brand-score-pill-bg);
    border-radius: var(--brand-radius-score-pill);
    padding: var(--brand-space-xs) var(--brand-space-md);
    box-sizing: border-box;
  }

  .brand-sch-page .portal-live-m-logo {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.2);
  }

  .brand-sch-page .portal-live-route-btn,
  .brand-matches-page .portal-live-route-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 1.75rem;
    padding: 0 var(--brand-space-sm);
    font-size: var(--brand-font-xs);
    border: var(--brand-border-width) solid var(--brand-border-light);
    color: var(--brand-text-heading);
    text-decoration: none;
    box-sizing: border-box;
  }

  .brand-sch-page .portal-live-route-btn {
    border-color: rgba(255, 255, 255, 0.35);
    color: var(--brand-text-inverse);
  }

  .brand-matches-page .matches-intel-route-btn {
    border-color: var(--brand-gold);
    color: var(--brand-gold);
    background: transparent;
  }

  .brand-matches-page .matches-live-actions {
    margin-top: var(--brand-space-xs);
    width: 100%;
    max-width: 100%;
  }

  .brand-matches-page .portal-live-m-route {
    width: 100%;
  }

  .brand-matches-page .portal-live-route-wrap {
    width: 100%;
  }

  .brand-sch-page .portal-schedule-live-list-m .portal-live-row-m,
  .brand-matches-page .matches-live-list-m {
    cursor: pointer;
  }

  .brand-matches-page .portal-schedule-live-table-wrap {
    display: none !important;
  }

  .brand-matches-page .matches-live-list-m {
    display: block;
    padding: var(--brand-space-sm);
  }

  .brand-matches-page .matches-live-row-m {
    padding: var(--brand-space-sm);
  }

  .brand-matches-page .matches-live-row-m:nth-child(odd) {
    background: var(--brand-bg-page);
  }

  .brand-matches-page .matches-live-row-m:nth-child(even) {
    background: var(--brand-bg-card);
  }
}

/* ========== 视频页 (品牌站 /video) ========== */

/* Hero 区域：黑底圆角卡 = 主播放器(8) + 右侧播放列表(2) */
.brand-video-hero {
  display: flex;
  align-items: stretch;
  gap: var(--brand-space-sm);
  background: var(--brand-black);
  border-radius: var(--brand-radius-md);
  padding: var(--brand-space-sm);
  min-height: 31.5625rem;
}

.brand-video-player {
  flex: var(--brand-video-hero-main-flex) 1 0%;
  min-width: 0;
  position: relative;
  border-radius: var(--brand-radius-sm);
  overflow: hidden;
  aspect-ratio: 16 / 9;
}

.brand-video-player--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--brand-bg-dark);
}

.brand-video-player-link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.brand-video-player-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.brand-video-player-top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: var(--brand-space-sm);
  padding: var(--brand-space-sm);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7), transparent);
}

.brand-video-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--brand-space-2xs);
  border: var(--brand-border-width) solid var(--brand-video-tag);
  color: var(--brand-video-tag);
  font-size: var(--brand-font-sm);
  line-height: 1;
  white-space: nowrap;
  flex-shrink: 0;
}

.brand-video-player-title {
  font-size: var(--brand-font-sm);
  color: var(--brand-pure-white);
  line-height: var(--brand-leading-normal);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-video-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  color: var(--brand-pure-white);
  font-size: var(--brand-font-xl);
  opacity: 0.85;
  transition: opacity 0.2s, transform 0.2s;
  pointer-events: none;
}

.brand-video-player-link:hover .brand-video-play-btn {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.1);
}

/* 右侧播放列表 */
.brand-video-playlist {
  flex: var(--brand-video-hero-side-flex) 1 0%;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-sm);
  overflow-y: auto;
  scrollbar-width: none;
  align-self: stretch;
}

.brand-video-playlist::-webkit-scrollbar {
  display: none;
}

.brand-video-playlist-item {
  display: flex;
  gap: var(--brand-space-sm);
  padding: var(--brand-space-xs);
  border-radius: var(--brand-radius-sm);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: background 0.15s;
}

.brand-video-playlist-item.act {
  background: rgba(255, 255, 255, 0.1);
  border: var(--brand-border-width) solid var(--brand-pure-white);
}

.brand-video-playlist-item:hover:not(.act) {
  background: rgba(255, 255, 255, 0.06);
}

.brand-video-playlist-thumb {
  width: 7.4375rem;
  height: 4.1875rem;
  flex-shrink: 0;
  border-radius: var(--brand-radius-sm);
  overflow: hidden;
  background: var(--brand-video-thumb-placeholder);
}

.brand-video-playlist-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.brand-video-playlist-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.brand-video-playlist-title {
  margin: 0;
  font-size: var(--brand-font-sm);
  color: var(--brand-pure-white);
  line-height: var(--brand-leading-normal);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.brand-video-playlist-time {
  font-size: 0.625rem;
  color: var(--brand-text-inverse-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 视频页：news 卡片上叠加播放按钮（复用 .brand-news-card .thumb 内） */
.brand-video-page .brand-news-card .thumb {
  position: relative;
}

.brand-video-page .brand-news-card .play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 3.75rem;
  height: 3.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-pure-white);
  font-size: var(--brand-font-xl);
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
}

.brand-video-page .brand-news-card:hover .play-btn {
  opacity: 0.9;
}

/* 底部两栏：快讯 + 本周热门 */
.brand-video-bottom {
  display: flex;
  gap: var(--brand-space-lg);
  align-items: flex-start;
}

.brand-video-bottom-left {
  flex: 1;
  min-width: 0;
}

.brand-video-bottom-right {
  width: 24.5rem;
  flex-shrink: 0;
}

/* 本周热门：标题与卡片间距 24px */
.brand-video-hot.brand-block {
  gap: var(--brand-space-lg);
}

/* 本周热门卡片 */
.brand-video-hot-card {
  background: var(--brand-bg-card);
  border-radius: var(--brand-radius-md);
  box-shadow: var(--brand-shadow-card);
  padding: var(--brand-space-lg) var(--brand-space-md);
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-lg);
}

.brand-video-hot-item {
  display: flex;
  gap: var(--brand-space-sm);
  align-items: center;
  text-decoration: none;
  color: inherit;
}

.brand-video-hot-thumb {
  width: 10rem;
  height: 5.625rem;
  flex-shrink: 0;
  border-radius: 0.375rem;
  overflow: hidden;
  background: var(--brand-thumb-placeholder-bg);
}

.brand-video-hot-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.brand-video-hot-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-md);
}

.brand-video-hot-title {
  margin: 0;
  font-size: var(--brand-font-base);
  color: var(--brand-text-primary);
  line-height: var(--brand-leading-normal);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.brand-video-hot-time {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 视频页快讯：featured 大卡包裹在白色卡片容器 */
.brand-video-bottom-left .brand-article-featured {
  background: var(--brand-bg-card);
  border-radius: var(--brand-radius-md);
  box-shadow: var(--brand-shadow-card);
  padding: var(--brand-space-lg);
  gap: var(--brand-space-md);
  flex-direction: column;
}

.brand-video-bottom-left .brand-article-featured-img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border-radius: var(--brand-radius-md);
  flex-shrink: 0;
}

.brand-video-bottom-left .brand-article-featured-content {
  gap: var(--brand-space-md);
}

.brand-video-bottom-left .brand-article-featured-content h2 {
  font-size: var(--brand-font-xl);
}

.brand-video-bottom-left .brand-article-featured-content p {
  font-size: var(--brand-font-md);
  opacity: 0.8;
}

/* 视频页快讯：底部小卡片行包裹在白色卡片容器，横向排列（5 列） */
.brand-video-bottom-left .brand-article-hor-grid {
  background: var(--brand-bg-card);
  border-radius: var(--brand-radius-md);
  box-shadow: var(--brand-shadow-card);
  padding: var(--brand-space-lg);
  grid-template-columns: repeat(5, 1fr);
  gap: var(--brand-space-md);
}

.brand-video-bottom-left .brand-article-hor {
  flex-direction: column;
  gap: var(--brand-space-xs);
}

.brand-video-bottom-left .brand-article-hor .hor-img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
}

.brand-video-bottom-left .brand-article-hor .hor-content h3 {
  font-size: var(--brand-font-sm);
  -webkit-line-clamp: 2;
}

.brand-video-bottom-left .brand-article-hor .hor-content p {
  display: none;
}

.brand-video-bottom-left .brand-article-hor .hor-content .brand-article-author {
  gap: var(--brand-space-2xs);
}

.brand-video-bottom-left .brand-article-hor .hor-content .brand-article-author span {
  font-size: var(--brand-font-xs);
}

/* ========== 赛事数据页 (品牌站 /data/rank) ========== */

.brand-rank-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.brand-rank-top-tabs {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.brand-rank-top-tab {
  color: var(--brand-text-secondary);
  text-decoration: none;
  font-size: var(--brand-font-xl);
  font-weight: var(--brand-weight-regular);
  line-height: var(--brand-leading-normal);
  padding: 0 0 0.1875rem;
  border-bottom: var(--brand-border-width-thick) solid transparent;
}

.brand-rank-top-tab:hover {
  text-decoration: none;
  color: var(--brand-text-primary);
}

.brand-rank-top-tab:not(.act):hover {
  border-bottom-color: transparent;
}

.brand-rank-top-tab.act {
  color: var(--brand-text-primary);
  font-weight: var(--brand-weight-semibold);
  border-bottom-color: var(--brand-text-primary);
}

.brand-rank-top-tab.is-disabled {
  cursor: default;
}

.brand-rank-layout {
  display: flex;
  align-items: stretch;
  gap: 1.5rem;
}

.brand-rank-sidebar {
  width: 13.25rem;
  flex-shrink: 0;
  background: var(--brand-bg-card);
  border-radius: 0.5rem;
  box-shadow: 0.625rem 0.625rem 0.9375rem rgba(0, 0, 0, 0.1);
  padding: 1.5rem 1rem;
  display: flex;
  flex-direction: column;
}

.brand-rank-search {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 0.5rem;
  padding: 0.25rem 0.375rem;
  height: 1.75rem;
  margin-bottom: 0.5rem;
}

.brand-rank-search i {
  font-size: 0.875rem;
  color: var(--brand-text-primary);
}

.brand-rank-search-input {
  width: 100%;
  border: none;
  background: none;
  outline: none;
  color: var(--brand-text-primary);
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-family: var(--brand-font-en);
}

.brand-rank-league-list {
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-xs);
  flex: 1;
}

.brand-rank-league-item {
  text-decoration: none;
  color: var(--brand-text-primary);
  font-size: 0.875rem;
  font-weight: var(--brand-weight-regular);
  line-height: 1.25rem;
  border-radius: 0.5rem;
  padding: 0.75rem;
}

.brand-rank-league-item.act,
.brand-rank-league-item:hover {
  background: #f2f2f2;
}

.brand-rank-main {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  background: var(--brand-bg-card);
  border-radius: 0.5rem;
  box-shadow: 0.625rem 0.625rem 0.9375rem rgba(0, 0, 0, 0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.brand-rank-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--brand-space-md);
  padding: var(--brand-space-md) var(--brand-space-lg);
  border-top: 1px solid var(--brand-border-light);
  background: var(--brand-bg-card);
}

.brand-rank-pager__total {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-secondary);
}

.brand-rank-pager__nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: var(--brand-space-xs);
}

.brand-rank-pager__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.375rem;
  border-radius: var(--brand-radius-sm);
  font-size: var(--brand-font-lg);
  line-height: 1;
  text-decoration: none;
  color: var(--brand-text-primary);
  border: var(--brand-border-width) solid var(--brand-border-light);
  background: var(--brand-pure-white);
  transition: background 0.15s, color 0.15s;
}

.brand-rank-pager__btn:hover:not(.is-disabled) {
  background: var(--brand-rate-bg);
}

.brand-rank-pager__btn.is-disabled {
  color: var(--brand-text-tertiary);
  cursor: default;
  opacity: 0.6;
}

.brand-rank-pager__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.375rem;
  border-radius: var(--brand-radius-sm);
  font-size: var(--brand-font-sm);
  text-decoration: none;
  color: var(--brand-text-primary);
  border: var(--brand-border-width) solid #dcdcdc;
  background: var(--brand-pure-white);
  transition: background 0.15s, border-color 0.15s;
}

.brand-rank-pager__num:hover {
  background: var(--brand-rate-bg);
}

.brand-rank-pager__num.act {
  background: var(--brand-black);
  color: var(--brand-text-inverse);
  border-color: var(--brand-black);
}

.brand-rank-pager__ellipsis {
  color: var(--brand-text-secondary);
  padding: 0 var(--brand-space-2xs);
  user-select: none;
}

.brand-rank-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.brand-rank-table thead th {
  height: 3.5rem;
  padding: 1rem 0;
  font-size: 1rem;
  font-weight: var(--brand-weight-regular);
  color: var(--brand-text-primary);
  text-align: center;
  background: #f2f2f2;
  border-bottom: none;
}

.brand-rank-table tbody td {
  height: 3.5rem;
  padding: 1rem 0;
  font-size: 1rem;
  color: var(--brand-text-primary);
  text-align: center;
  border-bottom: none;
}

.brand-rank-table tbody tr:nth-child(even) {
  background: #f2f2f2;
}

.brand-rank-table--standing thead th:first-child,
.brand-rank-table--standing tbody td:first-child {
  width: 3.75rem;
}

.brand-rank-table--standing thead th:nth-child(2),
.brand-rank-table--standing tbody td:nth-child(2) {
  width: 10rem;
  text-align: left;
  padding-left: 1rem;
  padding-right: var(--brand-space-sm);
}

.brand-rank-table--standing thead th:nth-child(n+3),
.brand-rank-table--standing tbody td:nth-child(n+3) {
  width: 4rem;
  text-align: center;
}

/* 射手榜：排名居中；球员/球队名单列与表头左对齐；场次、进球与表头居中 */
.brand-rank-table--players thead th:nth-child(1),
.brand-rank-table--players tbody td:nth-child(1) {
  width: 3.75rem;
  text-align: center;
}

.brand-rank-table--players thead th:nth-child(2),
.brand-rank-table--players tbody td:nth-child(2) {
  text-align: left;
  padding-left: 1rem;
  padding-right: var(--brand-space-sm);
  vertical-align: middle;
  width: auto;
}

.brand-rank-table--players thead th:nth-child(3),
.brand-rank-table--players tbody td:nth-child(3),
.brand-rank-table--players thead th:nth-child(4),
.brand-rank-table--players tbody td:nth-child(4) {
  width: 5rem;
  text-align: center;
  padding-left: var(--brand-space-xs);
  padding-right: var(--brand-space-xs);
  vertical-align: middle;
}

.brand-rank-table--players .brand-rank-team {
  display: flex;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.brand-rank-table--players .brand-rank-team span {
  min-width: 0;
  flex: 1 1 auto;
}

/* 赛程表：主客队列与队徽对齐 */
.brand-rank-table--schedule thead th:nth-child(1),
.brand-rank-table--schedule tbody td:nth-child(1) {
  width: 11.5rem;
  min-width: 11rem;
  padding-left: 1rem;
  padding-right: 0.75rem;
  box-sizing: border-box;
}

.brand-rank-table--schedule thead th:nth-child(3),
.brand-rank-table--schedule tbody td:nth-child(3) {
  width: 5.5rem;
  text-align: center;
}

/* 主队：列靠右，队内「名 → 头像」靠近比分一侧 */
.brand-rank-table--schedule thead th:nth-child(2),
.brand-rank-table--schedule tbody td:nth-child(2) {
  text-align: right;
  padding-right: 1rem;
  padding-left: 0.5rem;
  vertical-align: middle;
}

.brand-rank-table--schedule thead th:nth-child(4),
.brand-rank-table--schedule tbody td:nth-child(4) {
  text-align: left;
  padding-left: 1rem;
  vertical-align: middle;
}

.brand-rank-table--schedule thead th:nth-child(5),
.brand-rank-table--schedule tbody td:nth-child(5) {
  width: 5rem;
}

.brand-rank-table--schedule tbody td:nth-child(4) .brand-rank-team {
  display: flex;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.brand-rank-table--schedule tbody td:nth-child(4) .brand-rank-team span {
  min-width: 0;
  flex: 1 1 auto;
}

.brand-rank-table--schedule .brand-rank-team--schedule-home {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 0.9375rem;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.brand-rank-table--schedule .brand-rank-team--schedule-home span {
  flex: 0 1 auto;
  min-width: 0;
  text-align: right;
}

.brand-rank-team {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.9375rem;
  text-decoration: none;
  color: var(--brand-text-primary);
  max-width: 100%;
  width: auto;
}

.brand-rank-team img {
  width: 2rem;
  height: 2rem;
  object-fit: cover;
  border-radius: 50%;
  flex-shrink: 0;
}

.brand-rank-team span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1rem;
  color: var(--brand-text-primary);
}

.brand-rank-num {
  font-weight: var(--brand-weight-semibold);
  color: var(--brand-text-secondary);
}

.brand-rank-table tbody tr:nth-child(1) .brand-rank-num {
  color: #f53f3f;
}

.brand-rank-table tbody tr:nth-child(2) .brand-rank-num {
  color: #ff9500;
}

.brand-rank-table tbody tr:nth-child(3) .brand-rank-num {
  color: #ffcc00;
}

.brand-rank-strong {
  font-weight: var(--brand-weight-semibold);
}

.brand-rank-empty {
  text-align: center;
  color: var(--brand-text-secondary);
  padding: var(--brand-space-xl) 0;
}

/* ========== 资讯页 (品牌站 /news) ========== */

.brand-news-page-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  max-width: 75rem;
}

.brand-news-page-top {
  display: flex;
  gap: 1.5rem;
  align-items: stretch;
}

.brand-news-page-hero-card,
.brand-news-page-ticker-card,
.brand-news-page-grid-card,
.brand-news-page-strip-card {
  background: var(--brand-bg-card);
  border-radius: 0.5rem;
  box-shadow: 0.625rem 0.625rem 0.9375rem rgba(0, 0, 0, 0.1);
}

.brand-news-page-hero-card {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}

.brand-news-page-hero-link {
  display: block;
  text-decoration: none;
}

.brand-news-page-hero-cover {
  height: 19.6875rem;
  overflow: hidden;
}

.brand-news-page-hero-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.brand-news-page-hero-content {
  padding: 1rem;
}

.brand-news-page-hero-content h2 {
  font-size: 2.25rem;
  line-height: 1.15;
  color: var(--brand-text-primary);
  margin-bottom: 0.625rem;
}

.brand-news-page-hero-content p {
  font-size: 1rem;
  line-height: 1.4;
  color: var(--brand-text-secondary);
  margin-bottom: 0.875rem;
}

.brand-news-page-hero-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
  color: var(--brand-text-meta);
}

.brand-news-page-hero-meta .author {
  color: var(--brand-text-primary);
}

.brand-news-page-ticker-card {
  width: 24.75rem;
  padding: 0.75rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.brand-news-page-ticker-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  text-decoration: none;
}

.brand-news-page-ticker-item .title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: var(--brand-text-primary);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-news-page-ticker-item .time {
  font-size: 0.875rem;
  color: var(--brand-text-meta);
  flex-shrink: 0;
}

.brand-news-page-ticker-more {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-decoration: none;
  background: var(--brand-bg-dark);
  color: var(--brand-text-inverse);
  border-radius: 0.375rem;
  height: 2.25rem;
  font-size: 0.875rem;
  font-weight: var(--brand-weight-medium);
}

.brand-news-page-grid-card {
  padding: 1rem;
}

.brand-news-page-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.brand-news-page-grid-item {
  text-decoration: none;
  color: var(--brand-text-primary);
}

.brand-news-page-grid-item .thumb {
  height: 9.375rem;
  border-radius: 0.5rem;
  overflow: hidden;
  margin-bottom: 0.625rem;
}

.brand-news-page-grid-item .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.brand-news-page-grid-item .title {
  font-size: 2rem;
  line-height: 1.15;
  font-weight: var(--brand-weight-semibold);
  margin-bottom: 0.5rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.brand-news-page-grid-item .meta,
.brand-news-page-strip-item .meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: var(--brand-text-meta);
}

.brand-news-page-grid-item .meta .dot,
.brand-news-page-strip-item .meta .dot {
  width: 0.1875rem;
  height: 0.1875rem;
  border-radius: 50%;
  background: var(--brand-text-meta);
}

.brand-news-page-strip-card {
  padding: 1rem;
  overflow: hidden;
}

.brand-news-page-strip {
  display: grid;
  grid-template-columns: repeat(8, minmax(8.125rem, 1fr));
  gap: 0.75rem;
}

.brand-news-page-strip-item {
  text-decoration: none;
  color: var(--brand-text-primary);
  min-width: 0;
}

.brand-news-page-strip-item .thumb {
  height: 3.875rem;
  border-radius: 0.375rem;
  overflow: hidden;
  margin-bottom: 0.375rem;
}

.brand-news-page-strip-item .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.brand-news-page-strip-item .title {
  font-size: 0.75rem;
  line-height: 1.2;
  color: var(--brand-text-primary);
  margin-bottom: 0.25rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.brand-news-page-empty {
  padding: 2.5rem 1rem;
  text-align: center;
  color: var(--brand-text-secondary);
}

/* ========== 数据页 (品牌站 /data) ========== */

.brand-data-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-lg);
}

.brand-data-sport-tabs {
  display: flex;
  gap: var(--brand-space-lg);
  align-items: center;
}

.brand-data-sport-tabs .brand-tab-item {
  border: none;
  background: none;
  border-bottom: var(--brand-border-width-thick) solid transparent;
  font-weight: var(--brand-weight-regular);
}

.brand-data-sport-tabs .brand-tab-item.act {
  background: none;
  border-bottom-color: var(--brand-border-tab);
  font-weight: var(--brand-weight-medium);
}

.brand-data-section .brand-section-title {
  font-weight: var(--brand-weight-semibold);
}

.brand-data-leagues-bar {
  display: flex;
  align-items: center;
  background: var(--brand-bg-data-leagues-bar);
  border-radius: var(--brand-radius-md);
  padding: var(--brand-space-lg);
  gap: var(--brand-space-xs);
}

.brand-data-leagues-arrow {
  background: none;
  border: none;
  color: var(--brand-text-inverse);
  font-size: 1.6875rem;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0.9375rem;
}

.brand-data-leagues-scroll {
  flex: 1;
  overflow: hidden;
  min-width: 0;
}

.brand-data-leagues-list {
  display: flex;
  gap: var(--brand-space-md);
  overflow-x: auto;
  scrollbar-width: none;
  scroll-behavior: smooth;
}

.brand-data-leagues-list::-webkit-scrollbar {
  display: none;
}

.brand-data-league-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--brand-space-xs);
  width: 7.5rem;
  height: 6.0625rem;
  flex-shrink: 0;
  text-decoration: none;
}

.brand-data-league-logo {
  width: 4rem;
  height: 4rem;
}

.brand-data-league-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.brand-data-league-name {
  font-size: var(--brand-font-base);
  color: var(--brand-text-inverse);
  font-family: var(--brand-font-zh);
  white-space: nowrap;
  text-align: center;
}

.brand-data-body {
  display: flex;
  gap: var(--brand-space-lg);
  align-items: flex-start;
}

.brand-data-sidebar {
  width: 13.25rem;
  flex-shrink: 0;
  background: var(--brand-bg-card);
  border-radius: var(--brand-radius-md);
  box-shadow: var(--brand-shadow-card);
  padding: var(--brand-space-lg) var(--brand-space-md);
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-xs);
  align-self: stretch;
}

.brand-data-sidebar-search {
  display: flex;
  align-items: center;
  gap: var(--brand-space-2xs);
  background: rgba(0, 0, 0, 0.1);
  border-radius: var(--brand-radius-md);
  padding: var(--brand-space-2xs) 0.375rem;
  height: 1.75rem;
}

.brand-data-sidebar-search i {
  font-size: var(--brand-font-sm);
  color: var(--brand-text-primary);
  flex-shrink: 0;
}

.brand-data-sidebar-input {
  border: none;
  background: none;
  outline: none;
  font-size: var(--brand-font-sm);
  color: var(--brand-text-primary);
  font-family: var(--brand-font-en);
  width: 100%;
  padding: 0;
  line-height: 1.25rem;
}

.brand-data-sidebar-item {
  display: flex;
  align-items: center;
  padding: var(--brand-space-sm);
  font-size: var(--brand-font-sm);
  font-family: var(--brand-font-zh);
  color: var(--brand-text-primary);
  background: none;
  border: none;
  border-radius: var(--brand-radius-md);
  cursor: pointer;
  width: 100%;
  text-align: left;
  transition: background 0.15s;
}

.brand-data-sidebar-item.act {
  background: var(--brand-rate-bg);
}

.brand-data-sidebar-item:hover {
  background: var(--brand-rate-bg);
}

.brand-data-center {
  width: 50rem;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-section);
}

.brand-data-section {
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-lg);
}

.brand-data-card {
  background: var(--brand-bg-card);
  border-radius: var(--brand-radius-md);
  box-shadow: var(--brand-shadow-card);
  padding: var(--brand-space-md);
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-md);
  overflow: hidden;
}

.brand-data-event-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--brand-space-md);
}

.brand-data-event-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--brand-space-md);
  padding: var(--brand-space-md);
  border: var(--brand-border-width) solid var(--brand-border-light);
  border-radius: var(--brand-radius-sm);
  background: var(--brand-bg-card);
  text-decoration: none;
  overflow: hidden;
  transition: box-shadow 0.2s;
}

.brand-data-event-item:hover {
  box-shadow: 0 0.125rem 0.375rem rgba(0, 0, 0, 0.08);
}

.brand-data-event-icon {
  width: 4rem;
  height: 4rem;
  flex-shrink: 0;
}

.brand-data-event-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.brand-data-event-name {
  font-size: var(--brand-font-md);
  font-weight: var(--brand-weight-medium);
  color: var(--brand-text-primary);
  font-family: var(--brand-font-zh);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.brand-data-expand-btn,
.brand-data-collapse-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--brand-space-xs);
  background: var(--brand-bg-dark);
  color: var(--brand-text-inverse);
  border: none;
  border-radius: var(--brand-radius-sm);
  padding: var(--brand-space-sm) var(--brand-space-xs);
  font-size: var(--brand-font-base);
  font-weight: var(--brand-weight-medium);
  font-family: var(--brand-font-zh);
  cursor: pointer;
  width: 100%;
}

.brand-data-right {
  flex: 1 1 20rem;
  min-width: 20rem;
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-section);
}

.brand-data-teams-card {
  background: var(--brand-bg-card);
  border-radius: var(--brand-radius-md);
  box-shadow: var(--brand-shadow-card);
  padding: var(--brand-space-md);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--brand-space-xs);
}

.brand-data-team-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--brand-space-xs);
  text-decoration: none;
}

.brand-data-team-icon {
  width: 3.75rem;
  height: 3.75rem;
  flex-shrink: 0;
}

.brand-data-team-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.brand-data-team-name {
  font-size: var(--brand-font-xs);
  font-weight: var(--brand-weight-bold);
  color: var(--brand-text-primary);
  font-family: var(--brand-font-zh);
  text-align: center;
  max-width: 6.25rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.brand-data-players-card {
  background: var(--brand-bg-card);
  border-radius: var(--brand-radius-md);
  box-shadow: var(--brand-shadow-card);
  padding: var(--brand-space-md);
  display: flex;
  flex-direction: column;
  gap: var(--brand-space-md);
}

.brand-data-player-item {
  display: flex;
  align-items: center;
  gap: var(--brand-space-md);
  text-decoration: none;
}

.brand-data-player-avatar {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

.brand-data-player-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.brand-data-player-meta {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  min-width: 0;
}

.brand-data-player-name {
  font-size: var(--brand-font-md);
  font-weight: var(--brand-weight-medium);
  color: var(--brand-text-primary);
  font-family: var(--brand-font-zh);
}

.brand-data-player-team {
  font-size: var(--brand-font-base);
  color: var(--brand-text-secondary);
  font-family: var(--brand-font-zh);
}

.brand-data-empty {
  padding: var(--brand-space-xl);
  text-align: center;
  color: var(--brand-text-secondary);
  font-size: var(--brand-font-sm);
  grid-column: 1 / -1;
}

/* ========== 球员详情页（portal 区块结构，变量来自 .brand-page；侧栏 inc-players 含「查看更多」） ========== */
.portal-player-detail-page { padding: 1.5rem 0; width: 100%; max-width: 100%; margin: 0; box-sizing: border-box; overflow-x: hidden; }
/* 面包屑与下方主区块间距已由 .brand-content 的 row-gap 承担，去掉块顶 padding 避免「双份」上边距 */
.brand-player-detail-page .brand-content > .brand-breadcrumb + .portal-main .portal-player-detail-page {
  padding-top: 0;
}
.portal-player-detail-main { display: flex; flex-direction: column; gap: 1.5rem; min-width: 0; }

.portal-player-info-card {
  position: relative;
  background: var(--portal-bg-card);
  padding: 1.5rem;
  border-radius: var(--brand-radius-md);
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
}
.portal-player-photo {
  flex-shrink: 0;
  overflow: hidden;
  background: var(--portal-bg-hover);
  border-radius: var(--brand-radius-sm);
}
.portal-player-photo.basketball { width: 12.5rem; height: 20rem; }
.portal-player-photo.football { width: 9.375rem; height: 12.5rem; }
.portal-player-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.portal-player-info-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1rem; }
.portal-player-info-row1 { display: flex; flex-direction: column; gap: 0.25rem; }
.portal-player-team-name { font-size: var(--portal-font-caption); color: var(--portal-text-muted); }
.portal-player-name { font-size: var(--portal-font-subtitle); font-weight: 700; color: var(--portal-text-heading); margin: 0; }
.portal-player-position { display: inline-block; padding: 0.125rem 0.5rem; font-size: var(--portal-font-xs); background: var(--portal-primary-light); color: var(--portal-primary); border-radius: var(--brand-radius-sm); margin-left: 0.5rem; }
.portal-player-name-en { display: block; font-size: var(--portal-font-caption); color: var(--portal-text-muted); margin-top: 0.25rem; }
.portal-player-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem 1.5rem;
  font-size: var(--portal-font-caption);
}
.portal-player-info-item { display: flex; flex-direction: column; gap: 0.125rem; }
.portal-player-info-label { color: var(--portal-text-muted); }
.portal-player-info-value { color: var(--portal-text-heading); }

.portal-player-stats-box {
  background: var(--portal-bg-hover);
  padding: 1rem 1.25rem;
  border-radius: var(--brand-radius-sm);
  display: flex;
  gap: 2rem;
  align-items: center;
}
.portal-player-stats-item { display: flex; flex-direction: column; gap: 0.25rem; }
.portal-player-stats-label { font-size: var(--portal-font-caption); color: var(--portal-text-muted); }
.portal-player-stats-value { font-size: var(--portal-font-subtitle); font-weight: 700; color: var(--portal-primary); }

.portal-player-number {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  font-weight: 700;
  color: var(--portal-primary);
  line-height: 1;
}
.portal-player-number-num { font-size: calc(var(--portal-font-title) * 2); }
.portal-player-number-unit { font-size: var(--portal-font-subtitle); font-weight: 500; margin-left: 0.125rem; }

.portal-player-data-card {
  background: var(--portal-bg-card);
  padding: 0;
  border-radius: var(--brand-radius-md);
  overflow: hidden;
  min-width: 0;
  border: var(--brand-border-width) solid var(--brand-border-light);
}
.portal-player-data-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.portal-player-data-tabs { display: flex; gap: 0; flex-wrap: wrap; }
.portal-player-data-tab {
  padding: 0.5rem 1rem;
  font-size: var(--portal-font-caption);
  color: var(--portal-text-muted);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
}
.portal-player-data-tab:hover { color: var(--portal-text-heading); }
.portal-player-data-tab.act {
  background: var(--portal-primary);
  color: var(--portal-text-inverse);
  font-weight: 600;
}
.portal-player-avg-total { display: flex; gap: 0; }
.portal-player-avg-total .portal-player-data-tab { padding: 0.375rem 0.75rem; font-size: var(--portal-font-xs); }
.portal-player-data-title { font-size: var(--portal-font-content); font-weight: 600; color: var(--portal-text-heading); margin: 0; }
.portal-player-data-panel { display: none; }
.portal-player-data-panel.act { display: block; }
.portal-player-data-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.portal-player-data-table {
  width: 100%;
  min-width: 50rem;
  border-collapse: collapse;
  font-size: var(--portal-font-caption);
}
.portal-player-data-table th {
  padding: 0.75rem 0.625rem;
  text-align: center;
  font-weight: 600;
  color: var(--portal-text-heading);
  background: var(--portal-bg-hover);
}
.portal-player-data-table td {
  padding: 0.625rem;
  text-align: center;
}
.portal-player-data-table tbody tr:nth-child(odd) { background: var(--portal-bg-hover); }
.portal-player-data-table tbody tr:nth-child(even) { background: var(--portal-bg-card); }
.portal-player-data-table tbody tr.total-row { background: var(--portal-bg-muted); font-weight: 600; }
.portal-player-data-empty {
  padding: 0;
  text-align: center;
  vertical-align: middle;
  color: var(--portal-text-muted);
  min-height: 7.5rem;
  height: 7.5rem;
  background: var(--portal-bg-card) !important;
}
.portal-player-data-empty-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 7.5rem;
  height: 7.5rem;
}
.portal-player-data-empty-icon {
  font-size: 2rem;
  color: var(--portal-divider);
}

.portal-injuries-table { min-width: 17.5rem; }

.portal-honours-wrap {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding: 0.5rem 0;
}
.portal-honours-scroll {
  display: flex;
  gap: 1rem;
  padding: 0 0.25rem;
}
.portal-honour-card {
  flex: 0 0 6.25rem;
  width: 6.25rem;
  background: var(--portal-bg-hover);
  border-radius: var(--brand-radius-sm);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1rem 0.75rem;
  gap: 0.5rem;
}
.portal-honour-icon {
  width: 3rem;
  height: 3rem;
  object-fit: contain;
  flex-shrink: 0;
}
.portal-honour-name {
  font-size: var(--portal-font-caption);
  font-weight: 600;
  color: var(--portal-text-heading);
  text-align: center;
  line-height: 1.3;
}
.portal-honour-year {
  font-size: var(--portal-font-xs);
  color: var(--portal-text-muted);
}

.portal-transfer-table { min-width: 25rem; }
.portal-transfer-table th:nth-child(1),
.portal-transfer-table td:nth-child(1) { min-width: 5.625rem; }
.portal-transfer-table th:nth-child(5),
.portal-transfer-table td:nth-child(5) { min-width: 5rem; }

@media (max-width: 992px) {
  .portal-player-detail-page { padding: var(--portal-page-padding-sm) 0; max-width: 100%; overflow-x: hidden; }
  .brand-player-detail-page .brand-content > .brand-breadcrumb + .portal-main .portal-player-detail-page {
    padding-top: 0;
  }
  .portal-player-detail-main { gap: var(--portal-page-padding-sm); }
  .portal-player-info-card { flex-direction: row; flex-wrap: wrap; padding: var(--portal-page-padding-sm); gap: var(--portal-page-padding-sm); }
  .portal-player-number { top: var(--portal-page-padding-sm); right: var(--portal-page-padding-sm); }
  .portal-player-photo.basketball { width: 8.75rem; height: 14rem; }
  .portal-player-photo.football { width: 6.5625rem; height: 8.75rem; }
  .portal-player-info-body { flex: 1; min-width: 11.25rem; }
  .portal-player-name { font-size: var(--portal-font-block); }
  .portal-player-number-num { font-size: calc(var(--portal-font-subtitle) * 2); }
  .portal-player-stats-box { padding: var(--portal-page-padding-sm) 1rem; gap: 1.5rem; }
  .portal-player-stats-value { font-size: var(--portal-font-content); }
  .portal-player-info-grid { grid-template-columns: repeat(2, 1fr); gap: 0.5rem 1rem; }
  .portal-player-data-header { padding: var(--portal-page-padding-sm) 1rem; }
  .portal-honour-card { flex: 0 0 5.625rem; width: 5.625rem; padding: 0.75rem; }
  .portal-player-data-table { min-width: 43.75rem; font-size: var(--portal-font-xs); }
  .portal-player-data-table th,
  .portal-player-data-table td { padding: 0.5rem 0.375rem; }
}
@media (max-width: 600px) {
  .portal-player-detail-page { padding: var(--portal-page-padding) 0; }
  .brand-player-detail-page .brand-content > .brand-breadcrumb + .portal-main .portal-player-detail-page {
    padding-top: 0;
  }
  .portal-player-detail-main { gap: var(--portal-page-padding); }
  .portal-player-info-card { padding: var(--portal-page-padding); gap: var(--portal-page-padding); flex-direction: row; flex-wrap: wrap; align-items: flex-start; }
  .portal-player-number { top: 0.5rem; right: 0.5rem; }
  .portal-player-photo.basketball { width: 6.25rem; height: 10rem; }
  .portal-player-photo.football { width: 5.625rem; height: 7.5rem; }
  .portal-player-info-body { flex: 1; min-width: 10rem; }
  .portal-player-name { font-size: var(--portal-font-content); }
  .portal-player-number-num { font-size: calc(var(--portal-font-block) * 2); }
  .portal-player-stats-box { padding: 0.625rem var(--portal-page-padding); gap: 1rem; flex-wrap: wrap; }
  .portal-player-stats-value { font-size: var(--portal-font-caption); }
  .portal-player-info-grid { grid-template-columns: 1fr; gap: 0.375rem var(--portal-page-padding); }
  .portal-player-info-item { flex-direction: row; align-items: center; gap: 0.25rem; }
  .portal-player-info-label::after { content: "："; }
  .portal-player-data-header { padding: 0.625rem var(--portal-page-padding); flex-direction: column; align-items: stretch; gap: 0.5rem; }
  .portal-player-data-tabs { flex-wrap: wrap; }
  .portal-player-data-tab { padding: 0.375rem var(--portal-page-padding); font-size: var(--portal-font-xs); }
  .portal-player-data-title { font-size: var(--portal-font-caption); }
  .portal-player-data-table { min-width: 37.5rem; font-size: 0.6875rem; }
  .portal-player-data-table th,
  .portal-player-data-table td { padding: 0.375rem 0.25rem; }
  .portal-honour-card { flex: 0 0 5rem; width: 5rem; padding: 0.625rem; }
  .portal-honour-icon { width: 2.25rem; height: 2.25rem; }
  .portal-honour-name { font-size: 0.6875rem; }
  .portal-player-data-empty { min-height: 5rem; height: 5rem; }
  .portal-player-data-empty-inner { min-height: 5rem; height: 5rem; }
  .portal-player-data-empty-icon { font-size: 1.75rem; }
}

.brand-player-detail-page .brand-container {
  width: 100%;
  max-width: var(--brand-layout-content);
  margin-left: auto;
  margin-right: auto;
}
.brand-player-detail-page .brand-main {
  align-items: flex-start;
  gap: var(--brand-space-xl);
}
.brand-player-detail-page .brand-content {
  min-width: 0;
}
.brand-player-detail-page .brand-content > .portal-main {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
.brand-player-detail-page .brand-player-sidebar {
  width: min(var(--brand-layout-sidebar-width), 100%);
  flex-shrink: 0;
  box-sizing: border-box;
}
.brand-player-detail-page .brand-player-sidebar .brand-players-section {
  margin-top: 0;
}
@media (max-width: 60rem) {
  .brand-player-detail-page .brand-main {
    flex-direction: column;
  }
  .brand-player-detail-page .brand-player-sidebar {
    width: 100%;
  }
}

/* ========== 回到顶部（全局，右下固定，static/img/top.png） ========== */
.brand-back-top {
  position: fixed;
  z-index: 9990;
  /* 不用 max(env)：部分环境下整条声明失效会导致 fixed 不占位，按钮跑到页底才看得见 */
  right: var(--brand-back-top-offset-end);
  bottom: var(--brand-back-top-offset-y);
  width: var(--brand-back-top-btn);
  height: var(--brand-back-top-btn);
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.brand-back-top[hidden] {
  display: none !important;
}

.brand-back-top:focus-visible {
  outline: var(--brand-outline-width) solid var(--brand-gold);
  outline-offset: var(--brand-space-2xs);
}

.brand-back-top img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

@media (max-width: 48rem) {
  .brand-back-top {
    width: var(--brand-back-top-btn-sm);
    height: var(--brand-back-top-btn-sm);
    right: var(--brand-space-sm);
    bottom: var(--brand-space-md);
  }
}
