/* 全站性能优化（2026-11-03 speed2）
   目标：更快首屏、更少布局抖动、更低移动端开销、更顺滑滚动
*/

/* ---------- 基础 ---------- */
img {
    max-width: 100%;
    height: auto;
}

/* 图片解码提示由 HTML 的 decoding="async" 属性控制；CSS 不支持设置该属性。 */

/* 视频卡片封面：固定比例，减少加载时布局抖动 (CLS) */
.a-con-inner .pic,
.hub-video-grid .pic,
.category-con .pic,
.vodlist__box .vodlist__thumb,
.search-con > ul > li .pic {
    aspect-ratio: 0.675;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.035);
    contain: layout style paint;
}

.a-con-inner .pic a,
.hub-video-grid .pic a,
.category-con .pic a {
    display: block;
    width: 100%;
    height: 100%;
}

.a-con-inner .pic img,
.hub-video-grid .pic img,
.category-con .pic img,
.vodlist__box .vodlist__thumb img,
.search-con > ul > li .pic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    content-visibility: auto;
}

/* 视频列表标题统一单行，超出显示省略号，防止撑宽网格 */
.a-con-inner > .s1,
.a-con-inner > .s1 a,
.a-con-inner .s1,
.a-con-inner .s1 a,
.hub-video-grid .title,
.hub-video-grid .title a {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.a-con-inner,
.hub-video-grid .item,
.category-con li {
    min-width: 0;
}

/* ---------- 内容可见性：离屏内容跳过渲染 ---------- */
.hub-section,
.hub-novel-grid,
.category-con,
.a-con,
.module-list,
.rank-list,
.article-results,
.footer {
    content-visibility: auto;
    contain-intrinsic-size: auto 320px;
}

/* 首页快捷入口与列表使用 contain，隔离重排影响 */
.hub-shortcuts,
.hub-video-grid,
.hub-novel-grid {
    contain: layout style;
}

/* ---------- 滚动与交互性能 ---------- */
html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

/* 减少移动端不必要的动画和悬停滤镜开销 */
@media (max-width: 767px) {
    .a-con-inner .pic a > img,
    .hub-video-grid .pic a > img,
    .category-con .pic a > img {
        transition: none !important;
    }
    .a-con-inner .pic a:hover img,
    .hub-video-grid .pic a:hover img,
    .category-con .pic a:hover img {
        filter: none !important;
        transform: none !important;
    }
    /* 移动端关闭昂贵阴影与复杂滤镜 */
    .hub-shortcut,
    .hub-section,
    .site-search-form {
        box-shadow: none !important;
    }
}

/* 用户偏好减少动态效果时关闭非必要动画 */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ---------- 字体与图标 ---------- */
/* 图标字体加载失败时不阻塞文字显示 */
.iconfont {
    font-display: swap;
}

/* ---------- 固定层与返回顶部等浮层 ---------- */
.back-to-top,
.recent-history-launcher,
.recent-history-panel {
    will-change: transform, opacity;
    contain: layout style paint;
}

/* ---------- 减少强制同步布局 ---------- */
.site-hot-search-dropdown,
.recent-history-panel {
    content-visibility: auto;
}

/* ---------- 打印时彻底隐藏无用元素 ---------- */
@media print {
    .back-to-top,
    .recent-history-launcher,
    .recent-history-panel,
    .hub-shortcuts,
    footer,
    .site-search-wrap {
        display: none !important;
    }
}
