/* 本地站补充样式 — 路径相对 css/ 目录 */
html, body { height: 100%; margin: 0; overflow: hidden; }
/*
 * body 固定 16px：协议页等未写 rem 的节点继承正常；首页页脚主文案用 rem（与主包一致），
 * 避免仅依赖 body 继承导致与 https://acecraft.moonton.com/index 观感不一致。
 */
body {
  font-size: 16px !important;
}
/*
 * 页脚对齐 https://acecraft.moonton.com/index 主包（index.4d3629e5.css）：
 * 1) .container_ZXoRHo 须 border-box，否则 height:4.8rem 不含 padding 会像半屏黑条。
 * 2) 协议行、适龄、标语、版号等用与主包一致的 rem / 颜色（#4f4f4f 版记、竖线分隔 丨）。
 * 3) right_box 顶部对齐（非垂直居中），右侧为竖条导航预留宽度（主包约 3.12rem + right .26rem）。
 */
#root .container_ZXoRHo {
  box-sizing: border-box !important;
}
#root .container_ZXoRHo .link_list_wtyDRb,
#root .container_ZXoRHo .link_list_wtyDRb a {
  display: flex !important;
}
#root .container_ZXoRHo .link_list_wtyDRb {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}
#root .container_ZXoRHo .link_list_wtyDRb a {
  align-items: center !important;
  font-size: 0.26rem !important;
  line-height: 0.36rem !important;
  font-weight: 400 !important;
}
#root .container_ZXoRHo .link_list_wtyDRb a::after {
  content: "丨" !important;
  display: block !important;
  margin: 0 0.14rem !important;
}
#root .container_ZXoRHo .link_list_wtyDRb a:last-child::after {
  display: none !important;
}
#root .container_ZXoRHo .right_top_KOY9YP {
  padding-left: 0.37rem !important;
  border-left: 0.01rem solid #36372d !important;
}
#root .container_ZXoRHo .old_tips_fo04j- {
  margin-top: 0.26rem !important;
  font-size: 0.24rem !important;
  line-height: 0.34rem !important;
  font-weight: 400 !important;
}
#root .container_ZXoRHo .text_0VNcdX {
  font-size: 0.26rem !important;
  line-height: 0.36rem !important;
  font-weight: 400 !important;
  margin-top: 0.15rem !important;
}
#root .container_ZXoRHo .right_bottom_n8lLJW {
  border-left: 0.01rem solid #36372d !important;
  color: #4f4f4f !important;
  font-size: 0.16rem !important;
  line-height: 0.24rem !important;
  margin-top: 0.67rem !important;
  padding-left: 0.37rem !important;
  font-weight: 400 !important;
}
#root .container_ZXoRHo .right_bottom_n8lLJW > div {
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
}
#root .container_ZXoRHo .text2_lh7eON {
  font-size: 0.16rem !important;
  line-height: 0.24rem !important;
  margin-top: 0.18rem !important;
  color: #4f4f4f !important;
  font-weight: 400 !important;
}
#root .container_ZXoRHo .right_box_ODF-XB {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  height: 100% !important;
  min-height: 0 !important;
  font-weight: 400 !important;
  box-sizing: border-box !important;
  padding-right: 3.55rem !important;
}
html.ace-mobile-site,
html.ace-mobile-site body {
  height: auto;
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}
/* 与 https://acecraft.moonton.com/index 移动 UA 返回的 m_index 首屏 DOM/CSS（static/css/m_index.6653a36c.css）对齐 */
.ace-mobile-site .container_2mGG-n {
  position: relative;
}
.ace-mobile-site .container_2mGG-n .ace-hero-poster {
  display: none !important;
}
.ace-mobile-site .container_2mGG-n .ace-mobile-hero-audio {
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.ace-mobile-site .container_2mGG-n .ace-m-index-float-actions {
  position: absolute;
  right: 0.28rem;
  top: 0.32rem;
  z-index: 12;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.12rem;
}
.ace-slide1-bg {
  background-image: url("../images/bg.c0852c54.png");
}
.container_DYpKFq { position: relative; }
.ace-hero-video-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.ace-hero-poster {
  position: absolute;
  left: 50%;
  top: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 1;
  transition: opacity 0.45s ease;
}
.ace-hero-poster.ace-hero-poster--hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.ace-hero-video {
  position: absolute;
  left: 50%;
  top: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 2;
}
.container_DYpKFq.ace-video-playing {
  background-image: none !important;
}
.container_DYpKFq .ace-top-actions {
  position: absolute;
  z-index: 5;
  top: 0.4rem;
  right: 0.5rem;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 0.2rem;
}
.container_DYpKFq .ace-top-actions .channel_btn_xCk0ee,
.container_DYpKFq .ace-top-actions #aceMusicBtn {
  position: relative !important;
  right: auto !important;
  top: auto !important;
  flex-shrink: 0;
}

