/* =====================================================================
   动效层（六套皮肤共用）：只做「进场 + 视差 + 按压反馈」，全部可被
   prefers-reduced-motion 关掉，且不改变任何布局尺寸。
   ===================================================================== */

@media (prefers-reduced-motion: no-preference) {
    .fx-reveal {
        opacity: 0;
        transform: translateY(18px);
        transition: opacity .55s ease, transform .55s cubic-bezier(.2, .7, .2, 1);
        will-change: opacity, transform;
    }
    .fx-reveal.is-in {
        opacity: 1;
        transform: none;
    }

    /* 滚动后给吸顶外壳一点浮起感（不改变高度） */
    body.is-scrolled .site-nav,
    body.is-scrolled .cn-header,
    body.is-scrolled .tc-cmd,
    body.is-scrolled .gskin-header,
    body.is-scrolled .bru-header {
        box-shadow: 0 10px 26px -20px rgba(0, 0, 0, .75);
    }

    /* 首屏视差：只对视频层做轻微位移，文字层不动 */
    .fx-parallax video {
        transition: transform .12s linear;
        will-change: transform;
    }
}

/* 触摸设备：按下时的即时反馈（CSS 层，不依赖 JS） */
@media (hover: none) {
    .game-card:active,
    .poster-card:active,
    .gx-card:active,
    .ac-cab:active,
    .bru-card:active,
    .ed-entry:active,
    .tc-item:active,
    .genre-strip-items a:active {
        transform: scale(.985);
    }
    .btn:active, .ac-search button:active, .bru-search button:active {
        transform: translateY(1px);
    }
}

/* 触摸设备上滚动条更细，避免横向展品轨占掉半屏 */
@media (pointer: coarse) {
    .poster-rail, .gskin-track, .tc-navlinks {
        -webkit-overflow-scrolling: touch;
    }
    .poster-rail::-webkit-scrollbar,
    .gskin-track::-webkit-scrollbar { height: 0; }
}
