
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 30px;
    padding: 20px 0;
    background: transparent;
}
.pagination .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 12px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
}
.pagination .page-link:hover {
    background: rgba(255, 255, 255, 0.2);
}
.pagination .page-link.active {
    background: #007bff;
    color: #fff;
}
.pagination .page-info {
    margin-left: 15px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 14px;
}
.pagination .page-link.ellipsis {
    background: transparent;
    cursor: default;
    padding: 0 5px;
}
/* ===== 强制绝对上下结构 + 精确比例留白 ===== */
.container {
    width: 100% !important;
    max-width: none !important;
    margin: 24px 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    grid-auto-flow: row !important;
    padding: 0 112px !important; /* 140 × 0.8 = 112 */
    justify-items: stretch !important;
    align-items: start !important;
    box-sizing: border-box !important;
}
.container > * {
    justify-self: stretch !important;
    align-self: start !important;
    box-sizing: border-box !important;
}
.top-section {
    width: 100% !important;
    display: block !important;
    grid-row: 1 !important;
    margin: 0 0 28px 0 !important;
    padding: 0 !important;
    clear: both !important;
    float: none !important;
    box-sizing: border-box !important;
}
/* ★ 统一盒子：大轮播 + 精选推荐 + 小轮播 三个模块的共同容器（左右结构）★ */
.top-hero-box {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 360px !important;
    gap: 24px !important;
    align-items: start !important;
    justify-content: start !important;
    box-sizing: border-box !important;
}
/* ★ 恢复原始比例 16:7（padding-top:43.75% = 7÷16），经典法 100% 精确不受内容干扰 ★ */
.top-hero-box .banner,
.top-section .banner {
    margin: 0 !important;
    padding: 0 !important;
    padding-top: 43.75% !important; /* 43.75% = 7/16，严格 16:7 */
    width: 100% !important;
    height: 0 !important;
    display: block !important;
    position: relative !important;
    box-sizing: border-box !important;
    border: none !important;
    overflow: hidden !important;
    aspect-ratio: 16 / 7 !important; /* 双重保险 */
    max-height: none !important;
    min-height: 0 !important;
}
/* 只有 banner-item 才铺满盒子（去掉 .banner > * 避免影响指示器/描述层） */
.banner .banner-item,
.banner .banner-item.active {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}
/* 防止图片原始尺寸撑开 banner 容器 */
.banner-img {
    display: block !important;
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    position: absolute !important;
    top: 0;
    left: 0;
}
/* 切换指示器 + 描述层：明确恢复 bottom/right 位置（防止被其他规则覆盖） */
.banner-index {
    position: absolute !important;
    top: auto !important;
    left: auto !important;
    bottom: 16px !important;
    right: 20px !important;
    width: auto !important;
    height: auto !important;
    display: flex !important;
    gap: 8px !important;
}
.banner-desc {
    position: absolute !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    height: auto !important;
}
.top-hero-box .sidebar,
.top-section .sidebar {
    gap: 0;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
/* ★ 核心约束：.top-hero-box 盒子高度严格 = 大轮播高度，右侧 sidebar 不允许撑高盒子 ★ */
.top-hero-box {
    overflow: hidden !important; /* 任何溢出直接裁切 */
    min-height: 0 !important;
    align-items: start !important;
}
/* ★ 核心：sidebar 高度 严格 = 大轮播高度
   height:0 + min-height:100% = 不撑高父容器，但自己填满 = 轮播高度 ★ */
.top-hero-box .sidebar {
    height: 0 !important;
    min-height: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
}
/* ★ 精选推荐（第一个 side-block）：flex:1 自动填满剩余空间
   让「精选推荐高 + 间隔 + 小轮播高」严格等于大轮播高度 ★ */
.top-hero-box .sidebar > .side-block:first-child {
    min-height: 0 !important;
    flex: 1 1 auto !important; /* 关键：填满除小轮播+间隔外的所有空间 */
    overflow: auto !important; /* 内容超出可滚动，但视觉上对齐 */
    display: flex !important;
    flex-direction: column !important;
}
/* ★ 精选推荐内部 rank-list：继续 flex:1，撑满精选推荐卡片 ★ */
.top-hero-box .sidebar > .side-block:first-child .rank-scroll-wrap,
.top-hero-box .sidebar > .side-block:first-child .rank-list {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-around !important; /* 3 个 item 均匀分布 */
}
/* 小轮播图容器：不收缩，保持 16:10 比例，固定底部对齐 */
.top-hero-box .sidebar > .mini-banner-block {
    min-height: 0 !important;
    flex: 0 0 auto !important; /* 关键：不参与弹性分配 */
    flex-shrink: 0 !important; /* 双重防止收缩 */
    overflow: visible !important; /* 重要：让子元素 padding-top 撑开的高度被计算 */
    margin-top: 14px !important; /* 间隔增大：6 → 14px */
    width: 100% !important;
    box-sizing: border-box !important;
}
/* ★ 精选推荐压缩高度：只显示前 3 个 + 压缩各项内边距/间距 ★ */
.rank-item:nth-child(n+4) {
    display: none !important;
}
/* ★ 精选推荐卡片：纯净深蓝背景 ★ */
.side-block {
    background: #1e293b !important;
    backdrop-filter: none !important;
    border: 1px solid #334155 !important;
    border-radius: 14px !important;
    padding: 15px 15px !important;
    box-shadow: none !important;
    position: relative !important;
    overflow: hidden !important;
}
.side-block::before {
    display: none !important;
}
/* ★ 精选推荐整体卡片：统一深蓝背景 ★ */
.side-block:has(.rank-list) {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 14px 14px 12px !important;
    position: relative;
    overflow: hidden;
}
.side-block:has(.rank-list)::before,
.side-block:has(.rank-list)::after {
    display: none !important;
}

/* 精选推荐标题 */
.block-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
    color: #f8fafc !important;
    padding: 0 0 8px 0 !important;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
}
.bottom-section {
    width: 100% !important;
    display: block !important;
    grid-row: 2 !important;
    clear: both !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
.main-content,
.cate-tab,
.video-grid {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* ---------- 侧边栏小轮播图模块 ---------- */
.mini-banner-block.side-block {
    margin-top: 20px !important;
    padding: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
/* ★ 精选推荐 ↔ 小轮播图 间隔：增大一些 ★ */
.mini-banner-block {
    margin-top: 14px !important; /* 4 → 14px，间隔增大 */
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    flex-shrink: 0 !important; /* 防挤压 */
    overflow: visible !important; /* 让 padding-top 空间被计算 */
    width: 100% !important;
    box-sizing: border-box !important;
}
.mini-banner {
    width: 100% !important;
    display: block !important;
    padding-top: 62.5% !important; /* 62.5% = 10/16，严格 16:10 比例锁定（核心修复）*/
    height: 0 !important;
    aspect-ratio: 16 / 10 !important; /* 双重保险 */
    max-height: none !important;
    min-height: 0 !important;
    border-radius: 12px;
    overflow: hidden !important;
    position: relative !important;
    background: #0f172a;
    transform-style: preserve-3d;
    perspective: 1000px;
    transition: opacity 0.25s ease;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important; /* 不被父容器挤压 */
}
.mini-banner::before {
    display: none !important;
}
.mini-banner:hover {
    transform: none !important;
    box-shadow: none !important;
    border: none !important;
}
.mini-banner:hover::before {
    display: none !important;
    opacity: 0 !important;
}
.mini-banner-list {
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    overflow: hidden !important;
    perspective: 1400px;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
.mini-banner-item {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0;
    visibility: hidden;
    display: block !important;
    text-decoration: none;
    will-change: transform, opacity, filter;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
.mini-banner-item.active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

/* === 10种随机入场动画 === */
.mini-banner[data-anim="0"] .mini-banner-item.active { animation: animSlideLeft 0.65s cubic-bezier(0.22, 1, 0.36, 1) both; }
.mini-banner[data-anim="1"] .mini-banner-item.active { animation: animZoomBlur 0.72s cubic-bezier(0.22, 1, 0.36, 1) both; }
.mini-banner[data-anim="2"] .mini-banner-item.active { animation: animFlipX 0.78s cubic-bezier(0.34, 1.56, 0.64, 1) both; }
.mini-banner[data-anim="3"] .mini-banner-item.active { animation: animFlipY 0.78s cubic-bezier(0.34, 1.56, 0.64, 1) both; }
.mini-banner[data-anim="4"] .mini-banner-item.active { animation: animRotateIn 0.7s cubic-bezier(0.22, 1, 0.36, 1) both; }
.mini-banner[data-anim="5"] .mini-banner-item.active { animation: animSlideUp 0.65s cubic-bezier(0.22, 1, 0.36, 1) both; }
.mini-banner[data-anim="6"] .mini-banner-item.active { animation: animBounceIn 0.78s cubic-bezier(0.34, 1.56, 0.64, 1) both; }
.mini-banner[data-anim="7"] .mini-banner-item.active { animation: animDiagonalZoom 0.7s cubic-bezier(0.22, 1, 0.36, 1) both; }
.mini-banner[data-anim="8"] .mini-banner-item.active { animation: animTiltIn 0.7s cubic-bezier(0.22, 1, 0.36, 1) both; }
.mini-banner[data-anim="9"] .mini-banner-item.active { animation: animGlitchIn 0.6s steps(6, end) both; }

@keyframes animSlideLeft {
    0%   { opacity: 0; transform: translateX(40%) scale(0.9); filter: brightness(0.6) blur(6px); }
    100% { opacity: 1; transform: translateX(0) scale(1);    filter: brightness(1) blur(0); }
}
@keyframes animZoomBlur {
    0%   { opacity: 0; transform: scale(1.6); filter: brightness(0.4) blur(12px); }
    60%  { opacity: 1; }
    100% { opacity: 1; transform: scale(1);   filter: brightness(1) blur(0); }
}
@keyframes animFlipX {
    0%   { opacity: 0; transform: rotateX(80deg) scale(0.7); filter: brightness(0.5); }
    60%  { opacity: 1; }
    100% { opacity: 1; transform: rotateX(0) scale(1);      filter: brightness(1); }
}
@keyframes animFlipY {
    0%   { opacity: 0; transform: rotateY(-80deg) scale(0.7); filter: brightness(0.5); }
    60%  { opacity: 1; }
    100% { opacity: 1; transform: rotateY(0) scale(1);        filter: brightness(1); }
}
@keyframes animRotateIn {
    0%   { opacity: 0; transform: rotate(-180deg) scale(0.5); filter: brightness(0.4); }
    100% { opacity: 1; transform: rotate(0) scale(1);         filter: brightness(1); }
}
@keyframes animSlideUp {
    0%   { opacity: 0; transform: translateY(40%) scale(0.85); filter: brightness(0.5) blur(4px); }
    100% { opacity: 1; transform: translateY(0) scale(1);      filter: brightness(1) blur(0); }
}
@keyframes animBounceIn {
    0%   { opacity: 0; transform: scale(0.2); }
    50%  { opacity: 1; transform: scale(1.15); }
    80%  { transform: scale(0.95); }
    100% { opacity: 1; transform: scale(1); }
}
@keyframes animDiagonalZoom {
    0%   { opacity: 0; transform: translateX(-30%) translateY(30%) scale(0.6) rotate(-10deg); filter: blur(6px); }
    100% { opacity: 1; transform: translateX(0) translateY(0) scale(1) rotate(0);             filter: blur(0); }
}
@keyframes animTiltIn {
    0%   { opacity: 0; transform: translateX(20%) rotate(8deg) skewY(-8deg) scale(0.8); filter: brightness(0.6); }
    100% { opacity: 1; transform: translateX(0) rotate(0) skewY(0) scale(1);            filter: brightness(1); }
}
@keyframes animGlitchIn {
    0%   { opacity: 0; transform: translate(-8%, 4%) skewX(12deg) scale(1.1); filter: hue-rotate(90deg); clip-path: inset(0 0 70% 0); }
    20%  { opacity: 1; transform: translate(6%, -3%) skewX(-8deg);            filter: hue-rotate(-45deg); clip-path: inset(40% 0 20% 0); }
    40%  { transform: translate(-4%, 2%) skewX(6deg);                         clip-path: inset(10% 0 50% 0); }
    60%  { transform: translate(3%, -1%) skewX(-3deg);                        filter: hue-rotate(0); }
    80%  { transform: translate(-1%, 0) skewX(1deg) scale(1.02); }
    100% { opacity: 1; transform: translate(0) skewX(0) scale(1);             clip-path: inset(0); }
}

.mini-banner-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* 关键：图片保持比例填充，不拉伸变形 */
    display: block !important;
    transform-origin: center;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
}
.mini-banner-item.active img {
    animation: miniZoom 2.0s ease-in-out infinite alternate;
}
@keyframes miniZoom {
    0%   { transform: scale(1.02); }
    100% { transform: scale(1.12); }
}

.mini-banner-overlay {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    padding: 32px 14px 14px;
    background: linear-gradient(transparent, rgba(0,0,0,0.88));
    display: flex;
    align-items: center;
    gap: 8px;
    z-index: 2;
}

/* === 文字入场动画（8种随机） === */
.mini-banner[data-text="0"] .mini-banner-item.active .mini-banner-overlay { animation: txtSlideUpZoom 0.62s cubic-bezier(0.34, 1.56, 0.64, 1) 0.24s both; }
.mini-banner[data-text="1"] .mini-banner-item.active .mini-banner-overlay { animation: txtStaggerRight 0.58s ease-out 0.24s both; }
.mini-banner[data-text="2"] .mini-banner-item.active .mini-banner-overlay { animation: txtFlipInUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.24s both; }
.mini-banner[data-text="3"] .mini-banner-item.active .mini-banner-overlay { animation: txtBlurIn 0.62s ease-out 0.24s both; }
.mini-banner[data-text="4"] .mini-banner-item.active .mini-banner-overlay { animation: txtSkewSlide 0.58s cubic-bezier(0.22, 1, 0.36, 1) 0.24s both; }
.mini-banner[data-text="5"] .mini-banner-item.active .mini-banner-overlay { animation: txtPopBounce 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) 0.24s both; }
.mini-banner[data-text="6"] .mini-banner-item.active .mini-banner-overlay { animation: txtLetterSpace 0.7s ease-out 0.24s both; }
.mini-banner[data-text="7"] .mini-banner-item.active .mini-banner-overlay { animation: txtSlideUpIn 0.58s cubic-bezier(0.22, 1, 0.36, 1) 0.24s both; }

@keyframes txtSlideUpZoom {
    0%   { opacity: 0; transform: translateY(40px) scale(0.7); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes txtStaggerRight {
    0%   { opacity: 0; transform: translateX(-40px); filter: blur(4px); }
    100% { opacity: 1; transform: translateX(0); filter: blur(0); }
}
@keyframes txtFlipInUp {
    0%   { opacity: 0; transform: perspective(400px) rotateX(90deg); transform-origin: bottom; }
    60%  { opacity: 1; }
    100% { opacity: 1; transform: perspective(400px) rotateX(0); }
}
@keyframes txtBlurIn {
    0%   { opacity: 0; filter: blur(10px) brightness(1.5); transform: scale(0.9); }
    100% { opacity: 1; filter: blur(0) brightness(1);    transform: scale(1); }
}
@keyframes txtSkewSlide {
    0%   { opacity: 0; transform: skewY(-12deg) translateY(20px); }
    100% { opacity: 1; transform: skewY(0) translateY(0); }
}
@keyframes txtPopBounce {
    0%   { opacity: 0; transform: scale(0.2); }
    50%  { opacity: 1; transform: scale(1.1); }
    75%  { transform: scale(0.96); }
    100% { opacity: 1; transform: scale(1); }
}
@keyframes txtLetterSpace {
    0%   { opacity: 0; letter-spacing: 16px; transform: translateX(-8px); }
    100% { opacity: 1; letter-spacing: normal; transform: translateX(0); }
}
@keyframes txtSlideUpIn {
    0%   { opacity: 0; transform: translateY(24px); }
    100% { opacity: 1; transform: translateY(0); }
}

.mini-banner-item.active .mini-banner-tag {
    animation: tagAnim 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 0.4s both;
}
@keyframes tagAnim {
    0%   { opacity: 0; transform: scale(0.2) rotate(-20deg) translateX(-16px); }
    60%  { transform: scale(1.08) rotate(3deg); }
    100% { opacity: 1; transform: scale(1) rotate(0) translateX(0); }
}

.mini-banner-item.active .mini-banner-title {
    animation: titleAnim 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.52s both;
    position: relative;
    overflow: hidden;
}
.mini-banner-item.active .mini-banner-title::after {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.45) 50%, transparent 100%);
    animation: titleShine 1.3s ease-out 0.65s both;
}
@keyframes titleAnim {
    0%   { opacity: 0; transform: translateX(-24px); }
    100% { opacity: 1; transform: translateX(0); }
}
@keyframes titleShine {
    0%   { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}
.mini-banner-tag {
    background: linear-gradient(135deg, #ff4d4f, #ff7a45);
    color: #fff;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 4px;
    flex-shrink: 0;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(255, 77, 79, 0.4);
    letter-spacing: 0.5px;
}
.mini-banner-title {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}
.mini-banner-dots {
    position: absolute;
    bottom: 8px;
    right: 12px;
    display: flex;
    gap: 6px;
    z-index: 5;
}
.mini-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255,255,255,0.35);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    backdrop-filter: blur(4px);
}
.mini-dot:hover {
    background: rgba(255,255,255,0.6);
    transform: scale(1.3);
}
.mini-dot.active {
    background: linear-gradient(135deg, #3b82f6, #a855f7);
    width: 20px;
    border-radius: 4px;
    box-shadow: 0 0 12px rgba(59, 130, 246, 0.6);
}

/* ========== 精选推荐炫酷动效 ========== */
.rank-scroll-wrap {
    position: relative;
    overflow: hidden;
    mask-image: linear-gradient(to bottom, transparent 0%, #000 8%, #000 92%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
/* 广告列表容器 */
.rank-scroll-wrap {
    position: relative;
    overflow: hidden !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
}
.rank-list {
    display: flex;
    flex-direction: column;
    gap: 4px !important;
    position: relative;
    z-index: 1;
}
.rank-item:nth-child(n+4) {
    display: flex !important;
}
.rank-list.auto-scroll {
    animation: none !important;
}

/* 广告条目 */
.rank-item {
    display: flex;
    gap: 8px !important;
    align-items: center;
    padding: 7px 10px !important;
    min-height: 0 !important;
    border-radius: 8px;
    transition: background 0.2s ease;
    cursor: pointer;
    background: rgba(15, 23, 42, 0.3);
    flex-shrink: 0;
    border: none !important;
    height: auto !important;
}
.rank-item:last-child {
    border-bottom: none !important;
}
.rank-item:nth-child(odd) {
    background: rgba(15, 23, 42, 0.35);
}
.rank-item:nth-child(even) {
    background: rgba(30, 41, 59, 0.3);
}
.rank-item::before,
.rank-item::after {
    content: none !important;
    display: none !important;
}
.rank-item .mini-kline,
.rank-item .mini-volume {
    display: none !important;
}
.rank-item:hover {
    background: rgba(59, 130, 246, 0.15) !important;
    box-shadow: none !important;
}

/* rank-num 隐藏 */
.rank-num {
    display: none !important;
}

/* AD标签 */
.rank-ad-tag {
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 18px !important;
    padding: 0 !important;
    margin-right: 0 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    color: #fbbf24;
    background: rgba(251, 191, 36, 0.12);
    border: 1px solid rgba(251, 191, 36, 0.3);
    box-shadow: none !important;
}
.rank-item:hover .rank-ad-tag {
    transform: none !important;
    box-shadow: none !important;
    background: rgba(251, 191, 36, 0.2);
}

/* 广告文字 - 调小字号 */
.rank-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    -webkit-text-fill-color: initial !important;
    font-size: 11.5px !important;
    font-weight: 400 !important;
    color: #e2e8f0 !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    position: relative !important;
    z-index: 2 !important;
}
.rank-text::before,
.rank-text::after {
    content: none !important;
    display: none !important;
}
.rank-item:hover .rank-text {
    color: #ffffff !important;
    text-shadow: none !important;
    transform: none !important;
}
.ad-mark {
    display: none !important;
}


/* ========== 纯净广告列表：无股票元素，精简小字号 ========== */

.rank-list.auto-scroll { animation: none !important; }
.rank-item::before,
.rank-item::after,
.rank-item .mini-kline,
.rank-item .mini-volume,
.rank-text::before {
    content: none !important;
    display: none !important;
}
.rank-num,
.rank-change,
.ad-mark {
    display: none !important;
}

.rank-item {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 10px !important;
    min-height: 0 !important;
    border-radius: 8px !important;
    border-bottom: none !important;
    height: auto !important;
    transition: background 0.2s ease !important;
    cursor: pointer !important;
    flex-shrink: 0;
}
.rank-item:nth-child(odd) {
    background: rgba(15, 23, 42, 0.35) !important;
}
.rank-item:nth-child(even) {
    background: rgba(30, 41, 59, 0.3) !important;
}
.rank-item:hover {
    background: rgba(59, 130, 246, 0.15) !important;
}

.rank-ad-tag {
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 18px !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    color: #fbbf24 !important;
    background: rgba(251, 191, 36, 0.12) !important;
    border: 1px solid rgba(251, 191, 36, 0.3) !important;
    box-shadow: none !important;
}

.rank-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    -webkit-text-fill-color: initial !important;
    font-size: 11.5px !important;
    font-weight: 400 !important;
    color: #e2e8f0 !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.rank-item:hover .rank-text {
    color: #ffffff !important;
    text-shadow: none !important;
    transform: none !important;
}
.rank-item:hover .rank-ad-tag {
    background: rgba(251, 191, 36, 0.2) !important;
    box-shadow: none !important;
    transform: none !important;
}


/* ================================================================
   【简洁两档体系】4列 / 5列，连接点 1528px 处断开
   两档使用相同缩放分母(1912)，断点处尺寸完全一致，只变列数
   基准：当前 1912px 窗口 = 1.0x（左右留白 = 140px）
   ================================================================ */

/* =========================================================
   档1：4列（≤1599px）—— 所有小屏统一4列，连续线性缩放
   缩放公式与5列档完全一致（/1912），1528px断点零跳变
   ========================================================= */
@media (max-width: 1599px) {
    .container {
        margin: calc(24 * 100vw / 1912) 0 !important;
        padding: 0 calc(140 * 100vw / 1912) !important;
    }
    .top-section { margin: 0 0 calc(28 * 100vw / 1912) 0 !important; }
    .top-hero-box {
        grid-template-columns: 1fr calc(389 * 100vw / 1912) !important;
        gap: calc(26 * 100vw / 1912) !important;
    }
    /* 覆盖全局固定值：精选推荐卡片(带rank-list的) */
    .side-block:has(.rank-list) {
        border-radius: calc(14 * 100vw / 1912) !important;
        padding:
            calc(14 * 100vw / 1912)
            calc(14 * 100vw / 1912)
            calc(12 * 100vw / 1912) !important;
    }
    .mini-banner-block.side-block,
    .mini-banner-block {
        margin-top: calc(14 * 100vw / 1912) !important;
    }
    .video-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: calc(26 * 100vw / 1912) !important;
    }
    .video-card { border-radius: calc(13 * 100vw / 1912); }
    .video-card:hover {
        transform: translateY(calc(-5.5 * 100vw / 1912));
        box-shadow: 0 calc(8 * 100vw / 1912) calc(22 * 100vw / 1912) rgba(0,0,0,0.3);
    }
    .duration {
        bottom: calc(8 * 100vw / 1912);
        right: calc(8 * 100vw / 1912);
        font-size: calc(14 * 100vw / 1912);
        padding: calc(3 * 100vw / 1912) calc(8 * 100vw / 1912);
        border-radius: calc(5 * 100vw / 1912);
    }
    .video-info { padding: calc(12 * 100vw / 1912); }
    .video-title {
        font-size: calc(18 * 100vw / 1912);
        line-height: 1.4;
        margin-bottom: calc(9 * 100vw / 1912);
    }
    .up-info {
        gap: calc(7 * 100vw / 1912);
        font-size: calc(15 * 100vw / 1912);
        margin-bottom: calc(7 * 100vw / 1912);
    }
    .up-avatar {
        width: calc(23 * 100vw / 1912);
        height: calc(23 * 100vw / 1912);
    }
    .video-stat {
        gap: calc(13 * 100vw / 1912);
        font-size: calc(14 * 100vw / 1912);
    }
    .cate-tab {
        gap: calc(13 * 100vw / 1912);
        margin-bottom: calc(24 * 100vw / 1912);
        padding-bottom: calc(9 * 100vw / 1912);
    }
    .cate-tab::-webkit-scrollbar { height: calc(5 * 100vw / 1912); }
    .cate-item {
        padding: calc(9 * 100vw / 1912) calc(22 * 100vw / 1912);
        border-radius: calc(24 * 100vw / 1912);
        font-size: calc(16 * 100vw / 1912);
    }

    /* 大轮播图 */
    .banner { border-radius: calc(14 * 100vw / 1912); }
    .banner-desc { padding: calc(37 * 100vw / 1912) calc(25 * 100vw / 1912); }
    .banner-index {
        bottom: calc(20 * 100vw / 1912);
        right: calc(25 * 100vw / 1912);
        gap: calc(9 * 100vw / 1912);
    }
    .dot {
        width: calc(11 * 100vw / 1912);
        height: calc(11 * 100vw / 1912);
    }

    /* 精选推荐：4列档只显示前5个 */
    .rank-item:nth-child(n+6) { display: none !important; }
    .sidebar { gap: 0 !important; }
    .side-block {
        border-radius: calc(14 * 100vw / 1912);
        padding: calc(15 * 100vw / 1912) calc(15 * 100vw / 1912) !important;
    }
    .side-block.mini-banner-block { margin-top: calc(14 * 100vw / 1912) !important; }
    .block-title {
        font-size: calc(16 * 100vw / 1912);
        margin-bottom: calc(10 * 100vw / 1912) !important;
        padding-bottom: calc(8 * 100vw / 1912);
    }
    .rank-list { gap: calc(4 * 100vw / 1912) !important; }
    .rank-scroll-wrap { overflow-y: auto !important; }
    .rank-item {
        gap: calc(8 * 100vw / 1912) !important;
        padding: calc(7 * 100vw / 1912) calc(9 * 100vw / 1912) !important;
        border-radius: calc(7 * 100vw / 1912);
    }
    .rank-ad-tag {
        width: calc(28 * 100vw / 1912);
        min-width: calc(28 * 100vw / 1912);
        height: calc(18 * 100vw / 1912);
        font-size: calc(9 * 100vw / 1912);
    }
    .rank-text { font-size: calc(11.5 * 100vw / 1912) !important; }

    /* 小轮播图：比例锁定由全局 16:10 负责 */
    .mini-banner { border-radius: calc(13 * 100vw / 1912); }
    .mini-banner-overlay {
        padding: calc(34 * 100vw / 1912) calc(15 * 100vw / 1912) calc(15 * 100vw / 1912);
        gap: calc(9 * 100vw / 1912);
    }
    .mini-banner-tag {
        font-size: calc(12 * 100vw / 1912);
        padding: calc(3 * 100vw / 1912) calc(8 * 100vw / 1912);
        border-radius: calc(4 * 100vw / 1912);
    }
    .mini-banner-title { font-size: calc(15 * 100vw / 1912); }
    .mini-banner-dots {
        bottom: calc(9 * 100vw / 1912);
        right: calc(14 * 100vw / 1912);
        gap: calc(7 * 100vw / 1912);
    }
    .mini-dot {
        width: calc(7.5 * 100vw / 1912);
        height: calc(7.5 * 100vw / 1912);
    }
    .mini-dot.active {
        width: calc(22 * 100vw / 1912);
        border-radius: calc(4 * 100vw / 1912);
    }

    /* 底部分页 */
    .footer {
        margin-top: calc(53 * 100vw / 1912);
        padding: calc(40 * 100vw / 1912) calc(27 * 100vw / 1912);
        font-size: calc(16 * 100vw / 1912);
    }
    .pagination {
        gap: calc(9 * 100vw / 1912);
        margin-top: calc(40 * 100vw / 1912);
        padding: calc(26 * 100vw / 1912) 0;
    }
    .pagination .page-link {
        min-width: calc(47 * 100vw / 1912);
        height: calc(47 * 100vw / 1912);
        padding: 0 calc(15 * 100vw / 1912);
        border-radius: calc(8 * 100vw / 1912);
        font-size: calc(17 * 100vw / 1912);
    }
    .pagination .page-info {
        margin-left: calc(20 * 100vw / 1912);
        font-size: calc(17 * 100vw / 1912);
    }
}

/* =========================================================
   档2：5列（≥1528px）—— 统一连续线性缩放，不搞断点弯弯绕绕
   所有元素按 s = 100vw / 1912 系数等比例放大缩小
   ★ 基准：当前 1912px 窗口 = 1.0x（左右留白 = 140px）★
   ========================================================= */
@media (min-width: 1528px) {
    /* ---- 统一缩放系数 s = 屏幕宽度/1912，所有尺寸 = 基准值 × s ---- */
    .container {
        margin: calc(24 * 100vw / 1912) 0 !important;
        padding: 0 calc(140 * 100vw / 1912) !important;
    }
    .top-section { margin: 0 0 calc(28 * 100vw / 1912) 0 !important; }
    .top-hero-box {
        grid-template-columns: 1fr calc(389 * 100vw / 1912) !important;
        gap: calc(26 * 100vw / 1912) !important;
    }
    /* 覆盖全局固定值：精选推荐卡片(带rank-list的) */
    .side-block:has(.rank-list) {
        border-radius: calc(14 * 100vw / 1912) !important;
        padding:
            calc(14 * 100vw / 1912)
            calc(14 * 100vw / 1912)
            calc(12 * 100vw / 1912) !important;
    }
    /* 小轮播图容器 margin-top（双重保险覆盖全局固定）*/
    .mini-banner-block.side-block,
    .mini-banner-block {
        margin-top: calc(14 * 100vw / 1912) !important;
    }
    .video-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: calc(26 * 100vw / 1912) !important;
    }
    .video-card { border-radius: calc(13 * 100vw / 1912); }
    .video-card:hover {
        transform: translateY(calc(-5.5 * 100vw / 1912));
        box-shadow: 0 calc(8 * 100vw / 1912) calc(22 * 100vw / 1912) rgba(0,0,0,0.3);
    }
    .duration {
        bottom: calc(8 * 100vw / 1912);
        right: calc(8 * 100vw / 1912);
        font-size: calc(14 * 100vw / 1912);
        padding: calc(3 * 100vw / 1912) calc(8 * 100vw / 1912);
        border-radius: calc(5 * 100vw / 1912);
    }
    .video-info { padding: calc(12 * 100vw / 1912); }
    .video-title {
        font-size: calc(18 * 100vw / 1912);
        line-height: 1.4;
        margin-bottom: calc(9 * 100vw / 1912);
    }
    .up-info {
        gap: calc(7 * 100vw / 1912);
        font-size: calc(15 * 100vw / 1912);
        margin-bottom: calc(7 * 100vw / 1912);
    }
    .up-avatar {
        width: calc(23 * 100vw / 1912);
        height: calc(23 * 100vw / 1912);
    }
    .video-stat {
        gap: calc(13 * 100vw / 1912);
        font-size: calc(14 * 100vw / 1912);
    }
    .cate-tab {
        gap: calc(13 * 100vw / 1912);
        margin-bottom: calc(24 * 100vw / 1912);
        padding-bottom: calc(9 * 100vw / 1912);
    }
    .cate-tab::-webkit-scrollbar { height: calc(5 * 100vw / 1912); }
    .cate-item {
        padding: calc(9 * 100vw / 1912) calc(22 * 100vw / 1912);
        border-radius: calc(24 * 100vw / 1912);
        font-size: calc(16 * 100vw / 1912);
    }

    /* 大轮播图 */
    .banner { border-radius: calc(14 * 100vw / 1912); }
    .banner-desc { padding: calc(37 * 100vw / 1912) calc(25 * 100vw / 1912); }
    .banner-index {
        bottom: calc(20 * 100vw / 1912);
        right: calc(25 * 100vw / 1912);
        gap: calc(9 * 100vw / 1912);
    }
    .dot {
        width: calc(11 * 100vw / 1912);
        height: calc(11 * 100vw / 1912);
    }

    /* 精选推荐 */
    .sidebar { gap: 0 !important; }
    .side-block {
        border-radius: calc(14 * 100vw / 1912);
        padding: calc(15 * 100vw / 1912) calc(15 * 100vw / 1912) !important;
    }
    .side-block.mini-banner-block { margin-top: calc(14 * 100vw / 1912) !important; }
    .block-title {
        font-size: calc(16 * 100vw / 1912);
        margin-bottom: calc(10 * 100vw / 1912) !important;
        padding-bottom: calc(8 * 100vw / 1912);
    }
    .rank-list { gap: calc(4 * 100vw / 1912) !important; }
    .rank-scroll-wrap { overflow-y: auto !important; }
    .rank-item {
        gap: calc(8 * 100vw / 1912) !important;
        padding: calc(7 * 100vw / 1912) calc(9 * 100vw / 1912) !important;
        border-radius: calc(7 * 100vw / 1912);
    }
    .rank-ad-tag {
        width: calc(28 * 100vw / 1912);
        min-width: calc(28 * 100vw / 1912);
        height: calc(18 * 100vw / 1912);
        font-size: calc(9 * 100vw / 1912);
    }
    .rank-text { font-size: calc(11.5 * 100vw / 1912) !important; }

    /* 小轮播图：比例锁定由全局 16:10 负责，外观尺寸随屏幕缩放 */
    .mini-banner { border-radius: calc(13 * 100vw / 1912); }
    .mini-banner-overlay {
        padding: calc(34 * 100vw / 1912) calc(15 * 100vw / 1912) calc(15 * 100vw / 1912);
        gap: calc(9 * 100vw / 1912);
    }
    .mini-banner-tag {
        font-size: calc(12 * 100vw / 1912);
        padding: calc(3 * 100vw / 1912) calc(8 * 100vw / 1912);
        border-radius: calc(4 * 100vw / 1912);
    }
    .mini-banner-title { font-size: calc(15 * 100vw / 1912); }
    .mini-banner-dots {
        bottom: calc(9 * 100vw / 1912);
        right: calc(14 * 100vw / 1912);
        gap: calc(7 * 100vw / 1912);
    }
    .mini-dot {
        width: calc(7.5 * 100vw / 1912);
        height: calc(7.5 * 100vw / 1912);
    }
    .mini-dot.active {
        width: calc(22 * 100vw / 1912);
        border-radius: calc(4 * 100vw / 1912);
    }

    /* 底部分页 */
    .footer {
        margin-top: calc(53 * 100vw / 1912);
        padding: calc(40 * 100vw / 1912) calc(27 * 100vw / 1912);
        font-size: calc(16 * 100vw / 1912);
    }
    .pagination {
        gap: calc(9 * 100vw / 1912);
        margin-top: calc(40 * 100vw / 1912);
        padding: calc(26 * 100vw / 1912) 0;
    }
    .pagination .page-link {
        min-width: calc(47 * 100vw / 1912);
        height: calc(47 * 100vw / 1912);
        padding: 0 calc(15 * 100vw / 1912);
        border-radius: calc(8 * 100vw / 1912);
        font-size: calc(17 * 100vw / 1912);
    }
    .pagination .page-info {
        margin-left: calc(20 * 100vw / 1912);
        font-size: calc(17 * 100vw / 1912);
    }
}