/* 渠道分享：音乐按钮 0.66×0.62；主渠道按钮 0.66×0.66；子项 channel_item 宽 0.66、高 0.62 */
.container_DYpKFq .ace-top-actions #aceMusicBtn.music_GKRZtm,
.container_DYpKFq .ace-top-actions #aceMusicBtn.close_music_QxAJhj {
  width: 0.66rem !important;
  height: 0.62rem !important;
  background-size: contain !important;
  flex-shrink: 0;
}
.container_DYpKFq .ace-top-actions .channel_btn_xCk0ee {
  width: 0.66rem !important;
  height: 0.66rem !important;
  min-width: 0.66rem !important;
  max-width: 0.66rem !important;
  box-sizing: border-box;
  overflow: visible;
  z-index: 6;
  flex-shrink: 0;
}
.container_DYpKFq .ace-top-actions .channel_btn_xCk0ee::after {
  width: 0.66rem !important;
  height: 0.66rem !important;
  top: 0 !important;
  right: 0 !important;
}
/* 透明热区在伪元素上，避免再用 padding 把主图标盒子撑变形 */
.container_DYpKFq .ace-top-actions .channel_btn_xCk0ee::before {
  content: "";
  position: absolute;
  right: 0.66rem;
  top: 0;
  width: 5.2rem;
  height: 0.66rem;
  z-index: 0;
}
.container_DYpKFq .ace-top-actions .channel_btn_xCk0ee img {
  position: relative;
  z-index: 1;
  display: block;
}
.container_DYpKFq .ace-top-actions .channel_btn_xCk0ee .channel_list_yDFvNO {
  pointer-events: auto;
  right: 0.73rem;
  z-index: 2;
}
.container_DYpKFq .ace-top-actions .channel_item_gWWCSN {
  width: 0.66rem !important;
  height: 0.62rem !important;
  box-sizing: border-box;
  cursor: pointer;
}
/* 首屏 slide 默认 overflow:hidden，展开条可能被裁切或命中异常 */
.ace-main-swiper > .swiper-wrapper > .swiper-slide:first-child {
  overflow: visible !important;
}
.container_DYpKFq .download_VDzh2i,
.container_DYpKFq .welfare_CA6lP- { z-index: 4; }
.container_DYpKFq .tips_Cf3r9s {
  position: absolute;
  bottom: 0.35rem;
  left: 0.5rem;
  z-index: 4;
}
/* 与顶栏 Logo 区对齐：主站 slogan 在左侧标题带，约在 Logo 下沿略下 */
.container_DYpKFq .slogan_NG43XQ {
  position: absolute;
  /*top: 1.22rem;*/
  left: 1.3rem;
  z-index: 4;
  transform-origin: left top;
}
.beat_82wNFR canvas.ace-beat-canvas {
  display: block;
  width: 100%;
  height: 100%;
}
/* 第二屏：beat 完成后才显示光效与角色/飞机 canvas（对齐 React Page2） */
.ace-page2-root .ace-page2-stage-reveal {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  pointer-events: none;
}
.ace-page2-root:not(.ace-page2--revealed) .ace-page2-stage-reveal {
  visibility: hidden;
  opacity: 0;
}
.ace-page2-root.ace-page2--revealed .ace-page2-stage-reveal {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.35s ease;
}
.ace-page2-jerry-book {
  display: none;
}
.ace-page2-root.ace-page2--revealed.ace-page2--char-Jerry .ace-page2-jerry-book {
  display: block;
}
.ace-page2-root { position: relative; overflow: hidden; }
.ace-page2-scaler {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1918px;
  height: 959px;
}
.ace-page2-overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 1918px;
  height: 959px;
  z-index: 4;
  pointer-events: none;
}
.ace-page2-overlay-inner {
  position: relative;
  width: 100%;
  height: 100%;
  pointer-events: auto;
}
.ace-interactive { pointer-events: auto !important; }
.ace-main-swiper.swiper_wrap_s-v06K > .swiper-wrapper { flex-direction: column; }
/* 原站 width:100vw 在出现纵向滚动条时仍按「无条宽度」算，易与 innerWidth 不一致，F11/缩放时横向错位 */
html:not(.ace-mobile-site) .ace-main-swiper.swiper_wrap_s-v06K {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
}
/*
 * 仅用 100vh/100dvh 时，F11 全屏、浏览器 UI 显隐会与 innerHeight 不一致，主竖屏幻灯片高出/低出 1～数 px，
 * 底部露出下一层或像背景「重复一条」；改用 JS 写入的 --ace-vh（= innerHeight/100）。
 */
