@charset "UTF-8";
/* uni 统一适配层 — 纯 @media 驱动，布局不依赖 JS device 类 */
/* 断点显隐 */
@media screen and (max-width: 1023px), screen and (max-width: 1366px) and (orientation: portrait) {
  .pc-only {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1367px) {
  .wap-only {
    display: none !important;
  }
}
/* 移动端：禁止下拉刷新 / 滚动链式传递 */
@media screen and (max-width: 1023px), screen and (max-width: 1366px) and (orientation: portrait) {
  html,
  body {
    overscroll-behavior: none;
    overscroll-behavior-y: none;
    /* 防止返回页时系统自动调整字号导致「字体被压缩」 */
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  a {
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: transparent;
  }
  a:active {
    background-color: transparent;
  }
}
/* rem fallback（JS adaptive.js 运行时覆盖 inline / computed 值） */
@media screen and (max-width: 1023px), screen and (max-width: 1366px) and (orientation: portrait) {
  html {
    font-size: 13.3333333333vw;
  }
}
@media screen and (min-width: 750px) and (max-width: 1023px), screen and (min-width: 750px) and (max-width: 1366px) and (orientation: portrait) {
  html {
    font-size: 100px;
  }
}
@media screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1367px) {
  html {
    font-size: 5.2083333333vw;
  }
}
@media screen and (min-width: 1920px) {
  html {
    font-size: 100px;
  }
}
/* 跨断点 Swiper 重建时的过渡遮罩 */
html.mode-switching,
html.mode-switching body {
  overflow: hidden;
}

html.mode-switching .main-swiper,
html.mode-switching .site-header {
  -webkit-transition: opacity 0.28s ease;
  transition: opacity 0.28s ease;
  opacity: 0.85;
  pointer-events: none;
}

/* 同模式内 resize：仅过渡布局相关属性，避免 transition:all 卡顿 */
@media screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1367px) {
  .slide-inner,
  .hero-layout,
  .site-header,
  .site-nav a,
  .slide-games .game-grid li,
  .side-nav a,
  .hero-bg-layer .hero-bg {
    -webkit-transition: padding 0.3s ease, max-width 0.3s ease, width 0.3s ease, height 0.3s ease, gap 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
    transition: padding 0.3s ease, max-width 0.3s ease, width 0.3s ease, height 0.3s ease, gap 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
  }
}
@media screen and (max-width: 1023px), screen and (max-width: 1366px) and (orientation: portrait) {
  .site-header,
  .hero-wap-inner,
  .slide-inner,
  .hero-bg-layer .hero-bg {
    -webkit-transition: padding 0.3s ease, max-width 0.3s ease, width 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
    transition: padding 0.3s ease, max-width 0.3s ease, width 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
  }
}
/* PC 多档容器（参考电魂 1422 → 1200 分级） */
@media screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1367px) {
  .slide-inner,
  .slide-games .slide-inner,
  .slide-news .slide-inner,
  .slide-about .slide-inner,
  .slide-contact .slide-inner {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 1600px) and (min-width: 1024px) and (orientation: landscape), screen and (max-width: 1600px) and (min-width: 1367px) {
  .slide-inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .hero-layout {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .site-header {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media screen and (max-width: 1200px) and (min-width: 1024px) and (orientation: landscape), screen and (max-width: 1200px) and (min-width: 1367px) {
  .slide-inner {
    padding-left: 0.6rem;
    padding-right: 0.6rem;
  }
  .hero-layout {
    padding-left: 0.6rem;
    padding-right: 0.6rem;
  }
}
/* ===== WAP 增补布局 ===== */
@media screen and (max-width: 1023px), screen and (max-width: 1366px) and (orientation: portrait) {
  .news-layout {
    display: block;
  }
  .news-banner-wrap {
    width: 100%;
  }
  .news-content {
    width: 100%;
  }
  .news-content .news-tabs {
    display: none;
  }
  .btn-more-link {
    display: none !important;
  }
}
/* ========== reset ========== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  height: 100%;
  overscroll-behavior: none;
}

:root {
  --c-bg-page: #fefeff;
  --c-bg-card: #fff;
  --c-bg-card-soft: rgba(255, 255, 255, 0.82);
  --c-bg-soft: #fefeff;
  --c-text-main: #333;
  --c-text-strong: #444;
  --c-text-sub: #666;
  --c-text-muted: #999;
  --c-line: #ddd;
  --c-line-strong: #dadada;
  --c-accent: #f39800;
  --c-mask: rgba(0, 0, 0, 0.5);
  --c-shadow-card: 0 0.02rem 0.12rem rgba(0, 0, 0, 0.06);
  --c-wap-slide-overlay: transparent;
  --c-wap-history-date-bg: #333;
  --c-wap-hero-overlay-opacity: 0.7;
}

/* 暗色 CSS 变量（PC/WAP 共用）— 改色只动这里 */
:root[data-theme=dark] {
  --c-bg-page: #111416;
  --c-bg-card: #1a1f23;
  --c-bg-card-soft: rgba(26, 31, 35, 0.92);
  --c-bg-soft: #15191c;
  --c-text-main: #f2f4f6;
  --c-text-strong: #e6eaed;
  --c-text-sub: #aeb8bf;
  --c-text-muted: #7f8a92;
  --c-line: rgba(255, 255, 255, 0.14);
  --c-line-strong: rgba(255, 255, 255, 0.18);
  --c-accent: #ffb238;
  --c-mask: rgba(0, 0, 0, 0.72);
  --c-shadow-card: 0 0.08rem 0.24rem rgba(0, 0, 0, 0.3);
  --c-wap-slide-overlay: linear-gradient(
    rgba(10, 12, 14, 0.56),
    rgba(10, 12, 14, 0.56)
  );
  --c-wap-history-date-bg: rgba(15, 18, 20, 0.92);
  --c-wap-hero-overlay-opacity: 0.9;
  color-scheme: dark;
}
:root[data-theme=dark] .contact-tit p::after {
  display: none;
}
:root[data-theme=dark] .contact-tit b,
:root[data-theme=dark] .hero-desc {
  color: var(--c-text-main);
}
:root[data-theme=dark] .contact-tit p {
  opacity: 0.5;
}
:root[data-theme=dark] .page-list .site-header {
  background: var(--c-bg-card);
}
:root[data-theme=dark] .sec-title,
:root[data-theme=dark] .contact-tit {
  opacity: 0.7;
}
:root[data-theme=dark] .sec-title .tit::before {
  opacity: 0.3;
}
:root[data-theme=dark] .areaCoop,
:root[data-theme=dark] .areaCoop li {
  background: #fff;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) {
    --c-bg-page: #111416;
    --c-bg-card: #1a1f23;
    --c-bg-card-soft: rgba(26, 31, 35, 0.92);
    --c-bg-soft: #15191c;
    --c-text-main: #f2f4f6;
    --c-text-strong: #e6eaed;
    --c-text-sub: #aeb8bf;
    --c-text-muted: #7f8a92;
    --c-line: rgba(255, 255, 255, 0.14);
    --c-line-strong: rgba(255, 255, 255, 0.18);
    --c-accent: #ffb238;
    --c-mask: rgba(0, 0, 0, 0.72);
    --c-shadow-card: 0 0.08rem 0.24rem rgba(0, 0, 0, 0.3);
    --c-wap-slide-overlay: linear-gradient(
      rgba(10, 12, 14, 0.56),
      rgba(10, 12, 14, 0.56)
    );
    --c-wap-history-date-bg: rgba(15, 18, 20, 0.92);
    --c-wap-hero-overlay-opacity: 0.9;
    color-scheme: dark;
  }
  :root:not([data-theme=light]) .contact-tit p::after {
    display: none;
  }
  :root:not([data-theme=light]) .contact-tit b,
  :root:not([data-theme=light]) .hero-desc {
    color: var(--c-text-main);
  }
  :root:not([data-theme=light]) .contact-tit p {
    opacity: 0.5;
  }
  :root:not([data-theme=light]) .page-list .site-header {
    background: var(--c-bg-card);
  }
  :root:not([data-theme=light]) .sec-title,
  :root:not([data-theme=light]) .contact-tit {
    opacity: 0.7;
  }
  :root:not([data-theme=light]) .sec-title .tit::before {
    opacity: 0.3;
  }
  :root:not([data-theme=light]) .areaCoop,
  :root:not([data-theme=light]) .areaCoop li {
    background: #fff;
  }
}
body {
  font-family: "PingFang SC", "Microsoft YaHei", sans-serif;
  background: var(--c-bg-page);
  color: var(--c-text-main);
  overflow: hidden;
  height: 100%;
  overscroll-behavior: none;
  -webkit-font-smoothing: antialiased;
}

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

ul,
li {
  list-style: none;
}

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

/* ========== swiper shell ========== */
.main-swiper {
  width: 100%;
  height: 100vh; /* IE11 回退 */
  height: 100dvh;
  height: var(--app-height, 100vh);
  overscroll-behavior: none;
}

.swiper-slide {
  position: relative;
  overflow: hidden;
  overscroll-behavior: none;
}

/* 主屏默认整屏；页脚屏按内容高度，便于贴在上一页底部。
 * slidesPerView:auto 时不能用 height:100%（相对 wrapper 会循环依赖导致高度塌缩全白），
 * 必须用与容器相同的可视高度令牌。 */
.main-swiper > .swiper-wrapper > .swiper-slide {
  height: 100vh;
  height: 100dvh;
  height: var(--app-height, 100vh);
  box-sizing: border-box;
}

.main-swiper > .swiper-wrapper > .swiper-slide.slide-footer {
  height: auto;
  overflow: visible;
}

.slide-footer .site-footer {
  width: 100%;
}

/* ========== scroll tip ========== */
@keyframes scrollBounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(0.08rem);
  }
}
/* ========== hero ========== */
.hero-bg-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: hidden;
}

.hero-bg-layer .hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
  object-fit: cover;
  object-position: center top;
  opacity: 0;
  visibility: hidden;
  z-index: 0;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.hero-bg-layer .hero-bg.active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

.hero-swiper {
  position: relative;
  z-index: 2;
  height: 100%;
  touch-action: manipulation;
  overscroll-behavior-x: contain;
}

.hero-swiper,
.hero-swiper .swiper-slide {
  width: 100%;
  height: 100%;
}

.hero-item {
  position: relative;
}

.hero-icons {
  position: absolute;
  left: 0;
  bottom: 1.72rem;
  display: flex;
  justify-content: space-between;
  /* 高于 hero-swiper(2) 与 slide 内角色/渐变；部分机型从第2页回第1页会丢层级 */
  z-index: 30;
  width: 100%;
  padding: 0 0.5rem;
  box-sizing: border-box;
  pointer-events: auto;
}

.hd-icon {
  display: block;
  width: 1rem;
  height: 1rem;
  border-radius: 0.2rem;
  overflow: hidden;
  border: 0.04rem solid transparent;
  transition: border-color 0.3s;
  position: relative;
}

.hd-icon::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  opacity: 1;
  transition: opacity 0.3s;
}

.hd-icon.active {
  border-color: #ff8004;
  z-index: 1;
}

.hd-icon.active::after {
  opacity: 0;
}

.hd-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-info.info-show {
  opacity: 1;
}

.hero-desc {
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 0.2rem;
  position: relative;
  padding-bottom: 0.12rem;
  width: 100%;
  border-bottom: 1px solid #e4e4e4;
}

.hero-desc::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 0.94rem;
  background: #ff8004;
}

/* ========== section title ========== */
.sec-title {
  display: flex;
  align-items: flex-end;
  position: relative;
  width: 100%;
}

.sec-title .tit {
  position: relative;
  font-weight: bold;
  padding-right: 1rem;
  margin-right: 0.4rem;
  white-space: nowrap;
}

.sec-title .tit::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.08rem;
  background: url(../images/pc/bg-tit.png) repeat-x left bottom/auto 0.08rem;
}

.sec-title .tit p {
  position: relative;
}

.sec-title .tit-en {
  display: block;
  height: 2.08rem;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto 100%;
}

.slide-games .sec-title .tit-en,
.page-list:not(.page-news-list) .sec-title .tit-en {
  width: 7.16rem;
  background-image: url(../images/tit1-en.png);
}

.slide-news .sec-title .tit-en,
.page-news-list .sec-title .tit-en {
  width: 5.73rem;
  background-image: url(../images/tit2-en.png);
}

.slide-about .sec-title .tit-en {
  width: 7.15rem;
  background-image: url(../images/tit3-en.png);
}

.slide-contact .sec-title .tit-en {
  width: 9.58rem;
  background-image: url(../images/tit4-en.png);
}

.sec-title .tit-en.tit-en-show {
  animation: titEnIn 0.8s ease forwards;
}

.sec-title .tit-btn {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: inline-block;
  color: #333;
  background: #fff;
  border: 1px solid #e5e5e5;
  white-space: nowrap;
  font-weight: bold;
  text-align: center;
}

