/* 前台公共合成优化：只处理运动层，避免为长列表、正文和所有图片逐项建层。 */
.tab-bar {
    -webkit-transform:translate3d(0,0,0);
    transform:translate3d(0,0,0);
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
}

/* 背景滑块独立于文字层，保留原有定位及文字颜色。 */
.multimenu-active-bg,
.user-auth-active-bg,
.invite-active-bg,
.fc-filter-indicator {
    will-change:transform;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
}
.invite-active-bg {
    left:0;
    -webkit-transform:translate3d(0,0,0);
    transform:translate3d(0,0,0);
    -webkit-transition:-webkit-transform .25s cubic-bezier(.34,1.36,.64,1);
    transition:transform .25s cubic-bezier(.34,1.36,.64,1);
}

/* 原有居中变换由业务样式保留，不改滚动页及其祖先的坐标系。 */
.carousel-track,
.multimenu-track,
.fc-lightbox-track {
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
}
.fc-lightbox-track { will-change:transform; }

/* 大内容区仅在切换过程中保留合成提示，静止后交回浏览器管理。 */
#mainContent, #pageContent { will-change:auto; }
.gpu-page-transition #mainContent, .gpu-page-transition #pageContent { will-change:transform,opacity; }
#mainContent.slide-out-left {
    -webkit-transform:translate3d(-100%,0,0); transform:translate3d(-100%,0,0);
}
#pageContent, #pageContent.slide-out-right {
    -webkit-transform:translate3d(100%,0,0); transform:translate3d(100%,0,0);
}
#pageContent.slide-in, #mainContent.slide-in-left {
    -webkit-transform:translate3d(0,0,0); transform:translate3d(0,0,0);
}

/* 弹窗内容和抽屉是独立的小运动层，不提升整个遮罩或页面容器。 */
.fc-dialog, .wd-dialog {
    -webkit-transform:translate3d(0,0,0); transform:translate3d(0,0,0);
}
.fx-sheet {
    -webkit-transform:translate3d(0,100%,0); transform:translate3d(0,100%,0);
    will-change:transform;
}
.fx-sheet-mask.is-show .fx-sheet {
    -webkit-transform:translate3d(0,0,0); transform:translate3d(0,0,0);
}
.mp-confirm {
    -webkit-transform:translate3d(-50%,-50%,0); transform:translate3d(-50%,-50%,0);
}
.announcement-modal-box, .img-lightbox-img { will-change:transform,opacity; }

/* 旧版iOS补齐带前缀关键帧，公告保持原有速度。 */
.announcement-content {
    -webkit-animation-name:web-gpu-marquee;
    animation-name:web-gpu-marquee;
}
@-webkit-keyframes web-gpu-marquee {
    from { -webkit-transform:translate3d(0,0,0); transform:translate3d(0,0,0); }
    to { -webkit-transform:translate3d(-100%,0,0); transform:translate3d(-100%,0,0); }
}
@keyframes web-gpu-marquee {
    from { -webkit-transform:translate3d(0,0,0); transform:translate3d(0,0,0); }
    to { -webkit-transform:translate3d(-100%,0,0); transform:translate3d(-100%,0,0); }
}

@media(prefers-reduced-motion:reduce) {
    .invite-active-bg, .fx-sheet, #mainContent, #pageContent {
        -webkit-transition:none; transition:none;
        will-change:auto;
    }
}