html:not(.ace-mobile-site) .ace-main-swiper.swiper_wrap_s-v06K {
  height: calc(var(--ace-vh, 1vh) * 100) !important;
  max-height: calc(var(--ace-vh, 1vh) * 100) !important;
  box-sizing: border-box;
}
html:not(.ace-mobile-site)
  .ace-main-swiper.swiper_wrap_s-v06K
  > .swiper-wrapper
  > .swiper-slide:not(:last-child) {
  height: calc(var(--ace-vh, 1vh) * 100) !important;
  max-height: calc(var(--ace-vh, 1vh) * 100) !important;
  box-sizing: border-box;
}
/*
 * 第四屏 + 页脚：同一滑块、同一套剧院背景；在 .ace-page4-scroll-inner 内纵向滚动露出页脚，不另铺一层第四屏背景。
 */
html:not(.ace-mobile-site)
  .ace-main-swiper.swiper_wrap_s-v06K
  > .swiper-wrapper
  > .swiper-slide:last-child.ace-page4-with-footer {
  height: calc(var(--ace-vh, 1vh) * 100) !important;
  max-height: calc(var(--ace-vh, 1vh) * 100) !important;
  min-height: 0 !important;
  overflow: hidden;
  box-sizing: border-box;
  position: relative;
}
html:not(.ace-mobile-site) .ace-page4-scroll-inner {
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  box-sizing: border-box;
}
html:not(.ace-mobile-site) .ace-page4-theater-sheet {
  position: relative;
  min-height: calc(100 * var(--ace-vh, 1vh));
  /* 明确一屏高，便于子级绝对定位层（bg / inner）撑满，避免仅 min-height 时高度算不满出现底栏 */
  height: calc(100 * var(--ace-vh, 1vh));
  box-sizing: border-box;
  /*
   * 参考站：剧院区（观众席 + 银幕）纵向铺满当前屏，底图 cover 到底无「半截空栏」。
   * 此前 2:1 + 水平居中会在宽屏下留出上下或左右未铺满区域；改为子容器至少一屏高、全宽，
   * 与主包 .container_wqMJtE 全幅 cover 一致（极端宽高比下银幕与箭头可能略有漂移，属 cover 与 rem 固定位取舍）。
   */
}
html:not(.ace-mobile-site) .ace-page4-theater-sheet > .container_wqMJtE {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-width: none;
  margin: 0 !important;
  box-sizing: border-box;
}
html:not(.ace-mobile-site)
  .ace-main-swiper.swiper_wrap_s-v06K
  > .swiper-wrapper
  > .swiper-slide:last-child.ace-page4-with-footer
  > .ace-page4-scroll-inner
  > .container_ZXoRHo {
  position: relative;
  flex-shrink: 0;
  left: auto;
  right: auto;
  bottom: auto;
  top: auto;
  width: 100%;
  height: 5.1rem !important;
  min-height: 5.1rem !important;
  max-height: 5.1rem !important;
  box-sizing: border-box !important;
  z-index: 1;
}
html:not(.ace-mobile-site) #root .container_ZXoRHo .right_box_ODF-XB {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  /* 实测：3.55rem/3.28rem 仍会把版记挤出黑底；1.28rem 与当前布局一致、显示正常（用户确认） */
  padding-right: 1.28rem !important;
}
/*
 * 去掉 moonton_logo 后：原 padding-left:8.27rem / logo left:5.91rem 按双 logo 预留，
 * 整体左移约一个 moonton 宽（~2.6rem + 间距），发条 logo 落到原左侧槽位。
 */