@keyframes titEnIn {
  from {
    opacity: 0;
    transform: translateY(0.4rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ========== games ========== */
.game-grid {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.game-pic {
  border-radius: 0.15rem;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.game-pic img {
  display: block;
  width: 100%;
  height: auto;
}

.game-grid h3 {
  color: #222;
  font-weight: bold;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.game-grid p {
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.news-banner-wrap {
  position: relative;
}

/* ========== news ========== */
.news-tabs {
  display: flex;
  align-items: center;
  position: relative;
}

.news-tabs a.active {
  color: #f39800;
  font-weight: bold;
}

.news-tabs .line,
.about-tabs .line {
  width: 1px;
  background: #ddd;
}

.news-banner {
  border-bottom: 0.06rem solid #ff8004;
  overflow: hidden;
  width: 100%;
  background-size: cover;
  background-position: center;
}

.news-banner-wrap:before {
  content: "";
  position: absolute;
  top: -0.5rem;
  left: 3.3rem;
  display: block;
  width: 3.12rem;
  height: 0.84rem;
  background: url(../images/tit2-en-red.png) no-repeat center/contain;
}

.news-banner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-color: #fff;
}

.tab-con .news-list {
  display: none;
}

.tab-con .news-list.is-active {
  display: block;
}

.news-list {
  position: relative;
}

.news-list li {
  display: block;
}

.news-list .news-link {
  display: flex;
  align-items: center;
  width: 100%;
  color: inherit;
  transition: color 0.2s;
}

.news-list .tag {
  flex-shrink: 0;
  color: var(--c-accent);
}

.news-list .tit {
  flex: 1;
  color: var(--c-text-strong);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;
}

.news-list .date {
  flex-shrink: 0;
  color: var(--c-text-muted);
}

/* ========== about ========== */
.about-panels {
  position: relative;
}

.about-panel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(0.24rem);
  transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.4s;
}

.about-panel.active {
  position: relative;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.about-tabs {
  display: flex;
  align-items: center;
  white-space: nowrap;
  position: relative;
  z-index: 2;
}

.about-tabs a.active {
  background: var(--c-text-main);
  color: var(--c-bg-card);
  border-color: var(--c-text-main);
}

.about-text .highlight,
.history-desc .highlight {
  color: var(--c-accent);
}

.about-text p {
  text-align: justify;
}

.about-stats {
  display: flex;
  justify-content: space-between;
}

.about-stats li {
  text-align: center;
  color: var(--c-text-main);
}

.about-stats strong {
  display: block;
  line-height: 1.2;
}

.about-stats strong em {
  font-style: normal;
}

.about-stats .count-num {
  display: inline-block;
  font-family: Impact, sans-serif;
}

.about-stats span {
  display: block;
}

/* ========== history ========== */
.history-nav {
  display: flex;
  align-items: center;
}

.history-nav .btn-prev,
.history-nav .btn-next {
  border-radius: 50%;
  border: 1px solid #ddd;
  position: relative;
}

.history-nav .btn-prev::after,
.history-nav .btn-next::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  border-left: 2px solid #999;
  border-bottom: 2px solid #999;
}

.history-nav .btn-prev::after {
  transform: translate(-30%, -50%) rotate(45deg);
}

.history-nav .btn-next::after {
  transform: translate(-70%, -50%) rotate(-135deg);
}

.history-date {
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-weight: bold;
}

/* ========== partners ========== */
.areaCoop {
  display: flex;
  flex-wrap: wrap;
}

.areaCoop li {
  display: flex;
  align-items: center;
  justify-content: center;
}

.areaCoop li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.areaCoop li img {
  max-width: 90%;
  object-fit: contain;
  border-radius: 0.15rem;
}

.partners-head p {
  color: #999;
}

.partners-pagination .swiper-pagination-bullet {
  width: 20px;
  height: 8px;
  border-radius: 4px;
  background: #ddd;
  opacity: 1;
  margin: 0 4px !important;
}

.partners-pagination .swiper-pagination-bullet-active {
  background: #ff8004;
}

/* ========== contact / footer ========== */
.slide-contact {
  /* 页脚已独立成屏，联系我们与其它整屏一致，避免 overflow 吞掉 PC 滚轮 */
  overflow: hidden;
}

/* 页脚已独立成屏，联系我们恢复整屏内容区 */
.slide-contact .slide-inner {
  height: 100%;
}

.social-grid {
  display: flex;
  flex-wrap: wrap;
}

.social-grid li {
  box-sizing: border-box;
  text-align: center;
}

.social-grid img {
  margin: 0 auto;
  display: block;
}

.social-grid span {
  display: block;
}

.contact-block {
  color: #333;
}

.contact-tit {
  font-weight: bold;
  position: relative;
}

.contact-tit::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  height: 1px;
  background: #dadada;
}

.contact-tit::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 3px;
  background: #838383;
}

.contact-tit p {
  display: block;
  font-size: 30px;
  position: absolute;
  color: #c6c6c6;
}

.contact-tit p::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, transparent, #fff 94%);
}

.contact-tit b {
  position: relative;
}

/* ========== animate ========== */
.ani {
  animation: fadeInUp 0.8s ease-in-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.page-list {
  min-height: 100vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: none;
  overscroll-behavior-y: none;
}
.page-list .site-header {
  background: #fff;
}
.page-list .game-grid {
  display: flex;
  flex-wrap: wrap;
  /* iOS：避免筛选项显隐时滚动锚定把页面顶一下 */
  overflow-anchor: none;
  /* 只用 opacity，避免 transition 与 keyframes、translateY 叠用在大屏 iPhone 上抖 */
  transition: opacity 0.22s ease;
}
.page-list .game-grid.is-filter-out {
  opacity: 0;
  pointer-events: none;
}
.page-list .data-empty {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  pointer-events: none;
  overflow-anchor: none;
  transition: opacity 0.28s ease, visibility 0.28s ease, max-height 0.32s ease, padding 0.28s ease;
}
.page-list .data-empty.is-show {
  max-height: 6rem;
  opacity: 1;
  visibility: visible;
  padding: 0.72rem 0.4rem 1.04rem;
  pointer-events: auto;
}
.page-list .data-empty.is-filter-out {
  opacity: 0;
}
.page-list .game-grid li.is-more-hidden,
.page-list .game-grid li.is-filter-hidden {
  display: none !important;
}
.page-list .news-grid {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.page-list .news-grid li.is-more-hidden,
.page-list .news-grid li.is-filter-hidden {
  display: none !important;
}
.page-list .site-header .site-nav a.active {
  color: #ff8004;
}
.page-list .site-header .site-nav a.active::after {
  width: 100%;
}
.page-list .btn-top {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s, visibility 0.3s;
}
.page-list .btn-top.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.list-inner {
  height: auto !important;
  overflow-x: hidden;
  overflow-y: visible !important;
  padding-bottom: 1rem !important;
  padding-top: 1.5rem !important;
  min-height: 100vh;
}

.list-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 0.3rem;
}

.list-head .sec-title {
  margin-bottom: 0;
}

.game-filter {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 0.32rem;
}

.game-filter-label {
  font-size: 0.16rem;
  color: #333;
  margin-right: 0.16rem;
  flex-shrink: 0;
}

.game-filter-tabs {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

/* 抵消 swiper.min.css 默认 width/height:100%，避免首屏 tabs 高度/换行跳动 */
.game-filter-tabs .swiper-wrapper {
  width: auto;
  height: auto;
}

.game-filter-tabs .swiper-slide {
  width: auto;
  height: auto;
}

.game-filter-tabs a {
  display: inline-block;
  height: 0.36rem;
  line-height: 0.34rem;
  padding: 0 0.2rem;
  margin: 0.06rem 0.12rem 0.06rem 0;
  border: 1px solid #e5e5e5;
  border-radius: 0.18rem;
  font-size: 0.14rem;
  color: #666;
  background: #fff;
  transition: all 0.3s;
  white-space: nowrap;
}

.game-filter-tabs a:hover,
.game-filter-tabs a.active {
  border-color: #ff8004;
  color: #ff8004;
}

.data-empty-icon {
  display: block;
  width: 1.28rem;
  height: 1.28rem;
  margin: 0 auto 0.28rem;
  border: 0.02rem dashed #e0e0e0;
  border-radius: 0.2rem;
  background: linear-gradient(#f0f0f0, #f0f0f0) center/0.56rem 0.04rem no-repeat, linear-gradient(#f0f0f0, #f0f0f0) center/0.04rem 0.56rem no-repeat;
  position: relative;
}
.data-empty-icon::after {
  content: "";
  position: absolute;
  right: -0.06rem;
  bottom: -0.06rem;
  width: 0.28rem;
  height: 0.28rem;
  border-radius: 50%;
  background: #fff8ee;
  border: 0.02rem solid #ffd8aa;
  box-sizing: border-box;
}

.data-empty-text {
  font-size: 0.18rem;
  color: #666;
  line-height: 1.5;
}

.data-empty-tip {
  margin-top: 0.08rem;
  font-size: 0.14rem;
  color: #999;
  line-height: 1.5;
}

.list-more,
.game-list-more {
  text-align: center;
  padding: 0.4rem 0 0.2rem;
}

.list-more .btn-more,
.game-list-more .btn-more {
  min-width: 2.4rem;
}

.news-card {
  display: block;
  color: inherit;
  background: #fff;
  border-radius: 0.16rem;
  overflow: hidden;
  box-shadow: 0 0.02rem 0.12rem rgba(0, 0, 0, 0.06);
  transition: transform 0.3s, box-shadow 0.3s;
}

.news-card:hover {
  transform: translateY(-0.04rem);
  box-shadow: 0 0.08rem 0.24rem rgba(0, 0, 0, 0.1);
}

.news-pic {
  overflow: hidden;
}

.news-pic img {
  display: block;
  width: 100%;
  height: auto;
}

.news-tit {
  margin: 0;
  padding: 0.12rem 0.12rem 0;
  margin-bottom: 0.08rem;
  font-size: 0.16rem;
  line-height: 1.5;
  color: #333;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.news-date {
  display: flex;
  align-items: center;
  padding: 0 0.12rem 0.16rem;
  font-size: 0.14rem;
  color: #999;
}

.icon-date {
  display: inline-block;
  width: 0.14rem;
  height: 0.14rem;
  margin-right: 0.06rem;
  flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Ccircle cx='7' cy='7' r='6' fill='none' stroke='%23999' stroke-width='1'/%3E%3Cpath d='M7 3.5V7l2.2 1.4' fill='none' stroke='%23999' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/contain;
}

.btn-back {
  display: inline-block;
  min-width: 0.88rem;
  height: 0.4rem;
  line-height: 0.38rem;
  text-align: center;
  border: 1px solid #ddd;
  border-radius: 0.2rem;
  font-size: 0.16rem;
  color: #666;
  background: #fff;
  transition: all 0.3s;
  flex-shrink: 0;
  margin-top: 0.12rem;
}

.btn-back:hover {
  border-color: #ff8004;
  color: #ff8004;
}

.site-footer {
  background: #1a1a1a;
}

.foot-links span {
  color: #666;
}

.foot-inner {
  padding-bottom: 0.3rem;
  color: #dbdbdb;
}

.foot-copy {
  border-top: 1px solid #303030;
  color: #7e7e7e;
  padding-top: 0.3rem;
}

.site-footer a:hover {
  color: #ff8004;
}

.foot-warn .wen {
  display: inline-block;
  vertical-align: top;
  margin-top: 7px;
}

/*复制按钮*/
.btn-copy-qq {
  margin-left: 8px;
  padding: 0 8px;
  height: 22px;
  border: 1px solid #ff8004;
  border-radius: 14px;
  background: #fff;
  color: #ff8004;
  font-size: 12px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-copy-qq:hover {
  background: #fff8ee;
}

.btn-copy-qq.is-copied {
  border-color: #2ebd85;
  color: #2ebd85;
}

/* ===== WAP：窄屏，或平板竖屏（≤1366） ===== */
@media screen and (max-width: 1023px), screen and (max-width: 1366px) and (orientation: portrait) {
  body {
    background-attachment: fixed;
  }
  html * {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    tap-highlight-color: rgba(0, 0, 0, 0);
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    outline-color: transparent;
    outline-style: solid;
  }
  /*
   * WAP 高度令牌：
   * - --wap-h 用 JS 实测 --app-height（adaptive 已对地址栏抖动做滞回）
   * - 用 clamp 卡死上下限，避免比例高度在临界点来回跳导致抽搐
   * - 短屏再用固定 rem 覆盖这些变量
   */
  html {
    --wap-h: var(--app-height, 100vh);
    --wap-game-pic-h: clamp(0.9rem, calc(var(--wap-h) * 0.145), 1.6rem);
    --wap-news-banner-h: clamp(2.2rem, calc(var(--wap-h) * 0.34), 3.2rem);
    --wap-about-banner-h: clamp(2.2rem, calc(var(--wap-h) * 0.2), 4.6rem);
    --wap-history-pic-h: clamp(2.4rem, calc(var(--wap-h) * 0.42), 4.6rem);
    --wap-coop-row-h: clamp(0.9rem, calc(var(--wap-h) * 0.12), 1.4rem);
  }
  /* header */
  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 101;
    display: flex;
    align-items: center;
    padding: 0 0.3rem;
    height: 1.2rem;
    background: var(--c-bg-card);
    border-bottom: 1px solid #f2f2f2;
  }
  .site-header .logo {
    width: 1.8rem;
    height: 0.61rem;
    background: url(../images/wap/icon-logo.png?v=20260810) no-repeat center/100% auto;
    overflow: hidden;
    line-height: 99;
  }
  .site-header .btn {
    position: absolute;
    right: 0.3rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0.66rem;
    height: 0.66rem;
  }
  .site-header .btn-menu {
    background: url(../images/wap/icon-menu.png) no-repeat center/contain;
  }
  .site-header .btn-close {
    background: url(../images/wap/icon-menu-close.png) no-repeat center/0.3rem auto var(--c-bg-card);
    border-radius: 0.1rem;
    display: none;
  }
  .site-header.header-light {
    background: none;
    border-bottom: none;
  }
  .site-header.header-light .logo {
    background-image: url(../images/wap/icon-logo-light.png);
  }
  /* .site-header.header-light .logo img,
  .site-header.header-light .btn-menu img {
    filter: brightness(0) invert(1);
  } */
  /* menu overlay */
  .menu-mask {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--c-mask);
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
  }
  .menu-mask.show {
    opacity: 1;
    visibility: visible;
  }
  .site-menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 5.4rem;
    height: 100%;
    background: var(--c-bg-card);
    z-index: 100;
    transform: translateX(100%);
    transition: transform 0.3s ease;
  }
  .site-menu.show {
    transform: translateX(0);
  }
  .menu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.24rem 0.3rem 0;
    height: 1rem;
  }
  .menu-header .logo img {
    width: 1.65rem;
  }
  .menu-list {
    padding: 0 0.6rem;
    text-align: center;
  }
  .menu-list li {
    position: relative;
    height: 1rem;
    padding-top: 0.48rem;
    margin-bottom: 0.12rem;
    font-size: 0;
  }
  .menu-list li a {
    font-size: 0.32rem;
    color: var(--c-text-main);
    line-height: 0.48rem;
  }
  .menu-list li.active a {
    color: var(--c-accent);
    font-weight: bold;
  }
  .menu-list li.active::after {
    content: "";
    display: block;
    width: 0.32rem;
    height: 0.12rem;
    margin: 0.08rem auto 0;
    background: url(../images/wap/icon-menu-cur.png) no-repeat center/contain;
  }
  /* main swiper */
  .slide-inner {
    position: relative;
    width: 100%;
    height: 100%;
    /* 父级 swiper-slide 已是可视高度，勿再用 80vh 撑高，短机会多出滚动/裁切 */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    scrollbar-width: none;
    background: url(../images/wap/bg-bottom.png) center bottom/100% auto no-repeat, url(../images/bg-top.png) right 0.3rem/1.38rem auto no-repeat, var(--c-bg-page) url(../images/wap/bg-body.png) no-repeat center top/0.1rem auto;
    overflow-x: hidden;
    padding: 1.5rem 0.52rem 0;
    box-sizing: border-box;
  }
  .slide-contact .slide-inner {
    background: url(../images/bg-top.png) right 0.3rem/1.38rem auto no-repeat, var(--c-bg-page) url(../images/wap/bg-body.png) no-repeat center top/0.1rem auto;
  }
  .slide-inner::-webkit-scrollbar {
    display: none;
  }
  /* scroll tip */
  .scroll-tip {
    position: absolute;
    bottom: 0.12rem;
    left: 50%;
    margin-left: -0.345rem;
    z-index: 10;
    background: url(../images/wap/icon-scroll.png) no-repeat center/contain;
    width: 0.69rem;
    height: 0.53rem;
    animation: scrollBounce 1.5s infinite;
  }
  .slide-home .scroll-tip span {
    color: rgba(255, 255, 255, 0.6);
  }
  /* ===== home hero ===== */
  .slide-home {
    background: #000;
    position: relative;
    /* 锁定首屏堆叠上下文，避免 fade/translate3d 在部分 WebKit 上把 icons 压乱 */
    isolation: isolate;
    z-index: 0;
  }
  .slide-home .site-header {
    z-index: 20;
  }
  .hero-icons {
    touch-action: manipulation;
    /* 独立合成层，从第 2 页回第 1 页时不被角色/渐变盖住 */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  .hero-swiper {
    touch-action: pan-y;
  }
  .history-swiper,
  .history-years,
  .partners-swiper,
  .news-banner-swiper {
    touch-action: manipulation;
    overscroll-behavior-x: contain;
  }
  .partners-swiper .swiper-slide {
    overflow: visible;
  }
  .partners-pagination {
    margin-top: 0.5rem;
  }
  .partners-pagination .swiper-pagination-bullet {
    width: 0.2rem;
    height: 0.08rem;
    border-radius: 0.04rem;
    opacity: 1;
    margin: 0 0.04rem !important;
  }
  .partners-pagination .swiper-pagination-bullet-active {
    width: 0.4rem;
  }
  .hero-bg-layer .hero-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }
  .hero-bg-layer::after {
    content: "";
    display: block;
    width: 0.1rem;
    height: 4.95rem;
    background: url(../images/wap/hd-left-en.png) no-repeat center/contain;
    position: absolute;
    top: 50%;
    left: 0.2rem;
    transform: translateY(-50%);
    z-index: 1;
  }
  .hero-item {
    overflow: visible;
  }
  .hero-item::before {
    content: "";
    display: block;
    width: 100%;
    height: 6rem;
    background: linear-gradient(to top, rgb(0, 0, 0) 60%, transparent);
    position: absolute;
    opacity: var(--c-wap-hero-overlay-opacity);
    bottom: 0;
    left: 0;
    z-index: 2;
    pointer-events: none;
  }
  .hero-item .hero-en {
    position: absolute;
    bottom: 0;
    right: 0;
    width: auto;
    height: 1.34rem;
    pointer-events: none;
  }
  .hero-role {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    margin-top: 10vh;
    max-height: 100%;
    object-fit: cover;
    object-position: center top;
    pointer-events: none;
    opacity: 0;
    transform: translateX(-50%) translateY(calc(-50% + 0.3rem));
    transition: opacity 0.35s ease-out, transform 0.35s ease-out;
  }
  .hero-role.role-ready {
    opacity: 1;
    transform: translateX(-50%) translateY(-50%);
  }
  .hero-left-en {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0.24rem;
    z-index: 5;
    pointer-events: none;
  }
  .hero-info {
    position: absolute;
    left: 0;
    bottom: 3.15rem;
    z-index: 6;
    opacity: 0;
    width: 100%;
    padding: 0 0.5rem;
    visibility: hidden;
    transform: translateY(0.12rem);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  }
  .hero-info.info-show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  .hero-title {
    font-size: 0.48rem;
    color: #fff;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 0.4rem;
  }
  .hero-desc {
    font-size: 0.3rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  }
  .hero-desc::after {
    height: 0.05rem;
    display: none;
  }
  .btn-web {
    position: absolute;
    right: 0.5rem;
    top: 0.05rem;
    background: url(../images/wap/btn-web.png) no-repeat center/contain;
    width: 1.69rem;
    height: 0.51rem;
    font-size: 0.24rem;
    color: #fff;
    text-align: center;
    line-height: 0.51rem;
    padding-right: 0.2rem;
    box-sizing: border-box;
  }
  /* ===== section title ===== */
  .sec-title {
    margin-bottom: 0.4rem;
    position: relative;
  }
  .sec-title .tit {
    font-size: 0.6rem;
    font-weight: bold;
    background-size: auto 0.1rem;
  }
  .sec-title .tit p {
    font-size: 0.18rem;
    font-weight: bold;
  }
  .sec-title .tit-en {
    position: absolute;
    top: 1.25rem;
    left: 2.4rem;
    opacity: 0;
    transform: translateY(0.6rem);
  }
  .sec-title .tit-btn {
    padding: 0.17rem 0.24rem;
    font-size: 0.24rem;
    border-radius: 0.6rem;
    backdrop-filter: blur(0.12rem);
  }
  .slide-about .tit-en {
    top: 2.3rem;
  }
  /* ===== games section ===== */
  .slide-games {
    /* IE11 不支持 clamp；现代浏览器在 @supports 中覆盖 */
    --home-game-pic-height: 1.35rem;
  }
  .slide-games .sec-head {
    margin-bottom: 0.4rem;
  }
  .slide-games .sec-head .sec-title {
    margin-bottom: 0;
  }
  @supports (height: clamp(1px, 2px, 3px)) {
    .slide-games {
      --home-game-pic-height: clamp(
        0.9rem,
        var(--wap-game-pic-h),
        1.85rem
      );
    }
  }
  .game-grid {
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .game-grid li {
    width: calc(50% - 0.15rem);
    margin-bottom: 0.3rem;
    box-sizing: border-box;
  }
  .game-grid .game-pic {
    margin-bottom: 0.12rem;
  }
  .game-grid .game-pic img {
    height: 1.35rem;
    height: var(--wap-game-pic-h);
    object-fit: cover;
  }
  .game-grid h3 {
    font-size: 0.26rem;
    margin-bottom: 0.06rem;
    color: var(--c-text-main);
  }
  .game-grid p {
    font-size: 0.2rem;
    color: var(--c-text-sub);
  }
  .game-tags {
    white-space: nowrap;
    overflow-x: auto;
    margin-top: 0.12rem;
    cursor: pointer;
  }
  .game-tags span {
    margin: 0 0.12rem 0 0;
  }
  .game-tags span {
    padding: 0.03rem 0.1rem;
    background: rgba(0, 0, 0, 0.06);
    border-radius: 0.04rem;
    font-size: 0.2rem;
    color: #666;
    line-height: 1.4;
    display: inline-block;
  }
  .game-grid .game-icon {
    display: none;
  }
  .slide-games .btn-more {
    margin-top: 0.3rem;
  }
  .btn-more,
  .btn-back {
    display: block;
    width: 3.6rem;
    height: 0.64rem;
    line-height: 0.64rem;
    text-align: center;
    margin: 0.2rem auto 0;
    border: 1px solid var(--c-line);
    border-radius: 0.32rem;
    font-size: 0.24rem;
    color: var(--c-text-sub);
    background: var(--c-bg-card-soft);
    backdrop-filter: blur(0.12rem);
  }
  /* ===== news section ===== */
  .news-tabs {
    margin-bottom: 0.24rem;
  }
  .news-tabs a {
    font-size: 0.26rem;
    color: var(--c-text-main);
    padding: 0 0.1rem;
  }
  .news-tabs .line {
    height: 0.2rem;
    margin: 0 0.1rem;
  }
  .news-banner {
    border-radius: 0 0 0.8rem 0;
    border-bottom-width: 0.1rem;
    height: 2.8rem;
    height: var(--wap-news-banner-h);
  }
  .news-banner-wrap:before {
    content: "";
    position: absolute;
    top: -0.5rem;
    left: 3.3rem;
    display: block;
    width: 3.12rem;
    height: 0.84rem;
  }
  .main-swiper .swiper-pagination {
    font-size: 0;
    text-align: center;
    height: 0.1rem;
    position: relative;
  }
  .news-banner-pagination {
    position: relative !important;
    bottom: auto !important;
    margin: 0.16rem 0 0.24rem;
    text-align: left;
  }
  .news-banner-pagination .swiper-pagination-bullet {
    width: 0.2rem;
    height: 0.08rem;
    background: var(--c-line);
    opacity: 1;
    margin: 0 0.04rem !important;
    border-radius: 0.08rem;
  }
  .news-banner-pagination .swiper-pagination-bullet-active {
    width: 0.5rem;
    border-radius: 0.04rem;
    background: var(--c-accent);
  }
  .news-list li {
    padding: 0.18rem 0;
    border-bottom: 1px solid var(--c-line-strong);
    font-size: 0.26rem;
  }
  .news-list .tag {
    margin: 0 0.12rem;
  }
  .news-list .date {
    margin-left: 0.12rem;
  }
  .slide-news .list-more {
    padding: 0.16rem 0 0.08rem;
  }
  /* ===== about section ===== */
  .about-tabs {
    width: 100%;
    justify-content: center;
    margin-bottom: 0.3rem;
  }
  .about-tabs a:not(:last-of-type) {
    margin-right: 0.16rem;
  }
  .about-tabs a {
    display: inline-block;
    padding: 0.09rem 0.24rem;
    font-size: 0.26rem;
    border: 1px solid var(--c-text-main);
    border-radius: 0.3rem;
    color: var(--c-text-main);
    white-space: nowrap;
    flex: 1;
    text-align: center;
    transition: color 0.3s ease, background 0.3s ease, border-color 0.3s ease;
  }
  .about-banner {
    border-radius: 0.16rem;
    overflow: hidden;
    margin-bottom: 0.24rem;
    margin-left: -0.3rem;
  }
  .about-banner img {
    max-height: 4.8rem;
    max-height: var(--wap-about-banner-h);
    object-fit: cover;
    max-height: auto !important;
  }
  .about-text p {
    font-size: 0.24rem;
    line-height: 1.8;
    margin-bottom: 0.16rem;
    color: var(--c-text-sub);
  }
  .about-stats {
    margin-top: 0.3rem;
    padding: 0.2rem 0;
  }
  .about-stats strong {
    font-size: 0.4rem;
  }
  .about-stats strong em {
    font-size: 0.28rem;
    margin-left: 0.1rem;
    font-family: "Microsoft YaHei";
    font-weight: normal;
  }
  .about-stats .count-num {
    min-width: 0.5rem;
    font-size: 0.6rem;
  }
  .about-stats span {
    font-size: 0.22rem;
    margin-top: 0.06rem;
    background-color: var(--c-bg-page);
  }
  /* history */
  .history-swiper {
    /* position: relative;
    left: -0.5rem;
    right: -0.5rem; */
    margin: 0 -0.5rem;
  }
  .history-swiper .swiper-slide .history-pic {
    --history-min-scale: 0.758;
    --history-scale: var(--history-min-scale);
    width: 5.86rem;
    height: 3.3rem;
    max-height: 3.3rem;
    object-fit: cover;
    /* border-radius: 0.12rem; */
    background-size: cover;
    background-position: center;
    margin: 0 auto;
    box-shadow: 0.1rem 0.1rem #ebebeb;
    position: relative;
    filter: grayscale(70%);
    transform: scale(var(--history-scale));
    transform-origin: center center;
    will-change: transform, filter;
  }
  .history-swiper .swiper-slide .history-pic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .history-swiper .swiper-slide-active .history-pic {
    filter: grayscale(0%);
    height: calc(100vh - 8rem);
  }
  .history-swiper .swiper-slide-active .history-info {
    display: flex;
  }
  .history-swiper .swiper-slide-active .history-date {
    display: block;
  }
  .history-date {
    display: none;
    padding: 0.06rem 0.16rem;
    background: var(--c-wap-history-date-bg);
    color: #fff;
    font-size: 0.18rem;
    border-radius: 0.04rem;
    margin-bottom: 0.12rem;
    position: absolute;
    left: -0.1rem;
    bottom: -0.3rem;
    z-index: 1;
    font-weight: bold;
  }
  .history-info {
    height: 2rem;
    align-items: center;
    display: flex;
    text-align: center;
    display: none;
  }
  .history-tit {
    display: none;
  }
  .history-date b {
    font-size: 0.4rem;
    margin-right: 0.1rem;
  }
  .history-desc {
    font-size: 0.26rem;
    color: var(--c-text-main);
    line-height: 1.6;
    text-align: center;
    padding: 0 0.2rem;
    display: block;
    margin: 0 auto;
  }
  .history-nav {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin-top: 0.2rem;
  }
  .history-nav .btn-prev {
    margin-right: 0.2rem;
  }
  .history-nav .btn-next {
    margin-left: 0.2rem;
  }
  .history-nav .btn-prev,
  .history-nav .btn-next {
    width: 0.48rem;
    height: 0.48rem;
    border-radius: 50%;
    border: 1px solid var(--c-line);
    position: relative;
  }
  .history-nav .btn-prev::after,
  .history-nav .btn-next::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.1rem;
    height: 0.1rem;
    border-left: 2px solid var(--c-text-muted);
    border-bottom: 2px solid var(--c-text-muted);
  }
  .history-nav .btn-prev::after {
    transform: translate(-30%, -50%) rotate(45deg);
  }
  .history-nav .btn-next::after {
    transform: translate(-70%, -50%) rotate(-135deg);
  }
  .history-years {
    height: 1.25rem;
    position: relative;
    flex: 1;
    text-align: center;
  }
  .history-years::before {
    content: "";
    position: absolute;
    top: 0.24rem;
    left: 0.12rem;
    right: 0.12rem;
    height: 1px;
    background: var(--c-line);
  }
  .history-year-item {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    cursor: pointer;
    margin: 0 auto;
    min-width: 0.88rem;
    padding-top: 0.34rem;
  }
  .history-year-item strong {
    font-size: 0.36rem;
    line-height: 1;
    color: var(--c-text-sub);
    font-weight: 700;
  }
  .history-year-item em {
    margin-top: 0.12rem;
    min-width: 0.74rem;
    padding: 0.04rem 0.08rem;
    border: 1px solid var(--c-line);
    border-radius: 0.04rem;
    background: var(--c-bg-card-soft);
    font-size: 0.22rem;
    line-height: 1;
    color: var(--c-text-muted);
    font-style: normal;
    backdrop-filter: blur(0.12rem);
  }
  .history-year-item.active strong {
    color: var(--c-text-main);
  }
  .history-year-item.active::before {
    content: "";
    position: absolute;
    top: 0.24rem;
    left: 50%;
    transform: translateX(-50%);
    width: 0.4rem;
    height: 0.04rem;
    background: var(--c-accent);
    border-radius: 0.02rem;
  }
  /* partners */
  .areaCoop {
    justify-content: space-between;
  }
  .areaCoop li {
    width: calc(50% - 0.1rem);
    height: 1.2rem;
    height: var(--wap-coop-row-h);
    min-height: 0.8rem;
    max-height: 1.6rem;
    background: var(--c-bg-card-soft);
    border-radius: 0.15rem;
    box-shadow: var(--c-shadow-card);
    backdrop-filter: blur(0.12rem);
    flex: 0 0 calc(50% - 0.1rem);
    margin-bottom: 0.15rem;
  }
  .areaCoop li:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
  .areaCoop li img {
    max-height: 0.6rem;
  }
  /* ===== contact section ===== */
  .social-grid {
    margin-bottom: 0.8rem;
    position: relative;
  }
  .social-grid li {
    width: calc((100% - 0.4rem) / 3);
    margin-right: 0.2rem;
    margin-bottom: 0.25rem;
  }
  .social-grid li:nth-child(3n) {
    margin-right: 0;
  }
  .social-grid img {
    width: 1.5rem;
    height: 1.5rem;
    margin-bottom: 0.1rem;
    border-radius: 0.16rem;
  }
  .social-grid span {
    font-size: 0.24rem;
    color: var(--c-text-sub);
  }
  .social-grid li .qr {
    display: none;
  }
  .contact-block {
    margin-bottom: 0.5rem;
  }
  .contact-tit {
    margin-bottom: 0.3rem;
    height: 0.8rem;
  }
  .contact-tit img {
    width: 6.49rem;
  }
  .contact-tit p {
    font-size: 0.32rem;
    color: var(--c-text-sub);
  }
  .contact-tit b {
    font-size: 0.32rem;
    top: 0.18rem;
    color: var(--c-text-main);
  }
  .contact-text {
    font-size: 0.26rem;
    color: var(--c-text-sub);
  }
  .btn-top {
    position: fixed;
    right: 0.3rem;
    bottom: 1.8rem;
    z-index: 102;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s, visibility 0.3s;
  }
  .btn-top.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .btn-top img {
    width: 0.54rem;
  }
  .site-footer {
    padding: 0.4rem 0.3rem 0.3rem;
    text-align: center;
  }
  .foot-logo {
    margin-bottom: 0.3rem;
    background: url(../images/wap/icon-logo-foot.png) no-repeat center/contain;
    width: 1.65rem;
    height: 0.56rem;
    display: block;
    margin: 0.3rem auto;
  }
  .foot-inner {
    padding-bottom: 0.3rem;
  }
  .foot-links {
    font-size: 0.2rem;
    line-height: 1.6;
    color: var(--c-text-muted);
  }
  .foot-links a {
    display: inline-block;
  }
  .foot-warn p {
    font-size: 0.2rem;
    line-height: 1.6;
    color: var(--c-text-muted);
  }
  .foot-warn p a {
    display: inline-block;
  }
  .foot-warn .wen {
    width: 0.3rem;
    height: 0.3rem;
    display: inline-block;
    vertical-align: top;
    margin-top: 0.02rem;
  }
  .foot-copy {
    margin-top: 0.2rem;
  }
  .foot-copy p {
    font-size: 0.18rem;
    line-height: 1.2;
    color: var(--c-text-sub);
  }
  /* ===== WAP dark theme =====
   * 颜色变量统一维护在 _base.scss（:root[data-theme="dark"] / prefers-color-scheme）
   * 这里只放 WAP 专属覆盖：logo、背景图、透明度等
   * 新增暗色差异时请写进 @mixin wap-dark-theme，两处入口会自动同步
   */
  :root[data-theme=dark] {
    /* 共用：sec-title 透明度 / contact-tit / page-list header 已在 _base theme-dark-tokens */
  }
  :root[data-theme=dark] .site-header .logo {
    background-image: url(../images/wap/icon-logo-light.png);
  }
  :root[data-theme=dark] .slide-inner {
    background: var(--c-bg-page) url(../images/wap/bg-body.png) no-repeat center top/0.1rem auto;
  }
  :root[data-theme=dark] .site-header {
    border-color: #999;
  }
  :root[data-theme=dark] .game-filter-panel.is-expanded {
    background: var(--c-bg-card);
  }
  :root[data-theme=dark] .game-filter-tabs {
    opacity: 0.9;
  }
  :root[data-theme=dark] .hero-bg-layer {
    background: url(../images/pc/bg-left-hd-dark.png) left bottom/auto 10.34rem no-repeat, url(../images/wap/bg-top.png) right 0/1.38rem auto no-repeat, var(--c-bg-page) url(../images/pc/bg-body.png) no-repeat center top/1920px auto;
  }
}
@media screen and (max-width: 1023px) and (prefers-color-scheme: dark), screen and (max-width: 1366px) and (orientation: portrait) and (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) {
    /* 共用：sec-title 透明度 / contact-tit / page-list header 已在 _base theme-dark-tokens */
  }
  :root:not([data-theme=light]) .site-header .logo {
    background-image: url(../images/wap/icon-logo-light.png);
  }
  :root:not([data-theme=light]) .slide-inner {
    background: var(--c-bg-page) url(../images/wap/bg-body.png) no-repeat center top/0.1rem auto;
  }
  :root:not([data-theme=light]) .site-header {
    border-color: #999;
  }
  :root:not([data-theme=light]) .game-filter-panel.is-expanded {
    background: var(--c-bg-card);
  }
  :root:not([data-theme=light]) .game-filter-tabs {
    opacity: 0.9;
  }
  :root:not([data-theme=light]) .hero-bg-layer {
    background: url(../images/pc/bg-left-hd-dark.png) left bottom/auto 10.34rem no-repeat, url(../images/wap/bg-top.png) right 0/1.38rem auto no-repeat, var(--c-bg-page) url(../images/pc/bg-body.png) no-repeat center top/1920px auto;
  }
}
@media screen and (max-width: 1023px), screen and (max-width: 1366px) and (orientation: portrait) {
  .slide-contact {
    overflow: hidden;
    overscroll-behavior-y: contain;
  }
  .slide-contact .slide-inner {
    /* 页脚独立成屏后，联系我们恢复整屏高度；内容过长时在 inner 内滚 */
    height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    scrollbar-width: none;
  }
  .slide-contact .slide-inner::-webkit-scrollbar {
    display: none;
  }
}
@media screen and (max-width: 1023px), screen and (max-width: 1366px) and (orientation: portrait) {
  /* ===== portrait tablet compaction (iPad / iPad Pro 竖屏等) ===== */
}
@media screen and (max-width: 1023px) and (min-width: 744px) and (max-width: 1366px) and (orientation: portrait), screen and (max-width: 1366px) and (orientation: portrait) and (min-width: 744px) and (max-width: 1366px) and (orientation: portrait) {
  html {
    --wap-game-pic-h: clamp(0.9rem,calc((var(--wap-h) - 7.2rem) / 3),1.85rem);
    --wap-news-banner-h: clamp(2.4rem, calc(var(--wap-h) - 8rem), 3.4rem);
    --wap-about-banner-h: clamp(2rem, calc(var(--wap-h) - 8.5rem), 4.6rem);
    --wap-coop-row-h: clamp(0.9rem, calc((var(--wap-h) - 6rem) / 5), 1.4rem);
  }
  .site-header {
    padding: 0 0.18rem;
  }
  .site-header .btn {
    right: 0.18rem;
    width: 0.5rem;
    height: 0.5rem;
  }
  .main-swiper > .swiper-wrapper > .swiper-slide:not(.slide-home) > .slide-inner {
    padding: 1.35rem 0.42rem 0.18rem;
  }
  .hero-info {
    bottom: 2.45rem;
    padding: 0 0.42rem;
  }
  .hero-title {
    font-size: 0.42rem;
    margin-bottom: 0.26rem;
  }
  .hero-desc {
    font-size: 0.26rem;
    margin-bottom: 0.14rem;
  }
  .btn-web {
    right: 0.42rem;
    top: 0;
  }
  .hero-icons {
    bottom: 1.16rem;
    padding: 0 0.42rem;
  }
  .hd-icon {
    width: 0.84rem;
    height: 0.84rem;
  }
  .scroll-tip {
    bottom: 0.08rem;
    transform: scale(0.9);
    transform-origin: center bottom;
  }
  .sec-title {
    margin-bottom: 0.3rem;
  }
  .sec-title .tit {
    font-size: 0.4rem;
  }
  .sec-title .tit-en {
    top: 1.05rem;
    left: 2.1rem;
  }
  .slide-games .game-grid li {
    margin-bottom: 0.16rem;
  }
  .slide-games .game-grid .game-pic img {
    max-height: 1.4rem;
  }
  .slide-news .news-banner {
    max-height: 3.4rem;
  }
  .slide-news .news-banner-pagination {
    margin-top: 0.1rem;
    margin-bottom: 0.12rem;
  }
  .slide-news .news-list li {
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
  }
  .slide-news .list-more {
    padding-top: 0.06rem;
  }
  .slide-about .about-tabs {
    margin-bottom: 0.24rem;
  }
  .slide-about .about-banner img {
    width: auto;
    object-fit: cover;
  }
  .slide-about .about-text p {
    font-size: 0.22rem;
    line-height: 1.5;
    margin-bottom: 0.1rem;
  }
  .slide-about .about-stats {
    margin-top: 0.12rem;
    padding: 0.08rem 0;
  }
  .slide-about .about-stats .count-num {
    font-size: 0.5rem;
  }
  .areaCoop li {
    margin-bottom: 0.14rem;
  }
  .social-grid img {
    width: 1rem;
    height: 1rem;
  }
  .contact-block {
    margin-bottom: 0.24rem;
  }
  .contact-tit {
    height: 0.64rem;
    margin-bottom: 0.16rem;
  }
  .site-footer {
    padding-top: 0.26rem;
    padding-bottom: 0.22rem;
  }
  .page-list .game-filter {
    margin-bottom: 0.2rem;
  }
  .game-list-page {
    overflow: hidden;
  }
  .page-list .game-grid li {
    margin-bottom: 0.18rem;
  }
  .page-list .game-grid .game-pic img {
    height: 1.25rem;
    min-height: 0;
    object-fit: cover;
  }
}
@media screen and (max-width: 1023px), screen and (max-width: 1366px) and (orientation: portrait) {
  /*
   * 短屏压缩：避开 iPhone 12 等机型地址栏显隐时在 ~700–840 之间抖动的临界带。
   * 仅在明确偏矮（≤700）时启用，减少 max-height 媒体查询来回切换。
   */
}
@media screen and (max-width: 1023px) and (max-height: 700px), screen and (max-width: 1366px) and (orientation: portrait) and (max-height: 700px) {
  html {
    --wap-game-pic-h: 1.7rem;
    --wap-news-banner-h: 3rem;
    --wap-about-banner-h: 4.3rem;
    --wap-history-pic-h: 3.2rem;
    --wap-coop-row-h: 1.2rem;
  }
  .main-swiper > .swiper-wrapper > .swiper-slide:not(.slide-home) > .slide-inner {
    padding-top: 1.45rem;
    padding-bottom: 0.25rem;
  }
  .sec-title {
    margin-bottom: 0.38rem;
  }
  .sec-title .tit {
    font-size: 0.52rem;
  }
  .slide-games .game-grid {
    padding-bottom: 0.2rem;
  }
  .slide-games .game-grid li {
    margin-bottom: 0.12rem;
  }
  .slide-games .game-grid .game-pic img {
    min-height: 0.9rem;
    max-height: 1.6rem;
    object-fit: cover;
  }
  .slide-games .btn-more,
  .slide-news .btn-more {
    margin-top: 0.1rem;
  }
  .slide-news .news-banner-pagination {
    margin-top: 0.08rem;
    margin-bottom: 0.08rem;
  }
  .slide-news .list-more {
    padding: 0.08rem 0 0;
  }
  .slide-about .about-tabs {
    margin-bottom: 0.3rem;
  }
  .slide-about .about-banner img {
    width: auto;
    object-fit: cover;
  }
  .slide-about .about-text p {
    line-height: 1.55;
    margin-bottom: 0.1rem;
  }
  .slide-about .about-stats {
    margin-top: 0.15rem;
    padding: 0.1rem 0;
  }
  .history-info {
    height: 1.8rem;
  }
  .social-grid img {
    width: 1.15rem;
    height: 1.15rem;
  }
  .contact-block {
    margin-bottom: 0.3rem;
  }
  .site-footer {
    padding-top: 0.28rem;
    padding-bottom: 0.22rem;
  }
  .foot-logo,
  .foot-links {
    margin-bottom: 0.18rem;
  }
}
@media screen and (max-width: 1023px), screen and (max-width: 1366px) and (orientation: portrait) {
  /* 明确很矮的机型/横屏；阈值 620 远离常见地址栏抖动带 */
}
@media screen and (max-width: 1023px) and (max-height: 620px), screen and (max-width: 1366px) and (orientation: portrait) and (max-height: 620px) {
  html {
    --wap-game-pic-h: 1.25rem;
    --wap-news-banner-h: 2.6rem;
    --wap-about-banner-h: 2.6rem;
    --wap-history-pic-h: 2.6rem;
    --wap-coop-row-h: 0.95rem;
  }
  .main-swiper > .swiper-wrapper > .swiper-slide:not(.slide-home) > .slide-inner {
    padding: 1.35rem 0.42rem 0.18rem;
  }
  .sec-title {
    margin-bottom: 0.24rem;
  }
  .sec-title .tit {
    font-size: 0.46rem;
  }
  .sec-title .tit-en {
    display: none;
  }
  .slide-games .game-grid h3 {
    font-size: 0.23rem;
  }
  .slide-games .game-grid p {
    font-size: 0.18rem;
  }
  .slide-news .news-banner-pagination {
    margin-top: 0.06rem;
    margin-bottom: 0.06rem;
  }
  .slide-news .news-list li {
    padding-top: 0.08rem;
    padding-bottom: 0.08rem;
  }
  .slide-news .list-more {
    padding-top: 0.04rem;
  }
  .slide-about .about-tabs {
    margin-bottom: 0.2rem;
  }
  .slide-about .about-text p {
    font-size: 0.21rem;
    line-height: 1.45;
  }
  .slide-about .about-stats .count-num {
    font-size: 0.48rem;
  }
  .history-swiper .swiper-slide .history-pic {
    --history-min-scale: 0.833;
  }
  .history-info {
    height: 1.3rem;
  }
  .history-desc {
    font-size: 0.22rem;
    line-height: 1.4;
  }
  .history-years {
    height: 0.9rem;
  }
  .history-year-item {
    min-width: 0.78rem;
    padding-top: 0.3rem;
  }
  .history-year-item strong {
    font-size: 0.24rem;
  }
  .history-year-item em {
    min-width: 0.62rem;
    margin-top: 0.1rem;
    padding: 0.03rem 0.06rem;
    font-size: 0.16rem;
  }
  .areaCoop li:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
  .social-grid {
    margin-bottom: 0.24rem;
  }
  .social-grid li {
    width: calc((100% - 0.28rem) / 3);
    margin-right: 0.14rem;
    margin-bottom: 0.12rem;
  }
  .social-grid li:nth-child(3n) {
    margin-right: 0;
  }
  .social-grid img {
    width: 0.9rem;
    height: 0.9rem;
  }
  .contact-tit {
    height: 0.65rem;
    margin-bottom: 0.18rem;
  }
}
@media screen and (max-width: 1023px), screen and (max-width: 1366px) and (orientation: portrait) {
  /* ===== game list page ===== */
  .list-head {
    margin-bottom: 0.28rem;
  }
  .list-head .sec-title {
    width: auto;
  }
  .list-head .btn-back {
    width: 1.5rem;
    margin: 0;
  }
  .game-list-page, .news-list-page {
    overflow: hidden;
    position: relative;
  }
  /* 占位槽：展开时 panel 变 fixed，用高度锁住下方列表位置 */
  .game-filter-slot {
    display: flow-root;
  }
  .game-filter-panel {
    position: relative;
  }
  .game-filter {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    margin-bottom: 0.32rem;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }
  .game-filter-label {
    width: auto;
    font-size: 0.26rem;
    margin: 0 0.12rem 0 0;
  }
  .game-filter-tabs {
    flex: 1;
    min-width: 0;
    margin-right: 0.12rem;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    /* 锁单行高度，避免 swiper 默认样式或换行造成首屏垂直跳动 */
    height: 0.56rem;
  }
  .game-filter-tabs::-webkit-scrollbar {
    display: none;
  }
  .game-filter-tabs .swiper-wrapper {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    align-content: flex-start;
    width: auto;
    height: 100%;
  }
  .game-filter-tabs .swiper-slide {
    width: auto;
    height: auto;
    margin: 0 0.12rem 0 0;
    flex-shrink: 0;
  }
  .game-filter-tabs .swiper-slide:last-child {
    margin-right: 0;
  }
  .game-filter-tabs a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0.92rem;
    height: 0.56rem;
    line-height: 1;
    padding: 0 0.22rem;
    font-size: 0.24rem;
    font-weight: 500;
    border-radius: 0.28rem;
    margin: 0;
    border: 1px solid #d0d0d0;
    color: #333;
    background: #fff;
    white-space: nowrap;
  }
  .game-filter-tabs a.active {
    border-color: #f39800;
    color: #f39800;
    background: #fff;
  }
  .game-filter-toggle {
    position: relative;
    flex-shrink: 0;
    top: auto;
    right: auto;
    width: 0.56rem;
    height: 0.56rem;
    border: 1px solid #d0d0d0;
    border-radius: 0.12rem;
    background: #fff;
    pointer-events: auto;
    cursor: pointer;
    z-index: 2;
  }
  .game-filter-toggle::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0.14rem;
    height: 0.14rem;
    border-right: 2px solid #666;
    border-bottom: 2px solid #666;
    transform: translate(-50%, -68%) rotate(45deg);
  }
  /* 收起：保持单行（默认即单行，类名用于 JS 状态） */
  .game-filter.is-collapsed .game-filter-tabs {
    overflow-x: auto;
    overflow-y: hidden;
  }
  /* 展开：外层成为固定白色面板，标题与分类原始位置保持不变 */
  .game-filter-panel.is-expanded {
    position: fixed;
    top: 1.2rem;
    left: 0;
    right: 0;
    z-index: 31;
    width: 100%;
    padding: 0.3rem 0.52rem 0.28rem;
    border-radius: 0 0 0.32rem 0.32rem;
    background: #fff;
    box-shadow: 0 0.08rem 0.32rem rgba(0, 0, 0, 0.12);
  }
  .game-filter.is-expanded {
    z-index: 1;
  }
  .game-filter-panel.is-expanded .tit-en,
  .game-filter-panel.is-expanded .tit-btn {
    display: none;
  }
  .game-filter.is-expanded .game-filter-tabs {
    margin-right: 0;
    overflow: visible;
    height: auto;
  }
  .game-filter.is-expanded .game-filter-tabs .swiper-wrapper {
    flex-wrap: wrap;
    width: 100%;
    height: auto;
    align-content: flex-start;
  }
  .game-filter.is-expanded .game-filter-tabs .swiper-slide {
    margin: 0 0.12rem 0.12rem 0;
  }
  .game-filter.is-expanded .game-filter-toggle {
    z-index: 2;
  }
  .game-filter.is-expanded .game-filter-toggle::before {
    transform: translate(-50%, -32%) rotate(225deg);
  }
  .game-filter-mask {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    z-index: 30;
    background: var(--c-mask);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
  }
  .game-filter-mask.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  body.game-filter-open {
    overflow: hidden;
  }
  .page-list .game-grid {
    justify-content: space-between;
  }
  .page-list .game-grid li {
    width: calc(50% - 0.15rem);
    margin-right: 0;
    margin-bottom: 0.3rem;
    border-radius: 0.12rem;
    overflow: hidden;
  }
  .page-list .game-grid .game-pic {
    margin-bottom: 0.12rem;
  }
  .page-list .game-grid .game-pic img {
    width: 100%;
    min-height: 1.8rem;
    object-fit: cover;
  }
  .page-list .game-grid h3 {
    font-size: 0.26rem;
    padding: 0 0.12rem;
    margin-bottom: 0.06rem;
  }
  .page-list .game-grid p {
    font-size: 0.2rem;
    padding: 0 0.12rem 0.16rem;
    color: #999;
  }
  .page-list .data-empty.is-show {
    max-height: 8rem;
    padding: 1rem 0.52rem 1.6rem;
  }
  .page-list .data-empty-icon {
    display: block;
    width: 1.6rem;
    height: 1.6rem;
    margin-bottom: 0.32rem;
    border-radius: 0.24rem;
    background-size: 0.72rem 0.05rem, 0.05rem 0.72rem;
  }
  .page-list .data-empty-icon::after {
    width: 0.36rem;
    height: 0.36rem;
  }
  .page-list .data-empty-text {
    font-size: 0.28rem;
  }
  .page-list .data-empty-tip {
    margin-top: 0.12rem;
    font-size: 0.24rem;
  }
  .game-list-more {
    padding: 0.2rem 0 0.4rem;
  }
  .game-list-more .btn-more {
    display: block;
    width: 100%;
    font-size: 0.26rem;
    padding: 0.18rem 0;
    text-align: center;
  }
  /* ===== news list page ===== */
  .page-news-list .list-head-news {
    flex-wrap: wrap;
    align-items: flex-start;
    margin-bottom: 0.24rem;
  }
  .page-news-list .list-head-main {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
  }
  .page-news-list .news-list-tabs {
    margin: 0.2rem 0 0;
  }
  .page-news-list .news-list-tabs a {
    font-size: 0.28rem;
    font-weight: bold;
    color: #333;
    padding: 0 0.12rem;
  }
  .page-news-list .news-list-tabs a.active {
    color: #f39800;
  }
  .page-news-list .news-list-tabs .line {
    height: 0.22rem;
    margin: 0 0.04rem;
  }
  .page-news-list .news-grid {
    display: block;
  }
  .page-news-list .news-grid li {
    width: 100%;
    margin: 0 0 0.24rem;
  }
  .page-news-list .news-card {
    /* IE11 无 gap/完整 Grid，改用 flex */
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 0.2rem;
    box-shadow: 0 0.02rem 0.08rem rgba(0, 0, 0, 0.06);
    position: relative;
  }
  .page-news-list .news-card:hover {
    transform: none;
    box-shadow: 0 0.02rem 0.08rem rgba(0, 0, 0, 0.06);
  }
  .page-news-list .news-pic {
    width: 2.64rem;
    margin-right: 0.2rem;
    flex-shrink: 0;
    border-radius: 0.08rem;
    overflow: hidden;
  }
  .page-news-list .news-pic img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 1.48rem;
    /* IE11 无 aspect-ratio / object-fit */
    object-fit: cover;
  }
  .page-news-list .news-tit {
    flex: 1 1 0%;
    min-width: 0;
    margin: 0;
    padding: 0;
    font-size: 0.28rem;
    font-weight: bold;
    line-height: 1.45;
    color: #333;
  }
  .page-news-list .news-date {
    width: 100%;
    box-sizing: border-box;
    padding: 0.1rem 0 0 2.84rem;
    font-size: 0.22rem;
    color: #999;
    position: absolute;
    bottom: 0.2rem;
  }
  .page-news-list .icon-date {
    width: 0.22rem;
    height: 0.22rem;
    margin-right: 0.08rem;
  }
  /* ===== 预约弹窗（WAP） ===== */
  body.yy-pop-open {
    overflow: hidden;
  }
  .yy-popups {
    display: none;
    position: fixed;
    z-index: 10000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .yy-pop-mask {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.55);
  }
  .diaArea {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    width: 6.4rem;
    max-height: 90vh;
    max-height: calc(var(--app-height, 100vh) * 0.9);
    overflow: auto;
    background: #fff;
    border-radius: 0.2rem;
    z-index: 1;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-overflow-scrolling: touch;
  }
  .diaArea .inner {
    padding: 0.48rem 0.4rem 0.56rem;
    font-size: 0.28rem;
    line-height: 1.7;
    color: #666;
  }
  .diaArea .dia-hide {
    background: url(../images/pc/dia-hide.png) no-repeat center/0.21rem 0.21rem;
    width: 0.5rem;
    height: 0.5rem;
    overflow: hidden;
    line-height: 99;
    position: absolute;
    right: 0.08rem;
    top: 0.08rem;
    z-index: 2;
  }
  .diaArea .dia-tit {
    font-size: 0.4rem;
    text-align: center;
    line-height: 1.4;
    color: #333;
    font-weight: bold;
    padding: 0 0.5rem;
  }
  .diaArea .tac {
    text-align: center;
  }
  .diaArea .dia-f14 {
    font-size: 0.26rem;
    margin-top: 0.2rem;
  }
  .diaArea .dia-f14 span {
    color: #ff8004;
  }
  .diaArea .dia-f14 a {
    color: #ff8004;
    text-decoration: underline;
  }
  .diaArea .dia-btn {
    overflow: hidden;
    text-align: center;
    font-size: 0;
    line-height: 0;
    margin-top: 0.2rem;
  }
  .diaArea .dia-btn a {
    display: inline-block;
    vertical-align: top;
    width: 2.7rem;
    height: 0.8rem;
    text-align: center;
    line-height: 0.8rem;
    font-size: 0.3rem;
    color: #fff;
    border-radius: 0.4rem;
    margin: 0.2rem 0.12rem 0;
  }
  .diaArea .dia-btn a .icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    vertical-align: middle;
    margin: -4px 2px 0 0;
    background: url(../images/pc/item.png) no-repeat;
  }
  .diaArea .dia-btn a.btnG {
    background: #71c202;
  }
  .diaArea .dia-btn a.btnY {
    background: #ff8004;
  }
  .diaArea .dia-btn2 a {
    float: none;
    width: 3.2rem;
  }
  .diaArea .downGame {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.28rem;
    font-size: 0.3rem;
    color: #333;
  }
  .diaArea .downGame img {
    width: 0.88rem;
    height: 0.88rem;
    border-radius: 0.18rem;
    margin-right: 0.16rem;
  }
  .diaArea .icon.down-az {
    background-position: -65px 0;
  }
  .diaArea .icon.down-ip {
    background-position: -85px 0;
  }
  .bindTip {
    font-size: 0.24rem;
    color: #b1b1b1;
    margin-top: 0.2rem;
  }
  .bindTip img {
    display: inline-block;
    width: 0.32rem;
    height: 0.32rem;
    vertical-align: middle;
    margin: -0.04rem 0.12rem 0;
  }
  .bindForm .label {
    height: 0.84rem;
    border: 1px solid #efefef;
    border-radius: 0.08rem;
    margin-top: 0.28rem;
    position: relative;
    overflow: hidden;
  }
  .bindForm .label input {
    background: none;
    border: none;
    height: 0.84rem;
    padding: 0 0.24rem;
    font-size: 0.28rem;
    box-sizing: border-box;
    width: 100%;
    -webkit-appearance: none;
  }
  .bindForm .label input:focus-visible {
    outline: none;
  }
  .bindForm .label.msg input {
    width: 100%;
    padding-right: 2.2rem;
  }
  .bindForm .label.msg span {
    position: absolute;
    right: 0;
    top: 0;
    height: 0.84rem;
    line-height: 0.84rem;
    padding: 0 0.24rem;
    color: #527cb7;
    font-size: 0.26rem;
    cursor: pointer;
  }
  .bindForm .label.msg span.dis {
    color: #999;
  }
  .bindForm .label.phone .phoneCode {
    float: left;
    width: 1.1rem;
    height: 0.84rem;
    position: relative;
  }
  .bindForm .label.phone .phoneCode .code {
    display: block;
    line-height: 0.84rem;
    text-align: center;
    padding: 0 0.12rem;
    font-size: 0.28rem;
  }
  .bindForm .label.phone input {
    width: calc(100% - 1.1rem);
    float: left;
  }
  .bindForm .btn a {
    display: block;
    background: #73c404;
    height: 0.88rem;
    text-align: center;
    line-height: 0.88rem;
    font-size: 0.32rem;
    color: #fff;
    border-radius: 0.44rem;
    margin: 0.36rem auto 0;
  }
  .bindForm .btn a.lk {
    background: none;
    height: 0.6rem;
    line-height: 0.6rem;
    color: #ff8004;
    text-decoration: underline;
  }
  .msg-toast {
    display: none;
    padding: 0.2rem 0.36rem;
    font-size: 0.28rem;
    line-height: 1.5;
    color: #fff;
    background: rgba(0, 0, 0, 0.75);
    border-radius: 0.12rem;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100001;
    min-width: 2.4rem;
    max-width: 6rem;
    text-align: center;
    pointer-events: none;
    box-sizing: border-box;
  }
  .msg-toast.is-show {
    display: block;
  }
  /* 手机矮横屏：推荐竖屏浏览 */
  .orient-tip {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.4rem;
    background: rgba(0, 0, 0, 0.9);
    color: #fff;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
  }
  .orient-tip.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .orient-tip-inner {
    max-width: 5.6rem;
  }
  .orient-tip-icon {
    display: block;
    width: 0.72rem;
    height: 1.1rem;
    margin: 0 auto 0.28rem;
    border: 0.04rem solid rgba(255, 255, 255, 0.9);
    border-radius: 0.12rem;
    position: relative;
    transform: rotate(90deg);
  }
  .orient-tip-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0.08rem;
    width: 0.16rem;
    height: 0.16rem;
    margin-left: -0.08rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
  }
  .orient-tip p {
    margin: 0;
    font-size: 0.28rem;
    line-height: 1.6;
    color: #fff;
  }
  body.orient-tip-open {
    overflow: hidden;
  }
  .mouToast {
    width: 100%;
    line-height: 0.36rem;
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 3000;
    display: box;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-flex-direction: row;
    -moz-box-orient: horizontal;
    -moz-box-direction: normal;
    -ms-flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow: hidden;
  }
  .mouToast .toastFlex {
    background: rgba(0, 0, 0, 0.7);
    min-width: 2.2rem;
    max-width: 5.2rem;
    margin: 0 auto;
    padding: 0.12rem 0.25rem;
    color: #eeece9;
    text-align: center;
    font-size: 0.26rem;
    border-radius: 0.08rem;
  }
}
/* ===== PC：横屏且 ≥1024，或宽度 ≥1367 ===== */
@media screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1367px) {
  body {
    /* 仅在 PC 媒体条件下生效；避免竖屏平板被锁死 min-width */
    min-width: 1024px;
    font-size: 14px;
    overflow: hidden;
    background: #fefeff;
  }
  .side-nav {
    position: fixed;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 102;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .side-nav > * + * {
    margin-top: 0.2rem;
  }
  .side-nav a {
    border-radius: 50%;
    transition: all 0.3s;
    border: 2px solid transparent;
    box-sizing: content-box;
    padding: 3px;
  }
  .side-nav a.active {
    border-color: #ff8004;
  }
  .side-nav a::before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    background: #19191a;
    border-radius: 50%;
    margin: 0 auto;
  }
  .side-nav a.active::before {
    background: #ff8004;
  }
  /* header */
  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 101;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0.9rem;
    height: 1rem;
    background: var(--c-bg-page);
    border-bottom: 1px solid #f5f5f6;
  }
  .site-header.header-light {
    background: none;
    border-bottom: none;
  }
  .site-header .logo {
    width: 165px;
    height: 56px;
    background: url(../images/pc/icon-logo.png) no-repeat center;
    background-size: contain;
    flex-shrink: 0;
    overflow: hidden;
    line-height: 99;
    cursor: default;
  }
  .site-nav {
    display: flex;
    align-items: center;
  }
  .site-nav > * + * {
    margin-left: 0.3rem;
  }
  .site-nav a {
    font-size: 18px;
    color: #333;
    padding: 0.08rem 0.12rem;
    position: relative;
    transition: color 0.3s;
  }
  .site-nav a:hover {
    color: #ff8004;
  }
  .site-nav a.active {
    color: #ff8004;
    font-weight: bold;
  }
  .site-nav a.active::after {
    content: "";
    position: absolute;
    bottom: -0.04rem;
    left: 50%;
    transform: translateX(-50%);
    width: 0.32rem;
    height: 0.12rem;
    background: url(../images/pc/icon-menu-cur.png) no-repeat center/contain;
  }
  .site-header.header-light .site-nav a {
    color: #fff;
  }
  .site-header.header-light .site-nav a:hover {
    color: #ff8004;
  }
  .site-header.header-light .site-nav a.active {
    color: #fff;
  }
  .site-header.header-light .site-nav a.active::after {
    filter: brightness(0) invert(1);
  }
  /* main swiper */
  .slide-inner {
    position: relative;
    height: 100%;
    padding: 1.6rem 2rem 0;
    overflow-y: auto;
    overflow-x: hidden;
    background: url(../images/pc/bg-left.png) left bottom/auto 6.35rem no-repeat, url(../images/bg-top.png) right 0/1.38rem auto no-repeat, #fefeff url(../images/pc/bg-body.png) repeat center bottom/100px auto;
  }
  /* scroll tip */
  .scroll-tip {
    position: absolute;
    bottom: 0.3rem;
    right: 1rem;
    z-index: 10;
    width: 0.8rem;
    height: 0.6rem;
    background: url(../images/pc/icon-scroll.png) no-repeat center/contain;
    animation: scrollBounce 1.5s infinite;
  }
  /* ===== home hero ===== */
  .slide-home {
    /* background: #000; */
  }
  .hero-bg-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
    padding: 0;
    background: url(../images/pc/bg-left-hd.png) left bottom/auto 10.34rem no-repeat, url(../images/wap/bg-top.png) right 0/1.38rem auto no-repeat, #fefeff url(../images/pc/bg-body.png) no-repeat center top/1920px auto;
  }
  .hero-bg-layer .hero-bg {
    left: auto;
    right: -10px;
    width: 10.1rem;
    height: auto;
    object-fit: contain;
    object-position: top right;
    backface-visibility: hidden;
  }
  .hero-logo,
  .hero-right,
  .hero-em {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .hero-item::before {
    display: none;
  }
  .hero-layout {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 1.6rem 2.4rem;
    margin: 0 auto;
  }
  .hero-left {
    flex: 0 0 40%;
    z-index: 3;
  }
  .hero-right {
    height: calc(100vh - 1rem);
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: flex-end;
    padding-right: 1.5rem;
  }
  .hero-role {
    display: inline-block;
    vertical-align: bottom;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center bottom;
    opacity: 0;
    transform: translateX(0.5rem);
    transition: opacity 0.4s ease, transform 0.4s ease;
    z-index: 1;
  }
  .hero-role.role-show {
    opacity: 1;
    transform: translateX(0);
  }
  .hero-em {
    position: absolute;
    bottom: 0;
    right: 0;
    width: auto;
    max-height: 365px;
    height: auto;
    max-height: 60%;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.4s ease 0.2s;
  }
  .hero-em.em-show {
    opacity: 1;
    z-index: 1;
  }
  .hero-info {
    opacity: 0;
    transform: translateY(0.2rem);
    transition: opacity 0.4s ease, transform 0.4s ease;
  }
  .hero-info.info-show {
    opacity: 1;
    transform: translateY(0);
  }
  .hero-logo {
    width: auto;
    height: 150px;
    margin-bottom: 0.3rem;
    margin-top: -260px;
  }
  .hero-desc {
    font-size: 24px;
    color: #333;
    line-height: 30px;
    padding-bottom: 20px;
    font-weight: bold;
  }
  .hero-desc::after {
    width: 152px;
    height: 2px;
  }
  .hero-desc::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    background: url(../images/pc/hd-tit-icon.png) no-repeat center/contain;
    flex-shrink: 0;
    margin-right: 0.1rem;
    vertical-align: top;
  }
  .hero-detail {
    font-size: 16px;
    /* color: rgba(255, 255, 255, 0.75); */
    line-height: 1.8;
    margin-bottom: 0.3rem;
  }
  .btn-web {
    display: block;
    width: 165px;
    height: 51px;
    background: url(../images/pc/btn-web.png) no-repeat center/contain;
    font-size: 20px;
    color: #fff;
    text-align: center;
    line-height: 51px;
    padding-right: 20px;
    box-sizing: border-box;
  }
  .hero-icons {
    justify-content: flex-start;
    left: 2.4rem;
    top: 50%;
    /* translate3d 保垂直偏移，同时固定合成层，避免回切第一页时被角色盖住 */
    transform: translate3d(0, 100px, 0);
    z-index: 30;
    padding-left: 0;
  }
  .hero-icons .hd-icon + .hd-icon {
    margin-left: 0.16rem;
  }
  .hd-icon {
    width: 100px;
    height: 100px;
    border-radius: 20px;
    border-width: 3px;
    overflow: hidden;
    border-color: #fff;
    border-width: 3px;
  }
  .hd-icon img {
    position: absolute;
    display: block;
    object-fit: cover;
  }
  .hd-icon::after {
    display: none;
  }
  .hd-icon:hover {
    top: -5px;
  }
  .hero-pagination {
    position: absolute;
    top: 148px;
    left: 470px;
    display: flex;
    align-items: center;
    z-index: 10;
  }
  .hero-pagination > * + * {
    margin-left: 0.16rem;
  }
  .hero-pagination .page-num {
    width: 70px;
    height: 70px;
    line-height: 120px;
    font-size: 16px;
    color: #b5b9ca;
    font-weight: normal;
    text-align: end;
    display: block;
    position: relative;
  }
  .hero-pagination .page-num em {
    font-style: normal;
    color: #ff8004;
    position: absolute;
    top: 0;
    left: 0;
    line-height: 24px;
  }
  .hero-pagination .page-num::after {
    content: "";
    position: absolute;
    top: -10px;
    left: 50%;
    width: 1px;
    height: 90px;
    background: #b5b9ca;
    transform: rotate(45deg);
  }
  .hero-pagination .btn-prev,
  .hero-pagination .btn-next {
    width: 70px;
    height: 70px;
    position: relative;
    transition: background 0.3s;
    background: rgba(0, 0, 0, 0.1);
  }
  .hero-pagination .btn-prev:hover,
  .hero-pagination .btn-next:hover {
    background: rgba(0, 0, 0, 0.5);
  }
  .hero-pagination .btn-prev::after,
  .hero-pagination .btn-next::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 15px;
    height: 15px;
    border-left: 5px solid rgba(255, 255, 255, 0.8);
    border-bottom: 5px solid rgba(255, 255, 255, 0.8);
  }
  .hero-pagination .btn-prev::after {
    transform: translate(-30%, -50%) rotate(45deg);
  }
  .hero-pagination .btn-next::after {
    transform: translate(-70%, -50%) rotate(-135deg);
  }
  /* ===== section title ===== */
  .sec-title {
    position: relative;
    margin-bottom: 0.4rem;
  }
  .sec-title .tit {
    font-size: 40px;
    background-size: auto 8px;
    padding-right: 1.5rem;
  }
  .list-inner .sec-title .tit {
    padding-right: 1rem;
  }
  .sec-title .tit p {
    font-size: 12px;
    line-height: 8px;
    font-weight: bold;
  }
  .sec-title .tit-en {
    max-width: none;
    position: absolute;
    top: -0.5rem;
    left: -0.6rem;
    opacity: 0;
    transform: translateY(0.4rem);
  }
  .sec-title .tit-btn {
    font-size: 16px;
    width: 103px;
    border-width: 2px;
    border-radius: 50px;
    line-height: 50px;
  }
  .sec-title .tit-btn:hover {
    border-color: #ff8004;
    color: #ff8004;
  }
  .sec-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 0.3rem;
  }
  .sec-head .sec-title {
    margin-bottom: 0;
  }
  /* ===== games section ===== */
  .game-grid {
    z-index: 1;
    position: relative;
    margin-left: -0.24rem;
  }
  .game-grid li {
    width: calc((100% - 1rem) / 4);
    margin-left: 0.24rem;
    margin-bottom: 0.24rem;
    box-sizing: border-box;
    background: #fff;
    border-radius: 0.16rem;
    overflow: visible;
    box-shadow: 0 0.02rem 0.12rem rgba(0, 0, 0, 0.06);
    transition: transform 0.3s, box-shadow 0.3s;
    cursor: pointer;
  }
  .game-grid li.is-hover {
    z-index: 50;
    box-shadow: 0 0.08rem 0.24rem rgba(0, 0, 0, 0.12);
  }
  .game-pic {
    border-radius: 0.16rem 0.16rem 0 0;
    overflow: hidden;
  }
  /* ===== game hover pop（参考 TapTap pc-game-card） ===== */
  .game-hover-pop {
    display: block;
    position: fixed;
    z-index: 300;
    width: 3.6rem;
    background: #fff;
    border-radius: 0.16rem;
    box-shadow: 0 0.04rem 0.2rem rgba(0, 0, 0, 0.08);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(0, 0.1rem, 0) scale(0.96);
    transform-origin: top center;
    /* 收起：略快、带 ease-in，visibility 延迟到淡出后再隐藏 */
    transition: opacity 0.2s cubic-bezier(0.4, 0, 0.75, 0.45), visibility 0s linear 0.2s, transform 0.24s cubic-bezier(0.4, 0, 0.65, 0.55), box-shadow 0.2s cubic-bezier(0.4, 0, 0.75, 0.45);
  }
  .game-hover-pop.is-show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0) scale(1);
    box-shadow: 0 0.12rem 0.48rem rgba(0, 0, 0, 0.18);
    z-index: 301;
    will-change: opacity, transform;
    /* 展开：稍慢、带 ease-out */
    transition: opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0s, transform 0.34s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.28s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .game-hover-link {
    cursor: pointer;
  }
  .game-hover-media {
    position: relative;
    height: 2.02rem;
    background: #111;
    overflow: hidden;
  }
  .game-hover-loading {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.28);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
  }
  .game-hover-loading::after {
    content: "";
    width: 0.32rem;
    height: 0.32rem;
    border: 2px solid rgba(255, 255, 255, 0.25);
    border-top-color: #fff;
    border-radius: 50%;
    animation: gameHoverSpin 0.75s linear infinite;
  }
  .game-hover-media.is-loading .game-hover-loading {
    opacity: 1;
    visibility: visible;
  }
  .game-hover-media.is-loading .game-hover-poster {
    animation: gameHoverPosterPulse 1.4s ease-in-out infinite;
  }
  .game-hover-media.is-video-fallback .game-hover-loading {
    opacity: 0;
    visibility: hidden;
  }
  .game-hover-media.is-video-fallback .game-hover-poster {
    opacity: 1;
    animation: none;
  }
  .game-hover-media.is-video-fallback .game-hover-video {
    opacity: 0;
  }
  @keyframes gameHoverSpin {
    to {
      transform: rotate(360deg);
    }
  }
  @keyframes gameHoverPosterPulse {
    0%, 100% {
      opacity: 1;
    }
    50% {
      opacity: 0.82;
    }
  }
  .game-hover-video,
  .game-hover-poster {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.45s ease;
  }
  .game-hover-video {
    opacity: 0;
    z-index: 1;
  }
  .game-hover-poster {
    z-index: 0;
  }
  .game-hover-video.is-playing {
    opacity: 1;
  }
  .game-hover-video.is-playing + .game-hover-poster {
    opacity: 0;
  }
  .game-hover-icon {
    position: absolute;
    top: 0.12rem;
    left: 0.12rem;
    width: 0.48rem;
    height: 0.48rem;
    border-radius: 0.1rem;
    z-index: 2;
    box-shadow: 0 0.02rem 0.08rem rgba(0, 0, 0, 0.2);
  }
  .game-hover-body {
    padding: 0.2rem 0.2rem 0.24rem;
  }
  .game-hover-title {
    font-size: 20px;
    font-weight: bold;
    color: #222;
    margin-bottom: 0.1rem;
    line-height: 1.3;
  }
  .game-hover-desc {
    font-size: 14px;
    color: #999;
    line-height: 1.45;
    margin-bottom: 0.12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .game-hover-desc em {
    color: #666;
    font-style: normal;
  }
  .game-hover-tags {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0.04rem;
    cursor: pointer;
  }
  .game-hover-tags span {
    margin: 0 0.08rem 0.08rem 0;
  }
  .game-hover-tags span {
    padding: 0.03rem 0.1rem;
    background: rgba(0, 0, 0, 0.06);
    border-radius: 0.04rem;
    font-size: 14px;
    color: #666;
    line-height: 1.4;
  }
  .game-hover-qq {
    font-size: 12px;
    color: #666;
    margin-bottom: 0.16rem;
    line-height: 1.6;
  }
  .game-hover-qq .qq-num {
    color: #333;
  }
  .game-hover-btns {
    display: flex;
  }
  .game-hover-btns .btn-dl + .btn-dl {
    margin-left: 0.12rem;
  }
  .btn-dl {
    flex: 1;
    display: block;
    height: 0.4rem;
    line-height: 0.4rem;
    border-radius: 0.2rem;
    font-size: 13px;
    color: #fff;
    text-align: center;
    transition: opacity 0.2s;
    background: #65af42;
  }
  .btn-dl:hover {
    opacity: 0.88;
  }
  .btn-dl-android::before,
  .btn-dl-ios::before {
    content: "";
    display: inline-block;
    width: 0.2rem;
    height: 0.22rem;
    background: no-repeat center/auto 0.22rem;
    vertical-align: top;
    margin-top: 0.06rem;
    margin-right: 0.06rem;
  }
  .btn-dl-android::before {
    background-image: url(../images/pc/icon-android.png);
  }
  .btn-dl-ios {
    background: #557c94;
  }
  .btn-dl-ios::before {
    background-image: url(../images/pc/icon-ios.png);
  }
  .btn-dl-yy {
    background: #ff8004;
    display: flex;
    line-height: 0.16rem;
    justify-content: center;
    flex-direction: column;
  }
  .btn-dl-yy span {
    font-size: 0.12rem;
  }
  .game-info {
    display: flex;
    align-items: center;
    padding: 0.16rem 0.14rem;
    border-radius: 0.16rem;
    margin-top: -0.12rem;
    position: relative;
    z-index: 1;
    background: url(../images/pc/bg-game-info.png) no-repeat center/100% 100%;
  }
  .game-info .game-icon {
    margin-right: 0.12rem;
  }
  .game-icon {
    width: 0.48rem;
    height: 0.48rem;
    border-radius: 0.1rem;
    flex-shrink: 0;
    object-fit: cover;
  }
  .game-text {
    flex: 1;
    min-width: 0;
  }
  .game-text h3 {
    font-size: 0.18rem;
    margin-bottom: 0.04rem;
    display: block;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
  }
  .btn-more {
    display: inline-block;
    padding: 8px 24px;
    border: 2px solid #ddd;
    border-radius: 39px;
    font-size: 16px;
    color: #666;
    transition: all 0.3s;
    font-weight: bold;
  }
  .btn-more:hover {
    border-color: #ff8004;
    color: #ff8004;
  }
  .list-more {
    text-align: center;
  }
  /* ===== news section ===== */
  .news-layout {
    display: flex;
    align-items: flex-start;
  }
  .news-layout .news-content {
    margin-left: 0.5rem;
  }
  .news-banner {
    border-radius: 0 0 2rem 0;
    border-width: 0.1rem;
    height: 4.5rem;
    cursor: pointer;
  }
  .news-banner-wrap {
    min-width: 0;
    width: 8rem;
    height: 4.5rem;
  }
  .news-banner-wrap:before {
    left: 0.5rem;
  }
  .news-banner-swiper {
    padding-bottom: 0.36rem;
  }
  .news-banner img {
    width: 100%;
    height: 100%;
    display: block;
    background: #fff;
    object-fit: cover;
  }
  .news-banner-pagination {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: left;
    align-items: center;
  }
  .news-banner-pagination .swiper-pagination-bullet + .swiper-pagination-bullet {
    margin-left: 0.08rem;
  }
  .news-banner-pagination .swiper-pagination-bullet {
    width: 20px;
    height: 8px;
    border-radius: 4px;
    background: #ccc;
    opacity: 1;
    margin: 0;
  }
  .news-banner-pagination .swiper-pagination-bullet-active {
    width: 50px;
    height: 8px;
    border-radius: 4px;
    background: #ff8004;
  }
  .news-content {
    flex: 1;
    min-width: 0;
    padding-top: 0.06rem;
  }
  .news-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 0.2rem;
    position: relative;
    min-height: 0.7rem;
    padding-right: 2.5rem;
  }
  .news-head .sec-title {
    margin-bottom: 0;
  }
  .news-head .sec-title .tit {
    height: 0.52rem;
    display: block;
  }
  .news-head .sec-title .tit-en {
    position: static;
    height: 0.18rem;
    width: 0.5rem;
    opacity: 1;
    transform: none;
    margin-top: 0.06rem;
    display: block;
  }
  .news-tabs {
    flex-shrink: 0;
  }
  .news-tabs a {
    font-size: 24px;
    color: #333;
    padding: 0 0.1rem;
    line-height: 1.4;
    font-weight: bold;
  }
  .news-tabs .line,
  .about-tabs .line {
    height: 0.14rem;
    margin: 0 0.06rem;
  }
  .news-list li {
    padding: 0.14rem 0;
    border-bottom: 1px solid #ddd;
    font-size: 0.14rem;
  }
  .news-list li:last-child {
    border-bottom: none;
  }
  .news-list li:hover .tit,
  .news-list li:hover .tag,
  .news-list .news-link:hover .tit,
  .news-list .news-link:hover .tag {
    color: #ff8004;
  }
  .news-list .tag {
    flex-shrink: 0;
    min-width: 0.44rem;
    padding: 0.02rem 0.08rem;
    margin-right: 0.12rem;
    font-size: 16px;
    color: #666;
    border-radius: 0.04rem;
    text-align: center;
    line-height: 1.6;
  }
  .news-list .tit {
    line-height: 1.5;
    font-size: 18px;
  }
  .news-list .date {
    margin-left: 0.16rem;
    font-size: 18px;
  }
  .btn-more-link {
    float: right;
    text-align: right;
    width: 143px;
    line-height: 60px;
    font-size: 18px;
    color: #ff8004;
    margin-top: 0.2rem;
    padding-bottom: 0.06rem;
    position: relative;
    transition: opacity 0.3s;
  }
  .btn-more-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 6px;
    background: #ff8004;
    border-radius: 6px;
  }
  .btn-more-link:hover {
    opacity: 0.8;
  }
  /* ===== about section ===== */
  .about-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 0.4rem;
  }
  .about-head .sec-title {
    margin-bottom: 0;
  }
  .about-tabs > * + * {
    margin-left: 0.12rem;
  }
  .about-tabs a {
    display: inline-block;
    padding: 8px 20px;
    font-size: 24px;
    font-weight: bold;
    color: #333;
    transition: all 0.3s;
  }
  .about-tabs a:hover {
    color: #ff8004;
  }
  .about-tabs a.active {
    background: none;
    border: none;
    color: #ff8004;
  }
  .about-intro-layout {
    display: flex;
    align-items: flex-start;
  }
  .about-intro-layout .about-intro-right {
    margin-left: 0.45rem;
  }
  .about-banner {
    width: 7.56rem;
    height: 4.65rem;
    border-radius: 0.16rem;
    overflow: hidden;
  }
  .about-banner img {
    width: 100%;
    display: block;
  }
  .about-intro-right {
    flex: 1;
    padding-top: 0.2rem;
  }
  .about-text p {
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 0.16rem;
  }
  .about-stats {
    margin-top: 0.4rem;
    padding-top: 0.3rem;
  }
  .about-stats strong {
    font-size: 0.66rem;
  }
  .about-stats strong em {
    font-size: 0.2rem;
    margin-left: 0.04rem;
    font-weight: normal;
  }
  .about-stats .count-num {
    font-size: 0.48rem;
  }
  .about-stats span {
    font-size: 18px;
    margin-top: 6px;
  }
  /* history */
  .history-swiper {
    margin: 0 -2.4rem 0 0.8rem;
  }
  .history-swiper .swiper-slide {
    width: 3.6rem;
    transition: transform 0.3s;
    display: flex;
    flex-direction: column;
  }
  .history-swiper .swiper-slide .history-pic {
    height: 2.02rem;
    position: relative;
    transition: filter 0.3s;
    overflow: hidden;
    border-radius: 0.6rem 0 0 0;
  }
  .history-swiper .swiper-slide .history-pic img {
    width: 100%;
    object-fit: cover;
    display: block;
  }
  .history-swiper .swiper-slide-active .history-pic {
    filter: grayscale(0%);
  }
  .history-swiper .swiper-slide .history-pic:hover img {
    transition: transform 0.3s;
    transform: scale(1.05);
  }
  .history-swiper .swiper-slide:nth-child(2n) .history-pic {
    order: 1;
  }
  .history-swiper .swiper-slide:nth-child(2n) .history-info {
    padding-bottom: 0.8rem;
    margin-bottom: -0.5rem;
  }
  .history-swiper .swiper-slide:nth-child(2n) {
    padding-top: 1.16rem;
  }
  .history-swiper .swiper-slide:last-child {
    margin-right: 2.4rem;
  }
  .history-date {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 0.06rem 0.16rem;
    color: #fff;
    font-size: 0.18rem;
    z-index: 1;
  }
  .history-date b {
    font-size: 32px;
    margin-right: 2px;
  }
  .history-info {
    padding: 0.3rem 0.23rem;
    border-left: 2px solid #ff9032;
    background: #fff;
  }
  .history-tit {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    margin-bottom: 0.08rem;
    border-bottom: 2px solid #eee;
    padding-bottom: 0.08rem;
  }
  .history-desc {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
  }
  .history-nav {
    margin-top: 0.3rem;
    margin-left: 0.8rem;
  }
  .history-nav > * + * {
    margin-left: 0.16rem;
  }
  .history-nav .btn-prev,
  .history-nav .btn-next {
    width: 50px;
    height: 50px;
    transition: border-color 0.3s;
    border-width: 2px;
    background-color: #fff;
  }
  .history-nav .btn-prev::after,
  .history-nav .btn-next::after {
    width: 10px;
    height: 10px;
    border-width: 3px;
  }
  .history-nav .btn-prev:hover,
  .history-nav .btn-next:hover,
  .history-nav .btn-prev:hover::after,
  .history-nav .btn-next:hover::after {
    border-color: #ff8004;
  }
  /* partners */
  .partners-head {
    text-align: center;
    margin-bottom: 0.4rem;
    position: relative;
  }
  .partners-head h3 {
    font-size: 30px;
    color: #333;
    margin-bottom: 0.1rem;
  }
  .partners-head p {
    font-size: 16px;
    color: #999;
  }
  .areaCoop {
    background: #fff;
    overflow: hidden;
    padding: 20px;
  }
  .areaCoop li {
    width: 20%;
    height: 120px;
    padding: 0.16rem;
    box-sizing: border-box;
    border-right: 1px solid #eee;
    border-bottom: 1px solid #eee;
    transition: background 0.3s;
  }
  .areaCoop li:nth-child(5n) {
    border-right: none;
  }
  .areaCoop li:nth-child(n+6) {
    border-bottom: none;
  }
  .areaCoop li img {
    max-height: 120px;
  }
  .partners-pagination {
    position: relative !important;
    margin-top: 0.24rem;
    text-align: center;
  }
  .partners-pagination .swiper-pagination-bullet {
    width: 20px;
    height: 8px;
    border-radius: 4px;
    opacity: 1;
    margin: 0 4px !important;
  }
  .partners-pagination .swiper-pagination-bullet-active {
    width: 40px;
  }
  /* ===== contact section ===== */
  .contact-card {
    background: #fff;
    border-radius: 0.24rem;
    padding: 0.5rem 0.6rem;
    box-shadow: 0 0.04rem 0.2rem rgba(0, 0, 0, 0.06);
    margin-bottom: 0.4rem;
    position: relative;
    z-index: 1;
  }
  .contact-layout {
    display: flex;
    margin-top: 0.3rem;
  }
  .contact-layout .contact-right {
    margin-left: 0.8rem;
  }
  .contact-left h4 {
    font-size: 0.18rem;
    color: #333;
    margin-bottom: 0.24rem;
  }
  .social-grid {
    margin-bottom: -0.24rem;
  }
  .social-grid li {
    width: calc((100% - 0.8rem) / 3);
    margin-right: 0.4rem;
    margin-bottom: 0.24rem;
    position: relative;
  }
  .social-grid li:nth-child(3n) {
    margin-right: 0;
  }
  .social-grid img {
    display: block;
    width: 100%;
    max-width: 120px;
    margin-bottom: 20px;
    border-radius: 30px;
  }
  .social-grid span {
    font-size: 16px;
  }
  .social-grid li .qr {
    display: none;
    width: 134px;
    height: 140px;
    background: url(../images/pc/ct-qr.png) no-repeat;
    position: absolute;
    left: 50%;
    margin-left: -67px;
    bottom: 150px;
    -webkit-animation: qrshow 0.5s linear forwards;
    animation: qrshow 0.5s linear forwards;
  }
  .social-grid li .qr img {
    display: block;
    width: 106px;
    height: 106px;
    margin: 15px auto 0;
    border-radius: 10px;
  }
  .social-grid li:hover .qr {
    display: block;
  }
  @-webkit-keyframes qrshow {
    0% {
      opacity: 0;
      -webkit-transform: translateY(-8px);
      transform: translateY(-8px);
    }
    100% {
      opacity: 1;
      -webkit-transform: translateY(0px);
      transform: translateY(0px);
    }
  }
  @keyframes qrshow {
    0% {
      opacity: 0;
      -webkit-transform: translateY(-8px);
      transform: translateY(-8px);
    }
    100% {
      opacity: 1;
      -webkit-transform: translateY(0px);
      transform: translateY(0px);
    }
  }
  .contact-right {
    flex: 1;
    padding-top: 0.1rem;
  }
  .contact-block {
    margin-bottom: 0.5rem;
  }
  .contact-inner {
    display: flex;
    background: #fff;
    border-radius: 20px;
    padding: 0.5rem 0.6rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    position: relative;
  }
  .contact-left {
    width: 45%;
    margin-right: 10%;
  }
  .contact-tit {
    margin-bottom: 30px;
    height: 66px;
  }
  .contact-tit p {
    display: block;
    font-size: 30px;
    position: absolute;
    height: 32px;
  }
  .contact-tit b {
    font-size: 24px;
    position: relative;
    top: 18px;
  }
  .contact-text {
    font-size: 18px;
  }
  .btn-top {
    position: fixed;
    right: 0.8rem;
    bottom: 1rem;
    z-index: 102;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
  }
  .btn-top.show {
    opacity: 1;
    visibility: visible;
  }
  .btn-top img {
    width: 0.48rem;
    transition: transform 0.3s;
  }
  .btn-top:hover img {
    transform: translateY(-0.04rem);
  }
  .site-footer {
    padding: 0.4rem 2.4rem;
  }
  .foot-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  .foot-links {
    margin-bottom: 0.16rem;
  }
  .foot-links a {
    display: inline-block;
    font-size: 14px;
    transition: color 0.3s;
  }
  .foot-links span {
    margin: 0 0.08rem;
  }
  .foot-warn p {
    font-size: 14px;
    line-height: 2.6;
  }
  .foot-copy p {
    display: inline-block;
  }
  .foot-logo {
    background: url(../images/pc/icon-logo-foot.png) no-repeat center/contain;
    width: 173px;
    height: 138px;
  }
  /*预约弹窗*/
  .yy-popups {
    display: none;
    position: fixed;
    z-index: 10000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  body.yy-pop-open {
    overflow: hidden;
  }
  .yy-pop-mask {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.55);
  }
  .diaArea {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    width: 444px;
    background: #fff;
    overflow: hidden;
    border-radius: 10px;
    z-index: 1;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .diaArea .inner {
    padding: 30px 40px;
    font-size: 14px;
    line-height: 1.8;
    color: #666;
  }
  .diaArea .dia-hide {
    background: url(../images/pc/dia-hide.png) no-repeat center;
    width: 46px;
    height: 46px;
    overflow: hidden;
    line-height: 99;
    position: absolute;
    right: 5px;
    top: 5px;
  }
  .diaArea .dia-tit {
    font-size: 24px;
    text-align: center;
    line-height: 44px;
    color: #333;
    font-weight: bold;
  }
  .diaArea .tac {
    text-align: center;
  }
  .diaArea .dia-f14 {
    font-size: 14px;
    margin-top: 10px;
  }
  .diaArea .dia-f14 span {
    color: #ff8004;
  }
  .diaArea .dia-f14 a {
    color: #ff8004;
    text-decoration: underline;
  }
  .diaArea .dia-btn {
    width: 388px;
    overflow: hidden;
    text-align: center;
    margin-left: -12px;
    text-align: center;
    font-size: 0;
    line-height: 0;
    margin-top: 10px;
  }
  .diaArea .dia-btn a {
    float: left;
    width: 174px;
    height: 44px;
    text-align: center;
    line-height: 44px;
    font-size: 16px;
    color: #fff;
    border-radius: 22px;
    margin: 14px 10px 0;
  }
  .diaArea .dia-btn a .icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    vertical-align: middle;
    margin: -4px 2px 0 0;
  }
  .diaArea .dia-btn a:hover {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
  }
  .diaArea .dia-btn a.btnG {
    background: #71c202;
  }
  .diaArea .dia-btn a.btnY {
    background: #ff8004;
  }
  .diaArea .dia-btn2 {
    text-align: center;
    font-size: 0;
    line-height: 0;
  }
  .diaArea .dia-btn2 a {
    float: none;
    display: inline-block;
    vertical-align: top;
  }
  .bindTip {
    font-size: 14px;
    color: #b1b1b1;
    margin-top: 10px;
  }
  .bindTip img {
    display: inline-block;
    width: 18px;
    height: 18px;
    vertical-align: middle;
    margin: -2px 8px 0;
  }
  .bindForm .label {
    height: 42px;
    border: 1px solid #efefef;
    border-radius: 4px;
    margin-top: 18px;
    position: relative;
  }
  .bindForm .label input {
    background: none;
    border: none;
    height: 22px;
    padding: 10px 15px;
    box-sizing: content-box;
  }
  .bindForm .label input:focus-visible {
    outline: none;
  }
  .bindForm .label.msg input {
    width: 332px;
  }
  .bindForm .label.msg span {
    position: absolute;
    right: 0;
    height: 44px;
    line-height: 44px;
    padding: 0 15px;
    color: #527cb7;
    cursor: pointer;
  }
  .bindForm .label.msg span.dis {
    color: #999;
  }
  .bindForm .label.phone .phoneCode {
    float: left;
    width: 58px;
    height: 42px;
    position: relative;
  }
  .bindForm .label.phone .phoneCode .code {
    display: block;
    line-height: 42px;
    text-align: center;
    padding: 0 10px;
  }
  .bindForm .label.phone .phoneCode .list {
    display: none;
    background: #fff;
    border: 1px solid #efefef;
    border-radius: 4px;
    position: absolute;
    left: 0;
    top: 42px;
    z-index: 5;
    width: 210px;
    height: 200px;
    overflow: auto;
  }
  .bindForm .label.phone .phoneCode .list li {
    height: 32px;
    line-height: 32px;
    padding: 0 10px;
    cursor: pointer;
  }
  .bindForm .label.phone .phoneCode .list li:hover {
    background: #eee;
  }
  .bindForm .label.phone input {
    width: 274px;
  }
  .bindForm .btn a {
    display: block;
    background: #73c404;
    height: 44px;
    text-align: center;
    line-height: 44px;
    font-size: 16px;
    color: #fff;
    border-radius: 22px;
    margin: 14px auto 0;
  }
  .bindForm .btn a.lk {
    background: none;
    height: 30px;
    line-height: 30px;
    color: #ff8004;
    text-decoration: underline;
  }
  .diaArea .icon {
    background: url(../images/pc/item.png) no-repeat;
  }
  .diaArea .icon.down-az {
    background-position: -65px 0;
    width: 20px;
    height: 20px;
  }
  .diaArea .icon.down-ip {
    background-position: -85px 0;
    width: 20px;
    height: 20px;
  }
  .msg-toast {
    display: none;
    padding: 10px 20px;
    font-size: 14px;
    line-height: 1.5;
    color: #fff;
    background: rgba(0, 0, 0, 0.75);
    border-radius: 6px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100001;
    min-width: 120px;
    max-width: 320px;
    text-align: center;
    pointer-events: none;
    box-sizing: border-box;
  }
  .msg-toast.is-show {
    display: block;
  }
  /* ===== game list page ===== */
  .page-list {
    background: #f7f8fa url(../images/pc/bg-body.png) repeat center top/0.1rem auto;
  }
  .page-news-list .news-grid {
    display: flex;
    flex-wrap: wrap;
    /* IE11 不支持 gap；与 .game-grid 同样用负边距 + li margin-left，避免筛选隐藏后 nth-child 间距错乱 */
    margin-left: -0.24rem;
  }
  .page-news-list .news-grid li {
    width: calc((100% - 1rem) / 4);
    margin: 0 0 0.24rem 0.24rem;
    box-sizing: border-box;
  }
  .page-news-list .news-pic {
    position: relative;
    height: 0;
    padding-bottom: 56.25%; /* 16:9，兼容 IE11 无 aspect-ratio */
    overflow: hidden;
  }
  .page-news-list .news-pic img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border: 0;
  }
  .game-filter-label {
    font-size: 16px;
    margin-right: 16px;
  }
  .game-filter-tabs {
    margin-top: 0;
  }
  .game-filter-tabs .swiper-slide {
    width: auto;
  }
  .game-filter-tabs .swiper-slide a {
    font-size: 16px;
    height: 36px;
    line-height: 34px;
    padding: 0 20px;
    margin: 6px 12px 6px 0;
    border-radius: 18px;
  }
  /* ===== PC dark theme ===== */
  :root[data-theme=dark] body,
  :root[data-theme=dark] body.page-list {
    background-color: var(--c-bg-page);
    color: var(--c-text-main);
  }
  :root[data-theme=dark] body.page-list {
    background-image: url(../images/pc/bg-body.png);
  }
  :root[data-theme=dark] .site-header .logo {
    background-image: url(../images/pc/icon-logo-light.png);
    cursor: default;
  }
  :root[data-theme=dark] .slide-inner {
    background: linear-gradient(rgba(17, 20, 22, 0.94), rgba(17, 20, 22, 0.94)), url(../images/pc/bg-left.png) left bottom/auto 6.35rem no-repeat, url(../images/bg-top.png) right 0/1.38rem auto no-repeat, var(--c-bg-page) url(../images/pc/bg-body.png) repeat center bottom/100px auto;
  }
  :root[data-theme=dark] .btn-web {
    background-image: url(../images/wap/btn-web.png);
  }
  :root[data-theme=dark] .hero-bg-layer {
    background: linear-gradient(90deg, rgba(17, 20, 22, 0.98) 0%, rgba(17, 20, 22, 0.9) 35%, rgba(17, 20, 22, 0.2) 68%, transparent 100%), url(../images/pc/bg-left-hd.png) left bottom/auto 10.34rem no-repeat, url(../images/wap/bg-top.png) right 0/1.38rem auto no-repeat, var(--c-bg-page) url(../images/pc/bg-body.png) no-repeat center top/1920px auto;
  }
  :root[data-theme=dark] .site-header:not(.header-light) {
    background: rgba(17, 20, 22, 0.92);
    border-bottom: 1px solid var(--c-line);
    backdrop-filter: blur(12px);
  }
  :root[data-theme=dark] .news-tit,
  :root[data-theme=dark] .site-nav a,
  :root[data-theme=dark] .news-tabs a,
  :root[data-theme=dark] .about-tabs a,
  :root[data-theme=dark] .partners-head h3,
  :root[data-theme=dark] .contact-left h4,
  :root[data-theme=dark] .game-text h3 {
    color: var(--c-text-main);
  }
  :root[data-theme=dark] .news-tit.active,
  :root[data-theme=dark] .site-nav a.active,
  :root[data-theme=dark] .news-tabs a.active,
  :root[data-theme=dark] .about-tabs a.active,
  :root[data-theme=dark] .partners-head h3.active,
  :root[data-theme=dark] .contact-left h4.active,
  :root[data-theme=dark] .game-text h3.active {
    color: #f39800;
  }
  :root[data-theme=dark] .site-nav a:first-child {
    color: #fff;
  }
  :root[data-theme=dark] .side-nav a::before {
    background: var(--c-text-sub);
  }
  :root[data-theme=dark] .side-nav a.active::before {
    background: var(--c-accent);
  }
  :root[data-theme=dark] .areaCoop {
    border-radius: 0.16rem;
  }
  :root[data-theme=dark] .game-grid li,
  :root[data-theme=dark] .news-card,
  :root[data-theme=dark] .game-hover-pop,
  :root[data-theme=dark] .history-info,
  :root[data-theme=dark] .contact-card,
  :root[data-theme=dark] .contact-inner,
  :root[data-theme=dark] .diaArea,
  :root[data-theme=dark] .bindForm .label.phone .phoneCode .list {
    background-color: var(--c-bg-card);
    color: var(--c-text-main);
    box-shadow: var(--c-shadow-card);
  }
  :root[data-theme=dark] .game-hover-title,
  :root[data-theme=dark] .game-hover-qq .qq-num,
  :root[data-theme=dark] .history-tit,
  :root[data-theme=dark] .diaArea .dia-tit {
    color: var(--c-text-main);
  }
  :root[data-theme=dark] .game-hover-desc,
  :root[data-theme=dark] .game-hover-desc em,
  :root[data-theme=dark] .game-hover-tags span,
  :root[data-theme=dark] .game-hover-qq,
  :root[data-theme=dark] .game-text p,
  :root[data-theme=dark] .news-list .tag,
  :root[data-theme=dark] .history-desc,
  :root[data-theme=dark] .partners-head p,
  :root[data-theme=dark] .contact-text,
  :root[data-theme=dark] .diaArea .inner,
  :root[data-theme=dark] .game-filter-label {
    color: var(--c-text-sub);
  }
  :root[data-theme=dark] .game-hover-tags span {
    background: rgba(255, 255, 255, 0.08);
  }
  :root[data-theme=dark] .game-info {
    background: linear-gradient(rgba(26, 31, 35, 0.94), rgba(26, 31, 35, 0.94)), url(../images/pc/bg-game-info.png) no-repeat center/100% 100%;
  }
  :root[data-theme=dark] .news-list li,
  :root[data-theme=dark] .history-tit,
  :root[data-theme=dark] .areaCoop li,
  :root[data-theme=dark] .bindForm .label,
  :root[data-theme=dark] .bindForm .label.phone .phoneCode .list {
    border-color: var(--c-line);
  }
  :root[data-theme=dark] .news-banner-pagination .swiper-pagination-bullet,
  :root[data-theme=dark] .partners-pagination .swiper-pagination-bullet {
    background: var(--c-line-strong);
  }
  :root[data-theme=dark] .news-banner-pagination .swiper-pagination-bullet-active,
  :root[data-theme=dark] .partners-pagination .swiper-pagination-bullet-active {
    background: var(--c-accent);
  }
  :root[data-theme=dark] .game-filter-tabs a,
  :root[data-theme=dark] .btn-more,
  :root[data-theme=dark] .sec-title .tit-btn {
    border-color: var(--c-line);
    color: var(--c-text-sub);
    background: var(--c-bg-card-soft);
  }
  :root[data-theme=dark] .game-filter-tabs a:hover,
  :root[data-theme=dark] .game-filter-tabs a.active,
  :root[data-theme=dark] .btn-more:hover,
  :root[data-theme=dark] .sec-title .tit-btn:hover {
    border-color: var(--c-accent);
    color: var(--c-accent);
  }
  :root[data-theme=dark] .areaCoop img,
  :root[data-theme=dark] .foot-logo {
    opacity: 0.82;
  }
  :root[data-theme=dark] .diaArea input {
    color: var(--c-text-main);
  }
  :root[data-theme=dark] .bindForm .label.phone .phoneCode .list li:hover {
    background: rgba(255, 255, 255, 0.08);
  }
}
@media screen and (min-width: 1024px) and (orientation: landscape) and (prefers-color-scheme: dark), screen and (min-width: 1367px) and (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) body,
  :root:not([data-theme=light]) body.page-list {
    background-color: var(--c-bg-page);
    color: var(--c-text-main);
  }
  :root:not([data-theme=light]) body.page-list {
    background-image: url(../images/pc/bg-body.png);
  }
  :root:not([data-theme=light]) .site-header .logo {
    background-image: url(../images/pc/icon-logo-light.png);
    cursor: default;
  }
  :root:not([data-theme=light]) .slide-inner {
    background: linear-gradient(rgba(17, 20, 22, 0.94), rgba(17, 20, 22, 0.94)), url(../images/pc/bg-left.png) left bottom/auto 6.35rem no-repeat, url(../images/bg-top.png) right 0/1.38rem auto no-repeat, var(--c-bg-page) url(../images/pc/bg-body.png) repeat center bottom/100px auto;
  }
  :root:not([data-theme=light]) .btn-web {
    background-image: url(../images/wap/btn-web.png);
  }
  :root:not([data-theme=light]) .hero-bg-layer {
    background: linear-gradient(90deg, rgba(17, 20, 22, 0.98) 0%, rgba(17, 20, 22, 0.9) 35%, rgba(17, 20, 22, 0.2) 68%, transparent 100%), url(../images/pc/bg-left-hd.png) left bottom/auto 10.34rem no-repeat, url(../images/wap/bg-top.png) right 0/1.38rem auto no-repeat, var(--c-bg-page) url(../images/pc/bg-body.png) no-repeat center top/1920px auto;
  }
  :root:not([data-theme=light]) .site-header:not(.header-light) {
    background: rgba(17, 20, 22, 0.92);
    border-bottom: 1px solid var(--c-line);
    backdrop-filter: blur(12px);
  }
  :root:not([data-theme=light]) .news-tit,
  :root:not([data-theme=light]) .site-nav a,
  :root:not([data-theme=light]) .news-tabs a,
  :root:not([data-theme=light]) .about-tabs a,
  :root:not([data-theme=light]) .partners-head h3,
  :root:not([data-theme=light]) .contact-left h4,
  :root:not([data-theme=light]) .game-text h3 {
    color: var(--c-text-main);
  }
  :root:not([data-theme=light]) .news-tit.active,
  :root:not([data-theme=light]) .site-nav a.active,
  :root:not([data-theme=light]) .news-tabs a.active,
  :root:not([data-theme=light]) .about-tabs a.active,
  :root:not([data-theme=light]) .partners-head h3.active,
  :root:not([data-theme=light]) .contact-left h4.active,
  :root:not([data-theme=light]) .game-text h3.active {
    color: #f39800;
  }
  :root:not([data-theme=light]) .site-nav a:first-child {
    color: #fff;
  }
  :root:not([data-theme=light]) .side-nav a::before {
    background: var(--c-text-sub);
  }
  :root:not([data-theme=light]) .side-nav a.active::before {
    background: var(--c-accent);
  }
  :root:not([data-theme=light]) .areaCoop {
    border-radius: 0.16rem;
  }
  :root:not([data-theme=light]) .game-grid li,
  :root:not([data-theme=light]) .news-card,
  :root:not([data-theme=light]) .game-hover-pop,
  :root:not([data-theme=light]) .history-info,
  :root:not([data-theme=light]) .contact-card,
  :root:not([data-theme=light]) .contact-inner,
  :root:not([data-theme=light]) .diaArea,
  :root:not([data-theme=light]) .bindForm .label.phone .phoneCode .list {
    background-color: var(--c-bg-card);
    color: var(--c-text-main);
    box-shadow: var(--c-shadow-card);
  }
  :root:not([data-theme=light]) .game-hover-title,
  :root:not([data-theme=light]) .game-hover-qq .qq-num,
  :root:not([data-theme=light]) .history-tit,
  :root:not([data-theme=light]) .diaArea .dia-tit {
    color: var(--c-text-main);
  }
  :root:not([data-theme=light]) .game-hover-desc,
  :root:not([data-theme=light]) .game-hover-desc em,
  :root:not([data-theme=light]) .game-hover-tags span,
  :root:not([data-theme=light]) .game-hover-qq,
  :root:not([data-theme=light]) .game-text p,
  :root:not([data-theme=light]) .news-list .tag,
  :root:not([data-theme=light]) .history-desc,
  :root:not([data-theme=light]) .partners-head p,
  :root:not([data-theme=light]) .contact-text,
  :root:not([data-theme=light]) .diaArea .inner,
  :root:not([data-theme=light]) .game-filter-label {
    color: var(--c-text-sub);
  }
  :root:not([data-theme=light]) .game-hover-tags span {
    background: rgba(255, 255, 255, 0.08);
  }
  :root:not([data-theme=light]) .game-info {
    background: linear-gradient(rgba(26, 31, 35, 0.94), rgba(26, 31, 35, 0.94)), url(../images/pc/bg-game-info.png) no-repeat center/100% 100%;
  }
  :root:not([data-theme=light]) .news-list li,
  :root:not([data-theme=light]) .history-tit,
  :root:not([data-theme=light]) .areaCoop li,
  :root:not([data-theme=light]) .bindForm .label,
  :root:not([data-theme=light]) .bindForm .label.phone .phoneCode .list {
    border-color: var(--c-line);
  }
  :root:not([data-theme=light]) .news-banner-pagination .swiper-pagination-bullet,
  :root:not([data-theme=light]) .partners-pagination .swiper-pagination-bullet {
    background: var(--c-line-strong);
  }
  :root:not([data-theme=light]) .news-banner-pagination .swiper-pagination-bullet-active,
  :root:not([data-theme=light]) .partners-pagination .swiper-pagination-bullet-active {
    background: var(--c-accent);
  }
  :root:not([data-theme=light]) .game-filter-tabs a,
  :root:not([data-theme=light]) .btn-more,
  :root:not([data-theme=light]) .sec-title .tit-btn {
    border-color: var(--c-line);
    color: var(--c-text-sub);
    background: var(--c-bg-card-soft);
  }
  :root:not([data-theme=light]) .game-filter-tabs a:hover,
  :root:not([data-theme=light]) .game-filter-tabs a.active,
  :root:not([data-theme=light]) .btn-more:hover,
  :root:not([data-theme=light]) .sec-title .tit-btn:hover {
    border-color: var(--c-accent);
    color: var(--c-accent);
  }
  :root:not([data-theme=light]) .areaCoop img,
  :root:not([data-theme=light]) .foot-logo {
    opacity: 0.82;
  }
  :root:not([data-theme=light]) .diaArea input {
    color: var(--c-text-main);
  }
  :root:not([data-theme=light]) .bindForm .label.phone .phoneCode .list li:hover {
    background: rgba(255, 255, 255, 0.08);
  }
}
@media screen and (min-width: 1024px) and (orientation: landscape) and (min-width: 1024px) and (max-width: 1180px), screen and (min-width: 1367px) and (min-width: 1024px) and (max-width: 1180px) {
  .hero-layout {
    padding-left: 1.5rem;
    padding-right: 1.2rem;
  }
  .hero-left {
    flex-basis: 37%;
  }
  .hero-logo {
    height: 1.62rem;
    margin-bottom: 0.24rem;
    margin-top: -2.34rem;
  }
  .hero-desc {
    font-size: 22px;
    line-height: 28px;
    padding-bottom: 0.18rem;
  }
  .hero-desc::before {
    width: 24px;
    height: 24px;
    margin-right: 0.08rem;
  }
  .hero-desc::after {
    width: 1.28rem;
  }
  .hero-detail {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 0.26rem;
  }
  .hero-icons {
    left: 1.5rem;
    transform: translate3d(0, 2.02rem, 0);
  }
  .hero-right {
    padding-right: 0;
  }
  .hero-bg-layer .hero-bg {
    width: 11rem;
  }
  .hero-icons .hd-icon + .hd-icon {
    margin-left: 0.12rem;
  }
  .hd-icon {
    width: 0.88rem;
    height: 0.88rem;
    border-radius: 0.16rem;
  }
  .hero-pagination {
    top: 1.16rem;
    left: 4.52rem;
  }
  .hero-pagination .page-num,
  .hero-pagination .btn-prev,
  .hero-pagination .btn-next {
    width: 58px;
    height: 58px;
  }
  .hero-pagination .page-num {
    line-height: 1rem;
    font-size: 14px;
  }
  .hero-pagination .page-num em {
    line-height: 20px;
  }
  .hero-pagination .page-num::after {
    height: 76px;
  }
  .hero-pagination .btn-prev::after,
  .hero-pagination .btn-next::after {
    width: 12px;
    height: 12px;
    border-left-width: 4px;
    border-bottom-width: 4px;
  }
  .about-banner {
    width: 6.56rem;
    height: 4rem;
  }
  .slide-inner {
    padding: calc((100vh - 6.35rem) / 2) 1.4rem 0;
  }
  .news-banner-wrap {
    width: 6.6rem;
  }
  .social-grid li {
    width: calc((100% - 2rem) / 3);
  }
}
@media screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1367px) {
  .mouToast {
    width: 100%;
    line-height: 0.36rem;
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 3000;
    display: box;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-flex-direction: row;
    -moz-box-orient: horizontal;
    -moz-box-direction: normal;
    -ms-flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow: hidden;
  }
  .mouToast .toastFlex {
    background: rgba(0, 0, 0, 0.7);
    min-width: 2.2rem;
    max-width: 5.2rem;
    margin: 0 auto;
    padding: 0.12rem 0.25rem;
    color: #eeece9;
    text-align: center;
    font-size: 0.26rem;
    border-radius: 0.08rem;
  }
  .game-text h3 {
    font-size: 18px;
  }
  .news-tit {
    font-size: 16px;
  }
  .news-date, .game-text p {
    font-size: 14px;
  }
}