html:not(.ace-mobile-site) #root .container_ZXoRHo {
  padding-left: 5.2rem !important;
}
html:not(.ace-mobile-site) #root .container_ZXoRHo .logo_4h7sK1 {
  left: 2.6rem !important;
  top: 1.18rem !important;
}
/* PC 页脚版记（国新出审 / ISBN / ICP 等）+ 电子营业执照：横排，避免 float 撑破黑底 */
html:not(.ace-mobile-site) #root .container_ZXoRHo .right_bottom_n8lLJW {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 0.2rem;
  font-size: 0.14rem !important;
  line-height: 0.22rem !important;
  box-sizing: border-box !important;
}
html:not(.ace-mobile-site) #root .container_ZXoRHo .right_bottom_n8lLJW > div,
html:not(.ace-mobile-site) #root .container_ZXoRHo .ace-footer-legal-text,
html:not(.ace-mobile-site) #root .container_ZXoRHo .ace-footer-legal-text > div {
  font-size: inherit !important;
  line-height: inherit !important;
}
html:not(.ace-mobile-site) #root .container_ZXoRHo .ace-footer-legal-text {
  flex: 1 1 auto;
  min-width: 0;
}
html:not(.ace-mobile-site) #root .container_ZXoRHo .ace-footer-dzzz {
  flex: 0 0 auto;
  width: 0.72rem;
  /* 相对贴右再往左约一半距离（避开竖导航） */
  margin: 0 1.6rem 0 0 !important;
  float: none !important;
  line-height: 0;
  text-decoration: none !important;
  cursor: pointer;
}
html:not(.ace-mobile-site) #root .container_ZXoRHo .ace-footer-dzzz img {
  display: block;
  width: 100%;
  height: auto;
}
html:not(.ace-mobile-site) #root .container_ZXoRHo .text2_lh7eON {
  font-size: 0.14rem !important;
  line-height: 0.22rem !important;
}
/* PC 页脚前两排：协议链 + 适龄提示，对齐参考站略缩字号（第三排 .text_0VNcdX 保持主包大小） */
html:not(.ace-mobile-site) #root .container_ZXoRHo .link_list_wtyDRb a {
  font-size: 0.2rem !important;
  line-height: 0.28rem !important;
}
html:not(.ace-mobile-site) #root .container_ZXoRHo .link_list_wtyDRb a::after {
  font-size: 0.2rem !important;
  line-height: 0.28rem !important;
}
html:not(.ace-mobile-site) #root .container_ZXoRHo .old_tips_fo04j- {
  font-size: 0.19rem !important;
  line-height: 0.27rem !important;
}
.ace-mobile-site .ace-main-swiper.swiper_wrap_s-v06K,
.ace-mobile-site .ace-main-swiper.swiper_wrap_s-v06K > .swiper-wrapper > .swiper-slide:not(:last-child) {
  height: auto;
  min-height: 100vh;
  min-height: 100dvh;
}
.ace-mobile-site
  .ace-main-swiper.swiper_wrap_s-v06K
  > .swiper-wrapper
  > .swiper-slide:last-child.ace-page4-with-footer {
  height: 100vh !important;
  height: 100dvh !important;
  max-height: 100vh !important;
  max-height: 100dvh !important;
  min-height: 0 !important;
  overflow: hidden;
  box-sizing: border-box;
  position: relative;
}
.ace-mobile-site .ace-page4-scroll-inner {
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  box-sizing: border-box;
}
.ace-mobile-site .ace-page4-theater-sheet {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  box-sizing: border-box;
}
.ace-mobile-site
  .ace-main-swiper.swiper_wrap_s-v06K
  > .swiper-wrapper
  > .swiper-slide:last-child.ace-page4-with-footer
  > .ace-page4-scroll-inner
  > .container_ZXoRHo {
  position: relative;
  flex-shrink: 0;
  left: auto;
  right: auto;
  bottom: auto;
  top: auto;
  width: 100%;
  height: 4.8rem !important;
  min-height: 4.8rem !important;
  max-height: 4.8rem !important;
  box-sizing: border-box !important;
  z-index: 1;
}
.ace-mobile-site #root .container_ZXoRHo .right_box_ODF-XB {
  max-width: 100%;
  padding-right: 3.55rem !important;
}
/* 第三屏资讯：大图叠放；勿写 left/top:0，会与父级坐标叠加导致错位 */
.ace-news-cycle .big_img_mD2mTe {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}
.ace-news-cycle .big_img_mD2mTe img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 0;
  pointer-events: none;
}

/* 首页福利说明弹窗（对应原站 bricks-modal + welfareModal） */
#aceWelfareModal.ace-welfare-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10020;
  align-items: center;
  justify-content: center;
  padding: 0.32rem;
  box-sizing: border-box;
}
#aceWelfareModal.ace-welfare-modal.ace-welfare-modal--open {
  display: flex;
}
.ace-welfare-modal__mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 0;
  cursor: pointer;
}
.ace-welfare-modal__content {
  position: relative;
  z-index: 1;
  max-width: 94vw;
  line-height: 0;
  box-sizing: border-box;
}
/* 与线上官网一致：固定宽高 + 内层纵向滚动 + 浅色细滚动条（参考 acecraft.moonton.com） */
#aceWelfareModal .welfareModal_-gHXsH {
  width: 6.2rem;
  height: 80vh;
  overflow-x: hidden;
  overflow-y: scroll;
  scrollbar-color: #ffffe0 transparent;
  scrollbar-width: thin;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  border-radius: 0.08rem;
}
#aceWelfareModal .welfareModal_-gHXsH::-webkit-scrollbar {
  width: 6px;
}
#aceWelfareModal .welfareModal_-gHXsH::-webkit-scrollbar-track {
  background: transparent;
}
#aceWelfareModal .welfareModal_-gHXsH::-webkit-scrollbar-thumb {
  background-color: #ffffe0;
  border-radius: 3px;
}
#aceWelfareModal .welfareModal_-gHXsH img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: top;
}
html.ace-welfare-modal-open,
html.ace-age-modal-open,
html.ace-welfare-modal-open body,
html.ace-age-modal-open body {
  overflow: hidden !important;
}

/* 适龄提示弹窗（.tips_Cf3r9s → useModal__1 / bricks-modal） */
#aceAgeModal.ace-age-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10022;
  align-items: center;
  justify-content: center;
  padding: 0.32rem;
  box-sizing: border-box;
}
#aceAgeModal.ace-age-modal.ace-age-modal--open {
  display: flex;
}
#aceAgeModal .ace-age-modal__mask,
#aceAgeModal .bricks-modal__mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 0;
  cursor: pointer;
}
#aceAgeModal .ace-age-modal__shell.bricks-modal__content {
  position: relative;
  z-index: 1;
  max-width: min(7.2rem, 94vw);
  box-sizing: border-box;
  line-height: normal;
}
#aceAgeModal .container_13Ch8L {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-height: 78vh;
  padding: 0.44rem 0.4rem 0.36rem;
  border-radius: 0.12rem;
  border: 0.04rem solid #c9a54a;
  background: linear-gradient(180deg, #3d3428 0%, #2a231c 100%);
  box-shadow: 0 0.12rem 0.4rem rgba(0, 0, 0, 0.45);
  color: #f0e6d4;
}
#aceAgeModal .close_2366YH {
  position: absolute;
  top: 0.28rem;
  right: 0.28rem;
  width: 0.44rem;
  height: 0.44rem;
  cursor: pointer;
  z-index: 2;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  transition: background 0.2s ease;
}
#aceAgeModal .close_2366YH:hover {
  background: rgba(255, 255, 255, 0.22);
}
#aceAgeModal .close_2366YH::before,
#aceAgeModal .close_2366YH::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.24rem;
  height: 0.03rem;
  background: #ffffe0;
  border-radius: 0.02rem;
}
#aceAgeModal .close_2366YH::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
#aceAgeModal .close_2366YH::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
#aceAgeModal .title_3lschk {
  text-align: center;
  font-size: 0.36rem;
  font-weight: bold;
  color: #ffe9a8;
  margin: 0 0.5rem 0.28rem 0;
  letter-spacing: 0.02rem;
}
#aceAgeModal .text_TCljX4 {
  font-size: 0.22rem;
  line-height: 1.65;
  color: #e8dcc8;
  max-height: calc(78vh - 1.35rem);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-color: #ffffe0 transparent;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
  text-align: justify;
  word-break: break-word;
}
#aceAgeModal .text_TCljX4::-webkit-scrollbar {
  width: 6px;
}
#aceAgeModal .text_TCljX4::-webkit-scrollbar-track {
  background: transparent;
}
#aceAgeModal .text_TCljX4::-webkit-scrollbar-thumb {
  background-color: #ffffe0;
  border-radius: 3px;
}

/* ========== 资讯二级 / 详情子页（html.ace-subpage）========== */
html.ace-subpage,
html.ace-subpage body {
  height: auto;
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}
body.ace-news-subbody {
  margin: 0;
  font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
  background: linear-gradient(165deg, #1a2744 0%, #0f1628 45%, #162238 100%);
  color: #e8ecf2;
}
.ace-news-header,
.ace-detail-header {
  max-width: 960px;
  margin: 0 auto;
  padding: 1.25rem 1rem 0.75rem;
  box-sizing: border-box;
}
.ace-news-back,
.ace-detail-header .ace-news-back {
  display: inline-block;
  font-size: 0.9rem;
  color: #8ab4ff;
  text-decoration: none;
}
.ace-news-back:hover {
  text-decoration: underline;
}
.ace-detail-sep {
  margin: 0 0.35rem;
  opacity: 0.45;
}
.ace-news-h1 {
  margin: 0.6rem 0 0.25rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
}
.ace-news-sub {
  margin: 0;
  font-size: 0.85rem;
  color: #9aa5b8;
}
.ace-news-sub a {
  color: #8ab4ff;
}
.ace-news-tabs {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 1rem 1rem;
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  box-sizing: border-box;
}
.ace-news-tab {
  cursor: pointer;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(0, 0, 0, 0.2);
  color: #c5d0e3;
  padding: 0.45rem 1rem;
  border-radius: 999px;
  font-size: 0.9rem;
}
.ace-news-tab--on {
  background: linear-gradient(90deg, #3d6fd4, #5a8def);
  border-color: transparent;
  color: #fff;
}
.ace-news-main {
  max-width: 960px;
  margin: 0 auto;
  padding: 1rem 1rem 2.5rem;
  box-sizing: border-box;
}
.ace-news-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ace-news-row {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.ace-news-row-link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  padding: 1rem 0.25rem;
  text-decoration: none;
  color: inherit;
}
.ace-news-row-link:hover .ace-news-row-title {
  color: #8ab4ff;
}
.ace-news-row-cover {
  flex: 0 0 120px;
  width: 120px;
  height: 68px;
  border-radius: 6px;
  overflow: hidden;
  background: #000;
}
.ace-news-row-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ace-news-row-meta {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 5rem;
}
.ace-news-row-tag {
  font-size: 0.75rem;
  color: #7aa8ff;
}
.ace-news-row-date {
  font-size: 0.75rem;
  color: #8b97ab;
}
.ace-news-row-title {
  flex: 1 1 200px;
  font-size: 1rem;
  line-height: 1.45;
  color: #eef2f8;
}
.ace-news-empty {
  padding: 2rem 0.5rem;
  color: #8b97ab;
  text-align: center;
}
.ace-detail-article {
  max-width: 800px;
  margin: 0 auto;
  padding: 0.5rem 1rem 3rem;
  box-sizing: border-box;
}
.ace-detail-meta {
  margin: 0 0 0.35rem;
  font-size: 0.85rem;
  color: #8b97ab;
}
.ace-detail-tag {
  color: #7aa8ff;
  margin-right: 0.75rem;
}
.ace-detail-title {
  margin: 0 0 1rem;
  font-size: 1.45rem;
  line-height: 1.35;
  font-weight: 700;
  color: #fff;
}
.ace-detail-cover-wrap {
  margin: 0 0 1.25rem;
  border-radius: 8px;
  overflow: hidden;
  background: #000;
}
.ace-detail-cover {
  width: 100%;
  display: block;
  vertical-align: middle;
  max-height: 420px;
  object-fit: cover;
}
.ace-detail-body p {
  margin: 0 0 0.85rem;
  font-size: 1rem;
  line-height: 1.75;
  color: #d2dae8;
  text-align: justify;
  word-break: break-word;
}
.ace-detail-missing {
  max-width: 640px;
  margin: 3rem auto;
  padding: 1rem;
  text-align: center;
  color: #9aa5b8;
}
.ace-detail-missing a {
  color: #8ab4ff;
}
a.ace-news-more-link.more_OmZ9Av {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  box-sizing: border-box;
}
/* 资讯列表 div 结构 + Tab 筛选 */
.ace-news-list {
  display: flex;
  flex-direction: column;
}
.ace-news-row.is-hidden {
  display: none !important;
}
.ace-news-tab {
  font: inherit;
  font-family: inherit;
}

/*
 * 第四屏剧院（仅 PC：.container_wqMJtE）：
 * 主包三层背景均为 background-size:cover，保持长宽比；曾用 100% 100% 与 rem 强行对齐，
 * 但拖窗时底图/观众层会拉伸变形，且 Safari/Firefox 下 mask 相框与银幕透明区错位，出现「挡图」。
 * 恢复 cover，并弱化 Swiper 合成层，避免非 Chromium 与相框叠层异常。
 */
html:not(.ace-mobile-site) .container_wqMJtE,
html:not(.ace-mobile-site) .container_wqMJtE .bg-2_1ecERa,
html:not(.ace-mobile-site) .container_wqMJtE .mask_Uqs3Hf {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 第四屏「游戏特色」：银幕区原为固定 px，与 rem-flex 缩放不一致，易与官网/设计稿比例错位 */
html:not(.ace-mobile-site) .container_wqMJtE .bg-2_1ecERa + .ace-page4-inner {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: auto;
  height: auto;
  box-sizing: border-box;
}

/*
 * 相框：仅用主包 .mask_Uqs3Hf（与银幕同属 .ace-page4-inner），与透明洞对齐。
 * 整栏 .container_wqMJtE::after 全铺 mask 在 cover 下易与银幕错位，半透明边会「切断」轮播底边（红框）。
 */
html:not(.ace-mobile-site) .container_wqMJtE .mask_Uqs3Hf {
  opacity: 1 !important;
  pointer-events: none !important;
  z-index: 12 !important;
}

/*
 * 银幕 .content_qRUcRX：与 rem-flex（1920 设计）一致；参考站同主包用固定 rem 框 + 水平居中。
 * 勿用 translate3d(-50%) 居中：部分内核（如 360）会把 transform 层抬到蒙层之上，出现「相框遮不住角」。
 * 改用 margin-left: -半宽 + left:50%，与主包 translateX(-50%) 几何等价但不新建 transform 合成层。
 */
html:not(.ace-mobile-site) .container_wqMJtE .ace-page4-screen.content_qRUcRX {
  width: 8.72rem !important;
  height: 4.78rem !important;
  left: 50% !important;
  margin-left: -4.36rem !important;
  right: auto !important;
  transform: none !important;
  -webkit-transform: none !important;
  box-sizing: border-box;
  overflow: visible;
  z-index: 1;
}

/* Chrome / Edge 等：略低，避免轮播顶缘超出蒙层透明洞上沿 */
html:not(.ace-mobile-site):not(.ace-browser-qihu) .container_wqMJtE .ace-page4-screen.content_qRUcRX {
  top: 0.93rem !important;
}

/* 360 极速等（index.html 会给 html 加 .ace-browser-qihu）：略上移，避免底缘与蒙层半透明叠线 */
html:not(.ace-mobile-site).ace-browser-qihu .container_wqMJtE .ace-page4-screen.content_qRUcRX {
  top: 0.78rem !important;
}

html:not(.ace-mobile-site) .container_wqMJtE .ace-page4-swiper.swiper {
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 0.12rem;
  isolation: auto;
}

html:not(.ace-mobile-site) .container_wqMJtE .ace-page4-screen .btn_next,
html:not(.ace-mobile-site) .container_wqMJtE .ace-page4-screen .btn_prev {
  z-index: 10 !important;
}

html:not(.ace-mobile-site) .container_wqMJtE .ace-page4-swiper .swiper-wrapper {
  height: 100%;
  box-sizing: border-box;
  align-items: stretch;
}

/*
 * 幻灯片图：与圆角容器对齐铺满即可；负边距放大在 Gecko 下易与相框 mask 错位。
 */
html:not(.ace-mobile-site) .container_wqMJtE .ace-page4-swiper .swiper-slide {
  position: relative;
  display: block !important;
  height: 100%;
  overflow: hidden;
  line-height: 0;
  box-sizing: border-box;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

html:not(.ace-mobile-site) .container_wqMJtE .ace-page4-swiper .swiper-slide img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  pointer-events: none;
}
