/* 寻梦应用管理 — 与子比等浅色主题协调，强调色由 --xm-app-accent 控制 */

/* 与子比 zib_head_css() 输出的 --theme-color 对齐（含深色模式切换） */
.xm-app-accent-from-theme {
    --xm-app-accent: var(--theme-color, #e53935);
}

/* 落在子比 page-article / wp-posts-content 内时收紧顶边距 */
.page-article .xm-app-catalog,
.xm-app-archive-inner .xm-app-catalog {
    margin-top: 0;
}

/* 与完整目录页一致：面包屑 → 热门横滑 → 筛选 → 网格；避免子比正文区 flex/limit-height 只露出首块 */
.wp-posts-content .xm-app-catalog-shell,
.wp-posts-content .xm-app-catalog {
    display: block;
    width: 100%;
    max-width: 100%;
    clear: both;
    box-sizing: border-box;
}

.limit-height .wp-posts-content .xm-app-catalog-shell,
.limit-height .wp-posts-content .xm-app-catalog,
.article.limit-height .wp-posts-content .xm-app-catalog {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
}

/* 筛选区保持块级；网格必须用 grid，勿写 display:block 否则会盖掉 .xm-app-grid 的多列布局 */
.wp-posts-content .xm-app-filters {
    display: block;
    width: 100%;
    clear: both;
}

.wp-posts-content .xm-app-grid {
    width: 100%;
    max-width: 100%;
    clear: both;
    min-width: 0;
}

/* 与子比 theme-box 同级的目录外壳（非子比主题时仍有独立样式） */
.xm-app-catalog-shell:not(.theme-box) {
    background: var(--main-bg-color, #fff);
    border-radius: var(--main-radius, 8px);
    box-shadow: 0 0 10px var(--main-shadow, rgba(116, 116, 116, 0.08));
    padding: 1.25rem 1.25rem 1.5rem;
    margin-bottom: 1rem;
}

.xm-app-catalog-shell.theme-box {
    padding: 1.25rem 1.25rem 1.5rem;
}

@media (max-width: 576px) {
    .xm-app-catalog-shell:not(.theme-box),
    .xm-app-catalog-shell.theme-box {
        padding: 1rem;
    }
}

.xm-app-catalog {
    --xm-app-radius: 12px;
    /* 与子比 body / .dark-theme 下的 CSS 变量一致，日夜间自动切换 */
    --xm-app-muted: var(--muted-color, #6b7280);
    --xm-app-bg: var(--muted-bg-color, #f9fafb);
    margin: 0 0 1.5rem;
    font-size: 14px;
    line-height: 1.45;
    color: var(--key-color, #1f2937);
}

.xm-app-catalog-shell .xm-app-catalog {
    margin-bottom: 0;
}

/*
 * 目录卡片不用 article/h3/p：避免子比 .wp-posts-content h3、p、行高 渗入产生大块留白。
 * 卡片内用 flex 纵向 + gap 统一间距（见 .xm-app-card-link）。
 */
.wp-posts-content .xm-app-catalog .xm-app-card-title,
.article-content .wp-posts-content .xm-app-catalog .xm-app-card-title,
.xm-app-catalog .xm-app-card-title {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    max-height: 2.6em !important;
    min-height: 0 !important;
}

.wp-posts-content .xm-app-catalog .xm-app-tagline,
.article-content .wp-posts-content .xm-app-catalog .xm-app-tagline,
.xm-app-catalog .xm-app-tagline {
    margin: 0 !important;
    padding: 2px 0 0 !important;
    border-top: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.06));
    line-height: 1.35 !important;
    font-size: 12px !important;
}

/* 卡片边框紧贴内容：收紧内边距与区块间距（子比正文区内亦强制） */
.wp-posts-content .xm-app-catalog .xm-app-card-link,
.article-content .wp-posts-content .xm-app-catalog .xm-app-card-link,
.xm-app-catalog .xm-app-card-link {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 2px !important;
    padding: 2px 5px 3px !important;
    margin: 0 !important;
    line-height: 1.25;
    box-sizing: border-box;
}

.xm-app-catalog .xm-app-heat {
    font-size: 12px !important;
}

.xm-app-catalog .xm-app-stars {
    font-size: 12px !important;
    letter-spacing: 1px !important;
}

.xm-app-catalog .xm-app-card {
    border-radius: var(--xm-app-radius, 12px) !important;
}

.xm-app-catalog .xm-app-card-top {
    flex: 0 0 auto;
    line-height: 1.15;
    min-height: 0;
    margin: 0;
}

.xm-app-catalog .xm-app-heat,
.xm-app-catalog .xm-app-stars {
    line-height: 1.15;
}

.xm-app-catalog .xm-app-icon-wrap {
    margin: 0;
    position: relative;
    isolation: isolate;
    border-radius: 16px !important;
}

.xm-app-catalog .xm-app-icon-wrap img {
    margin: 0 !important;
}

/* 图标铺满方框；角标绝对浮层，避免主题把角标当块级占位导致「下压」裁剪 */
.xm-app-catalog .xm-app-icon-wrap .xm-app-icon {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0;
}

/* 角标：图二左上斜带，纯色、-45°，带宽与位移加大以铺满角区（约 1/4 边长），由图标圆角裁切 */
.xm-app-catalog .xm-app-icon-wrap .xm-app-discount-ribbon {
    position: absolute !important;
    top: clamp(10px, 11cqi, 22px) !important;
    left: clamp(-46px, -36cqi, -22px) !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 2 !important;
    width: clamp(78px, 112cqi, 146px) !important;
    max-width: none !important;
    margin: 0 !important;
    padding: clamp(5px, 5.4cqi, 11px) 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
    white-space: nowrap !important;
    text-align: center !important;
    font-size: clamp(8px, 6.8cqi, 13px) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.02em !important;
    color: #fff !important;
    font-family: system-ui, -apple-system, 'Segoe UI', sans-serif !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28) !important;
    background-color: var(--xm-app-accent, #ee263b) !important;
    background-image: none !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
    transform: rotate(-45deg) !important;
    transform-origin: center center !important;
    pointer-events: none !important;
}

.xm-app-breadcrumb {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.2em;
    margin-bottom: 1rem;
    font-size: 13px;
    line-height: 1.4;
    color: var(--xm-app-muted, #6b7280);
}

.xm-app-breadcrumb a {
    flex: 0 0 auto;
    color: var(--xm-app-accent, #e53935);
    text-decoration: none;
    white-space: nowrap;
}

.xm-app-breadcrumb a:hover {
    opacity: 0.85;
}

.xm-app-bc-sep,
.xm-app-bc-current {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* —— 热门横栏：仅调「上下」留白时改这里即可 ——
 * 外框上下：.xm-app-hot-inner 的 padding 第 1、3 个值（上、下）
 * 横滑区上下：.xm-app-hot-scroll 的 padding 第 1、3 个值（上、下）；左侧第 4 个值为角标留空，勿当上下边距改
 * 与下面筛选的间距：.xm-app-hot 的 margin-bottom
 */
.xm-app-hot {
    margin-bottom: 0.75rem;
}

.xm-app-hot-inner {
    position: relative;
    background: var(--xm-app-bg, #f9fafb);
    border-radius: var(--xm-app-radius);
    padding: 0.06rem 0.35rem 0.06rem;
    border: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.06));
    overflow-x: hidden;
    overflow-y: visible;
}

.xm-app-hot-ribbon {
    position: absolute;
    top: 0;
    left: 0;
    background: var(--xm-app-accent, #e53935);
    color: #fff;
    font-size: 12px;
    padding: 2px 10px;
    border-bottom-right-radius: 8px;
    font-weight: 600;
    z-index: 2;
}

.xm-app-hot-scroll {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0.75rem;
    overflow-x: auto;
    padding: 0.08rem 0.25rem 0.04rem 2.85rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    min-width: 0;
    box-sizing: border-box;
}

/* 与子比等主题下「链接拉满宽」隔离，避免出现整栏单张大图 */
.xm-app-catalog .xm-app-hot-scroll,
.xm-app-hot .xm-app-hot-scroll {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
}

.xm-app-hot-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 0 0 auto;
    width: 76px;
    max-width: 76px;
    text-align: center;
    text-decoration: none;
    color: inherit;
    box-sizing: border-box;
}

.xm-app-catalog .xm-app-hot-item,
.xm-app-hot .xm-app-hot-item {
    flex: 0 0 76px !important;
    width: 76px !important;
    max-width: 76px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.xm-app-hot-icon-wrap {
    position: relative;
    isolation: isolate;
    container-type: inline-size;
    container-name: xm-app-hot-icon;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    max-width: 64px;
    min-width: 64px;
    margin: 0 auto 6px;
    border-radius: 16px;
    overflow: hidden;
    border: 2px solid var(--main-bg-color, #fff);
    box-shadow: 0 2px 8px var(--main-shadow, rgba(0, 0, 0, 0.08));
    flex-shrink: 0;
    box-sizing: border-box;
}

/* 热门 64px 图标：斜角标按比例缩小（与目录卡片同源类名） */
.xm-app-catalog .xm-app-hot-icon-wrap .xm-app-discount-ribbon,
.xm-app-hot .xm-app-hot-icon-wrap .xm-app-discount-ribbon {
    top: clamp(3px, 7cqi, 8px);
    left: clamp(-22px, -30cqi, -11px);
    width: clamp(38px, 92cqi, 56px);
    padding: clamp(2px, 3.6cqi, 5px) 0;
    font-size: clamp(5px, 8.2cqi, 9px);
    font-weight: 800;
    line-height: 1.08;
}

/*
 * 子比：body img { max-height:100% }、.wp-posts-content img { height:auto; margin:auto }
 * 会压过普通 cover，导致图标只在框底露一截。须用更高优先级 + !important 固定满框 cover。
 */
.wp-posts-content .xm-app-catalog .xm-app-hot-icon-wrap img.xm-app-hot-thumb,
.article-content .wp-posts-content .xm-app-catalog .xm-app-hot-icon-wrap img.xm-app-hot-thumb,
.xm-app-catalog .xm-app-hot .xm-app-hot-icon-wrap img.xm-app-hot-thumb,
.xm-app-hot .xm-app-hot-icon-wrap img.xm-app-hot-thumb {
    position: relative;
    z-index: 0;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    vertical-align: top;
    flex: 0 0 auto;
}

.xm-app-catalog .xm-app-hot-icon-wrap,
.xm-app-hot .xm-app-hot-icon-wrap {
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
    min-width: 64px !important;
    flex-shrink: 0 !important;
}

/* 目录卡片图标：同上，防正文区内被 wp-posts-content img 改写 */
.wp-posts-content .xm-app-catalog .xm-app-icon-wrap img.xm-app-icon,
.article-content .wp-posts-content .xm-app-catalog .xm-app-icon-wrap img.xm-app-icon {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
}

.xm-app-hot-title {
    display: block;
    font-size: 12px;
    line-height: 1.3;
    max-height: 2.6em;
    overflow: hidden;
}

.xm-app-hot-empty {
    margin: 0.35rem 0 0.15rem;
    padding: 0.25rem 0.5rem 0.2rem 2.85rem;
    font-size: 13px;
    color: var(--xm-app-muted, #6b7280);
    line-height: 1.55;
}

.xm-app-filters {
    margin-bottom: 1rem;
}

/* 筛选：白底、紧凑；选中为粉/红底圆角块，其余纯文字；无分类缩略图 */
.xm-app-filters--card {
    background: var(--main-bg-color, #fff);
    border: none;
    border-bottom: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
    border-radius: 0;
    padding: 0.35rem 0 0.45rem;
    margin-bottom: 1rem;
}

.xm-app-filters--card .xm-app-filter-row:last-child {
    margin-bottom: 0;
}

.xm-app-filter-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
    margin-bottom: 0.4rem;
}

.xm-app-filter-label {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-width: 4.75em;
    min-height: 32px;
    font-weight: 600;
    color: var(--key-color, #1f2937);
    padding-top: 0;
    font-size: 14px;
    line-height: 1.25;
}

.xm-app-filter-chips {
    flex: 1 1 200px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    gap: 2px 14px;
}

a.xm-app-chip {
    text-decoration: none;
    color: inherit;
    box-sizing: border-box;
}

/* 图二：选中为粉/红底圆角块，其余为纯文字；全部项同一 flex 盒模型保证与标签垂直对齐 */
.xm-app-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    border-radius: 4px;
    padding: 4px 4px;
    min-height: 32px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.25;
    cursor: pointer;
    color: var(--key-color, #1f2937);
    transition: color 0.15s, background 0.15s;
}

.xm-app-chip:hover {
    border: none;
    color: var(--xm-app-accent, #e53935);
    background: transparent;
}

.xm-app-chip.is-active {
    background: var(--xm-app-accent, #e53935);
    border: none;
    color: #fff;
    font-weight: 500;
    padding: 6px 14px;
    min-height: 32px;
    border-radius: 8px;
}

.xm-app-chip.is-active:hover {
    color: #fff;
    opacity: 0.92;
}

/* 目录网格：大屏一排 5 卡；窄屏递减列数 */
.xm-app-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}

@media (min-width: 640px) {
    .xm-app-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
    }
}

@media (min-width: 900px) {
    .xm-app-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
    }
}

@media (min-width: 1100px) {
    .xm-app-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 16px;
    }
}

.xm-app-card {
    margin: 0;
    padding: 0;
    min-width: 0;
    max-width: 100%;
    background: var(--main-bg-color, #fff);
    border-radius: var(--xm-app-radius);
    border: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.06));
    box-shadow: 0 1px 3px var(--main-shadow, rgba(0, 0, 0, 0.04));
    overflow: hidden;
    transition: box-shadow 0.2s, transform 0.2s;
}

.xm-app-card:hover {
    box-shadow: 0 8px 24px var(--main-shadow, rgba(0, 0, 0, 0.08));
    transform: translateY(-2px);
}

.xm-app-card-link {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    padding: 2px 5px 3px;
    text-decoration: none;
    color: inherit;
    line-height: 1.25;
    box-sizing: border-box;
}

.xm-app-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    flex: 0 0 auto;
    line-height: 1.15;
    min-height: 0;
}

.xm-app-heat {
    font-size: 12px;
    font-weight: 500;
    color: var(--xm-app-muted, #6b7280);
}

.xm-app-stars {
    font-size: 12px;
    letter-spacing: 1px;
    line-height: 1;
}

.xm-app-star.is-on {
    color: #f59e0b;
}

.xm-app-star.is-off {
    color: var(--muted-4-color, #e5e7eb);
}

.xm-app-icon-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 16px;
    overflow: hidden;
    margin: 0;
    flex: 0 0 auto;
    background: var(--xm-app-bg, #f9fafb);
    isolation: isolate;
    container-type: inline-size;
    container-name: xm-app-icon;
}

/* 目录卡片角标：图二左上斜带、纯色、-45°，带宽加大以匹配参考图角区覆盖 */
.xm-app-discount-ribbon {
    position: absolute;
    top: clamp(10px, 11cqi, 22px);
    left: clamp(-46px, -36cqi, -22px);
    z-index: 2;
    width: clamp(78px, 112cqi, 146px);
    margin: 0;
    padding: clamp(5px, 5.4cqi, 11px) 0;
    border: 0;
    border-radius: 0;
    overflow: visible;
    white-space: nowrap;
    text-align: center;
    font-size: clamp(8px, 6.8cqi, 13px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: 0.02em;
    color: #fff;
    font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
    background-color: var(--xm-app-accent, #ee263b);
    background-image: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
    transform: rotate(-45deg);
    transform-origin: center center;
    pointer-events: none;
}

/* 仅目录网格卡片 .xm-app-icon-wrap 内图标需绝对铺满；热门横栏为 .xm-app-hot-icon-wrap，勿共用此规则 */
.xm-app-icon-wrap > .xm-app-icon {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    object-position: center;
    display: block;
    z-index: 0;
}

.xm-app-card-title {
    margin: 0;
    padding: 0;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 0 0 auto;
    max-height: 2.6em;
    min-height: 0;
}

.xm-app-card-extra {
    margin: 0 0 6px;
    font-size: 11px;
    color: var(--xm-app-muted, #6b7280);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.xm-app-tagline {
    margin: 0;
    padding: 2px 0 0;
    border-top: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.06));
    font-size: 12px;
    color: var(--xm-app-accent, #e53935);
    line-height: 1.3;
    text-align: center;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 0 0 auto;
    max-height: 1.35em;
    min-height: 0;
}

/* 应用目录分页：复用子比 .pagenav.theme-pagination，无主题样式时兜底 */
.xm-app-catalog-pagenav.pagenav {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.06));
}

/* 未加载子比 main.css 时的兜底（与子比 main.css 数字分页一致） */
body:not(.zibll-theme) .xm-app-catalog-pagenav.pagenav,
.xm-app-catalog-pagenav.pagenav {
    overflow: hidden;
    text-align: center;
    padding: 20px 0;
    line-height: 1.4;
}

.xm-app-catalog-pagenav .current,
.xm-app-catalog-pagenav .page-numbers,
.xm-app-catalog-pagenav a.page-numbers {
    padding: 6px 9px 5px;
    color: var(--muted-color, #777);
    display: inline-block;
    border-radius: 3px;
    background-color: var(--main-border-color, rgba(50, 50, 50, 0.06));
    margin: 3px;
    min-width: 31px;
    text-decoration: none;
    box-sizing: border-box;
}

.xm-app-catalog-pagenav .page-numbers.current {
    background-color: var(--focus-color, var(--theme-color, #f04494)) !important;
    color: #fff !important;
}

.xm-app-catalog-pagenav a.page-numbers:hover {
    opacity: 0.7;
}

.xm-app-catalog-pagenav .pag-jump {
    display: inline-flex;
    align-items: center;
    position: relative;
    cursor: pointer;
}

.xm-app-catalog-pagenav .pag-jump .jump-input {
    opacity: 0;
    height: 100%;
    width: 100%;
    border-radius: 3px;
    position: absolute;
    left: 0;
    top: 0;
    transition: 0.2s;
    padding: 5px 22px 5px 5px;
    border: 1px solid var(--main-border-color, #e5e7eb);
    box-sizing: border-box;
    font-size: 14px;
}

.xm-app-catalog-pagenav .jump-input:focus,
.xm-app-catalog-pagenav .pag-jump:hover .jump-input {
    opacity: 1;
}

.xm-app-catalog-pagenav .pag-jump .jump-icon:hover {
    color: var(--focus-color, var(--theme-color, #f04494));
}

/* 子比正文区可能污染 ul.page-numbers，强制横向数字分页 */
.wp-posts-content .xm-app-catalog-pagenav.pagenav,
.article-content .wp-posts-content .xm-app-catalog-pagenav.pagenav,
.xm-app-home-hot-pagenav.pagenav {
    display: block;
    text-align: center;
}

.wp-posts-content .xm-app-catalog-pagenav .page-numbers,
.wp-posts-content .xm-app-catalog-pagenav ul.page-numbers,
.wp-posts-content .xm-app-catalog-pagenav ul.page-numbers li,
.xm-app-home-hot-pagenav .page-numbers,
.xm-app-home-hot-pagenav ul.page-numbers,
.xm-app-home-hot-pagenav ul.page-numbers li {
    list-style: none !important;
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wp-posts-content .xm-app-catalog-pagenav ul.page-numbers,
.xm-app-home-hot-pagenav ul.page-numbers {
    padding-left: 0 !important;
}

.xm-app-home-hot-ajax-body.is-loading {
    opacity: 0.55;
    pointer-events: none;
    transition: opacity 0.15s;
}

.xm-app-card.xm-is-hidden {
    display: none;
}

.xm-app-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 2rem;
    color: var(--xm-app-muted, #6b7280);
}

/* —— 软件详情页（正文前信息区） */

.xm-app-single-panel {
    margin: 0 0 1.25rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
    border-radius: var(--xm-app-radius, 12px);
    background: var(--xm-app-bg, #f9fafb);
    font-size: 14px;
    line-height: 1.55;
    color: var(--main-color, #4e5358);
}

.xm-app-single-dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.35rem 1rem;
    margin: 0 0 1rem;
}

.xm-app-single-dl dt {
    margin: 0;
    font-weight: 600;
    color: var(--key-color, #374151);
}

.xm-app-single-dl dd {
    margin: 0;
    color: var(--main-color, #1f2937);
}

.xm-app-single-block {
    margin: 1rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.06));
}

.xm-app-single-block:first-of-type {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.xm-app-single-h {
    margin: 0 0 0.5rem;
    font-size: 15px;
    font-weight: 700;
    color: var(--key-color, #111827);
}

.xm-app-single-requirements,
.xm-app-changelog-body {
    color: var(--main-color, #374151);
    word-break: break-word;
}

.xm-app-single-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 0.25rem;
}

.xm-app-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: opacity 0.15s, transform 0.15s;
}

.xm-app-btn:hover {
    opacity: 0.92;
    transform: translateY(-1px);
}

.xm-app-btn-primary {
    background: var(--xm-app-accent, #e53935);
    color: #fff !important;
    border: 1px solid transparent;
}

.xm-app-btn-outline {
    background: var(--main-bg-color, #fff);
    color: var(--xm-app-accent, #e53935) !important;
    border: 1px solid var(--xm-app-accent, #e53935);
}

.xm-app-single-after-panel {
    height: 0;
}

/* —— 软件详情双栏（参考：左栏下载+推荐 / 右栏介绍+截图+最新） */

.xm-app-detail-article {
    overflow: visible;
}

/* 面包屑独占整行；--bar 为参考图：浅底条 + 定位图标 + / 分隔 */
.xm-app-detail-bc-row {
    width: 100%;
    min-width: 0;
    margin: 0 0 1rem;
}

/* 位于子比 theme-box / article 卡片之外，与灰底区衔接 */
.xm-app-bc-above-theme-box {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-bottom: 12px;
}

.xm-app-detail-bc-row--bar {
    margin: 0 0 1rem;
    padding: 10px 14px;
    border-radius: 8px;
    background: var(--xm-app-bc-bar-bg, #f0f2f5);
    border: 1px solid var(--xm-app-bc-bar-border, rgba(0, 0, 0, 0.06));
    box-sizing: border-box;
}

.xm-app-detail-bc-row .xm-app-detail-bc {
    margin-bottom: 0;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    font-size: 14px;
    line-height: 1.45;
    gap: 0.35em;
    color: var(--xm-app-bc-bar-color, #6b7280);
}

.xm-app-detail-bc-row--bar .xm-app-detail-bc a {
    color: inherit;
}

.xm-app-detail-bc-row--bar .xm-app-detail-bc a:hover {
    color: var(--xm-app-accent, #e53935);
}

.xm-app-detail-bc-row .xm-app-detail-bc-pin {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    margin-right: 0.15em;
    color: var(--xm-app-bc-pin-color, #9ca3af);
}

.xm-app-detail-bc-row .xm-app-detail-bc-pin svg {
    display: block;
}

.xm-app-detail-bc-row--bar .xm-app-bc-sep {
    flex: 0 0 auto;
    color: var(--xm-app-bc-sep-color, #c4c8ce);
    font-weight: 400;
    user-select: none;
    padding: 0 0.2em;
}

body.dark-theme .xm-app-detail-bc-row--bar {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.1);
}

body.dark-theme .xm-app-detail-bc-row--bar .xm-app-detail-bc {
    color: var(--muted-color, #a1a1aa);
}

body.dark-theme .xm-app-detail-bc-row--bar .xm-app-detail-bc-pin {
    color: var(--muted-color, #71717a);
}

/* 覆盖 .xm-app-detail-bc > span 的 nowrap，长标题在整行内换行 */
.xm-app-detail-bc-row .xm-app-detail-bc > span.xm-app-detail-bc-current {
    white-space: normal;
    word-break: break-word;
    min-width: 0;
    flex: 1 1 auto;
    color: inherit;
    font-weight: 500;
}

.xm-app-detail-grid {
    display: grid !important;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

/* 双栏仅 aside + main 两个网格项；防止子比 theme 把 main 设为 display:contents 导致 section 落到左栏 */
body.xm-app-software-detail .xm-app-detail-grid > .xm-app-detail-aside {
    grid-column: 1 / 2 !important;
    grid-row: 1 !important;
    align-self: start;
}

body.xm-app-software-detail .xm-app-detail-grid > .xm-app-detail-main {
    grid-column: 2 / 3 !important;
    grid-row: 1 !important;
    display: block !important;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    position: relative;
    z-index: 1;
}

body.xm-app-software-detail .xm-app-detail-main-inner {
    display: block !important;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

body.xm-app-software-detail .xm-app-detail-main-inner > .xm-app-game-section {
    display: block !important;
    width: 100%;
    max-width: 100%;
    float: none !important;
    clear: both !important;
}

@media (max-width: 991px) {
    body.xm-app-software-detail .xm-app-detail-grid > .xm-app-detail-aside,
    body.xm-app-software-detail .xm-app-detail-grid > .xm-app-detail-main {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
    }

    body.xm-app-software-detail .xm-app-detail-grid > .xm-app-detail-main {
        grid-row: 2 !important;
    }
}

/* ST 游戏采集 / 应用详情：取消整页大白底，各区块独立卡片 */
body.xm-app-software-detail .xm-app-detail-main-wrap .content-layout {
    background: #eef1f5;
    padding: 16px;
    border-radius: 10px;
    box-sizing: border-box;
}

body.dark-theme.xm-app-software-detail .xm-app-detail-main-wrap .content-layout {
    background: rgba(0, 0, 0, 0.18);
}

body.xm-app-software-detail .article.xm-app-detail-article--framed.theme-box,
body.xm-app-software-detail .article.xm-app-detail-article--framed.box-body,
body.xm-app-software-detail .article.xm-app-detail-article--framed.main-bg {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
}

.xm-app-detail-article--framed.theme-box,
.xm-app-detail-article--framed.box-body {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
}

.xm-app-detail-article--framed .xm-app-detail-grid {
    gap: 16px;
}

.xm-app-detail-frame {
    background: #fff !important;
    border-radius: 8px;
    padding: 18px 14px 16px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08) !important;
    border: 1px solid #e5e7eb !important;
    margin-bottom: 12px;
    box-sizing: border-box;
}

.xm-app-detail-frame:last-child {
    margin-bottom: 0;
}

.xm-app-detail-frame--profile {
    text-align: center;
}

.xm-app-detail-frame--profile .xm-app-sidebar-meta {
    text-align: left;
}

.xm-app-detail-frame--featured {
    padding: 14px;
    overflow: hidden;
}

.xm-app-detail-frame--featured .xm-app-aside-rec {
    padding-top: 0;
    border-top: none;
    margin: 0;
}

.xm-app-detail-frame--featured .xm-app-aside-rec-h {
    margin-bottom: 0.65rem;
    text-align: left;
}

.xm-app-detail-frame--notice {
    padding: 12px 16px;
    background: #fff8e6;
    border-color: #ffe0a3;
    font-size: 13px;
    color: #856404;
}

.xm-app-detail-frame--notice .xm-st-collect-notice,
.xm-app-detail-frame--notice .xm-app-collect-notice {
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
}

.xm-app-detail-cover--game-collect {
    width: 160px;
    height: 160px;
    max-width: 160px;
    margin: 0 auto 14px;
}

.xm-app-detail-cover--game-collect img {
    width: 100%;
    height: 100%;
    border-radius: 16px;
    object-fit: cover;
    border: 2px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
    display: block;
}

.xm-app-detail-title--game-collect,
.wp-posts-content .xm-app-detail-title--game-collect,
.article-content .wp-posts-content .xm-app-detail-title--game-collect {
    margin: 0 0 14px !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    text-align: center;
    padding: 0 4px;
}

.xm-app-platform-icons {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.xm-app-pf-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 6px;
}

.xm-app-pf-icon svg {
    display: block;
}

.xm-app-pf-android {
    background: #79c343;
    color: #fff;
}

.xm-app-pf-ios {
    background: #5fbcf6;
    color: #fff;
}

body.dark-theme .xm-app-detail-frame {
    border-color: var(--main-border-color, rgba(255, 255, 255, 0.1));
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

body.dark-theme .xm-app-detail-frame--notice {
    background: rgba(255, 248, 230, 0.08);
    border-color: rgba(255, 224, 163, 0.35);
    color: #e8d4a8;
}

.xm-app-detail-aside {
    position: -webkit-sticky;
    position: sticky;
    top: var(--xm-app-detail-aside-top, 76px);
    align-self: start;
    z-index: 5;
    min-width: 0;
    overflow: visible;
}

/* 解除子比 theme-box / 版心对 sticky 的 overflow 限制 */
body.xm-app-software-detail .content-wrap,
body.xm-app-software-detail .content-layout,
body.xm-app-software-detail .xm-app-detail-main-wrap,
body.xm-app-software-detail .xm-app-detail-article,
body.xm-app-software-detail .xm-app-detail-article.theme-box,
body.xm-app-software-detail .xm-app-detail-grid {
    overflow: visible !important;
}

body.xm-app-software-detail {
    --xm-app-detail-aside-top: 76px;
}

body.admin-bar.xm-app-software-detail {
    --xm-app-detail-aside-top: 108px;
}

@media (max-width: 782px) {
    body.admin-bar.xm-app-software-detail {
        --xm-app-detail-aside-top: 92px;
    }
}

@media (max-width: 991px) {
    .xm-app-detail-aside {
        position: static;
        top: auto;
        z-index: auto;
        max-height: none;
        overflow: visible;
    }
}

/* 详情侧栏首屏：标题在上、图标居中、减少上下留白（对齐参考图一） */
.xm-app-detail-hero {
    margin-bottom: 0.65rem;
}

.xm-app-detail-hero-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.35rem;
}

.xm-app-detail-hero .xm-app-detail-title {
    margin: 0 0 0.2rem;
    width: 100%;
    text-align: center;
}

.xm-app-detail-edit-wrap {
    margin: 0 0 0.5rem;
    width: 100%;
    text-align: center;
}

.xm-app-detail-edit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 8px;
}

/*
 * 【软件详情页 · 左侧主封面/游戏图标尺寸】
 * 调大/调小主方块图标：改下面两条 max-width（须与下方 .xm-app-detail-cover 块内 max-width 保持一致）。
 * 正方形固定 100×100px（.xm-app-detail-cover 使用 width/height）。
 */
.xm-app-detail-hero .xm-app-detail-cover {
    width: 100px;
    max-width: 100px;
    margin: 0 auto 0.85rem;
}

.wp-posts-content .xm-app-detail-hero .xm-app-detail-title,
.article-content .wp-posts-content .xm-app-detail-hero .xm-app-detail-title {
    margin: 0 0 0.2rem !important;
    text-align: center !important;
}

.xm-app-detail-bc {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25em;
    font-size: 13px;
    color: var(--xm-app-muted, #6b7280);
    margin-bottom: 0.75rem;
    line-height: 1.4;
}

.xm-app-detail-bc a {
    flex: 0 0 auto;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.xm-app-detail-bc a:hover {
    color: var(--xm-app-accent, #e53935);
}

.xm-app-detail-bc .xm-app-bc-sep,
.xm-app-detail-bc > span:not(.xm-app-bc-sep) {
    flex: 0 0 auto;
    white-space: nowrap;
}

.xm-app-detail-title {
    margin: 0 0 0.75rem;
    /* 侧栏主标题：明显大于面包屑，接近子比文章标题层级 */
    font-size: clamp(1.5rem, 2.4vw + 0.85rem, 2rem);
    line-height: 1.22;
    font-weight: 800;
    color: var(--key-color, #111827);
    letter-spacing: -0.02em;
}

/* 若详情块落在 .wp-posts-content 内，抵消子比对 h1 的 22px 限制 */
.wp-posts-content .xm-app-detail-title,
.article-content .wp-posts-content .xm-app-detail-title {
    margin: 0 0 0.75rem !important;
    font-size: clamp(1.5rem, 2.4vw + 0.85rem, 2rem) !important;
    line-height: 1.22 !important;
    font-weight: 800 !important;
}

/* 【软件详情页 · 主封面容器】与 .xm-app-detail-hero .xm-app-detail-cover 联动控制图标显示大小 */
.xm-app-detail-cover {
    position: relative;
    isolation: isolate;
    container-type: inline-size;
    container-name: xm-app-detail-cover;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.06));
    background: var(--muted-bg-color, rgba(0, 0, 0, 0.04));
    margin-bottom: 1rem;
    width: 100px;
    height: 100px;
    max-width: 100px;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
}

/* 详情侧栏封面：角标与目录卡片一致，按封面宽度 cqi 缩放 */
.wp-posts-content .xm-app-detail-cover .xm-app-discount-ribbon,
.article-content .wp-posts-content .xm-app-detail-cover .xm-app-discount-ribbon,
.xm-app-detail-article .xm-app-detail-cover .xm-app-discount-ribbon {
    z-index: 2;
}

/*
 * 子比搜索「应用」Tab
 * 搜索页内容在 .search-page-ajaxpager 内，不在 .wp-posts-content 中，需独立网格与图标约束。
 */
.posts-row .xm-app-catalog--search,
.tab-content .xm-app-catalog--search,
.search-page-ajaxpager .xm-app-catalog--search {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    clear: both;
}

.posts-row .xm-app-search-results,
.xm-app-catalog--search .xm-app-search-results,
.search-page-ajaxpager .xm-app-search-results {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: start !important;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

@media (min-width: 640px) {
    .posts-row .xm-app-search-results,
    .xm-app-catalog--search .xm-app-search-results,
    .search-page-ajaxpager .xm-app-search-results {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
}

@media (min-width: 900px) {
    .posts-row .xm-app-search-results,
    .xm-app-catalog--search .xm-app-search-results,
    .search-page-ajaxpager .xm-app-search-results {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

@media (min-width: 1100px) {
    .posts-row .xm-app-search-results,
    .xm-app-catalog--search .xm-app-search-results,
    .search-page-ajaxpager .xm-app-search-results {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

.wp-posts-content .xm-app-search-results .xm-app-card,
.article-content .wp-posts-content .xm-app-search-results .xm-app-card,
.xm-app-catalog--search .xm-app-card,
.search-page-ajaxpager .xm-app-search-results .xm-app-card {
    min-width: 0;
    max-width: 100%;
}

.wp-posts-content .xm-app-search-results .xm-app-icon-wrap,
.article-content .wp-posts-content .xm-app-search-results .xm-app-icon-wrap,
.xm-app-catalog--search .xm-app-icon-wrap,
.search-page-ajaxpager .xm-app-search-results .xm-app-icon-wrap {
    position: relative;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 1;
    margin: 0;
    overflow: hidden;
    border-radius: 16px;
    isolation: isolate;
    container-type: inline-size;
    container-name: xm-app-icon;
}

.wp-posts-content .xm-app-search-results .xm-app-icon-wrap img.xm-app-icon,
.article-content .wp-posts-content .xm-app-search-results .xm-app-icon-wrap img.xm-app-icon,
.xm-app-catalog--search .xm-app-icon-wrap img.xm-app-icon,
.search-page-ajaxpager .xm-app-search-results .xm-app-icon-wrap img.xm-app-icon {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    vertical-align: top;
    display: block !important;
}

.wp-posts-content .xm-app-search-results .xm-app-card-link,
.article-content .wp-posts-content .xm-app-search-results .xm-app-card-link,
.xm-app-catalog--search .xm-app-card-link,
.search-page-ajaxpager .xm-app-search-results .xm-app-card-link {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 2px !important;
    padding: 2px 5px 3px !important;
    margin: 0 !important;
    line-height: 1.25;
    box-sizing: border-box;
}

.wp-posts-content .xm-app-search-results .xm-app-card-title,
.article-content .wp-posts-content .xm-app-search-results .xm-app-card-title,
.xm-app-catalog--search .xm-app-card-title,
.search-page-ajaxpager .xm-app-search-results .xm-app-card-title {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

.xm-app-detail-cover img {
    position: relative;
    z-index: 0;
    width: 100%;
    height: 100%;
    display: block;
    vertical-align: middle;
    object-fit: cover;
    object-position: center;
}

/* 子比正文区 .wp-posts-content img 常带 height:auto，会压扁正方形封面内图片 */
.wp-posts-content .xm-app-detail-aside .xm-app-detail-cover img,
.article-content .wp-posts-content .xm-app-detail-aside .xm-app-detail-cover img,
.xm-app-detail-article .xm-app-detail-aside .xm-app-detail-cover img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
}

.xm-app-detail-tax {
    margin-bottom: 1rem;
    padding: 10px 12px;
    border-radius: 10px;
    background: var(--muted-bg-color, rgba(0, 0, 0, 0.03));
    border: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.06));
    overflow: visible;
}

/* 详情左栏：游戏分类 + 游戏类型同一横排（窄屏自动折行） */
.xm-app-detail-tax--row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 1.25rem;
    row-gap: 0.35rem;
}

.xm-app-detail-tax-group {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    min-width: 0;
}

.xm-app-detail-tax-label {
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 700;
    color: var(--key-color, #374151);
    margin: 0;
    white-space: nowrap;
}

.xm-app-detail-tax-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.xm-app-tax-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
    color: var(--xm-app-accent, #e53935) !important;
    border: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.1));
    background: var(--main-bg-color, #fff);
    transition: background 0.15s, color 0.15s;
}

.xm-app-tax-chip.has-img img {
    border-radius: 4px;
    object-fit: cover;
    flex-shrink: 0;
}

.xm-app-tax-chip:hover {
    background: var(--xm-app-accent, #e53935);
    color: #fff !important;
}

.xm-app-tax-none {
    font-size: 12px;
    color: var(--xm-app-muted, #6b7280);
}

.xm-app-detail-main-tax {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.06));
    color: var(--main-color, #374151);
}

.xm-app-detail-main-tax-label {
    font-weight: 700;
    color: var(--key-color, #111827);
}

.xm-app-detail-main-tax-values a {
    color: var(--xm-app-accent, #e53935);
    text-decoration: none;
    font-weight: 600;
}

.xm-app-detail-main-tax-values a:hover {
    text-decoration: underline;
}

.xm-app-main-tax-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    vertical-align: middle;
}

.xm-app-main-tax-pill.has-img img {
    border-radius: 4px;
    object-fit: cover;
    vertical-align: middle;
}

.xm-app-detail-main-tax-sep {
    display: inline-block;
}

@media (max-width: 600px) {
    .xm-app-detail-main-tax-sep {
        display: block;
        height: 6px;
    }
}

.xm-app-dl-section {
    margin-bottom: 1rem;
}

/* 未登录下载区：与子比 muted-box / badg / jb-blue 按钮一致；插件仅补充间距与社交登录行排版 */
.xm-app-dl-login-guard {
    margin-bottom: 0;
}

.xm-app-dl-login-zib-wrap {
    padding: 22px 18px;
}

.xm-app-dl-login-zib-wrap .social_loginbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.xm-app-dl-login-zib-wrap .social_loginbar > a,
.xm-app-dl-login-zib-wrap .social_loginbar > span {
    margin: 0;
}

/* 未安装子比时的兜底块 */
.xm-app-dl-login-fallback .but.padding-lg {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.xm-app-dl-stats-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 8px;
    margin-bottom: 10px;
    font-size: 13px;
    color: var(--muted-color, #6b7280);
}

.xm-app-dl-stats-line .xm-app-dl-count-val {
    font-size: 18px;
    font-weight: 800;
    color: var(--key-color, #111827);
    letter-spacing: -0.02em;
}

.xm-app-dl-stats-unit {
    font-weight: 600;
}

.xm-app-dl-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 0;
}

.xm-app-dl-row {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

.xm-app-dl-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    color: #fff !important;
    border: none;
    min-height: 44px;
    transition: opacity 0.15s, transform 0.15s;
}

.xm-app-dl-btn:hover {
    opacity: 0.92;
    transform: translateY(-1px);
    color: #fff !important;
}

.xm-app-dl-green {
    background: linear-gradient(180deg, #2e7d32 0%, #1b5e20 100%);
}

.xm-app-dl-blue {
    background: linear-gradient(180deg, #1976d2 0%, #0d47a1 100%);
}

.xm-app-dl-accent {
    background: var(--xm-app-accent, #e53935);
}

.xm-app-dl-orange {
    background: linear-gradient(180deg, #f57c00 0%, #e65100 100%);
}

.xm-app-dl-purple {
    background: linear-gradient(180deg, #7e57c2 0%, #4527a0 100%);
}

.xm-app-dl-cyan {
    background: linear-gradient(180deg, #00acc1 0%, #006064 100%);
}

.xm-app-dl-pink {
    background: linear-gradient(180deg, #ec407a 0%, #ad1457 100%);
}

.xm-app-dl-gray {
    background: linear-gradient(180deg, #78909c 0%, #455a64 100%);
}

.xm-app-dl-dark {
    background: linear-gradient(180deg, #424242 0%, #212121 100%);
}

.xm-app-qr-trigger {
    flex: 0 0 44px;
    border-radius: 10px;
    border: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.12));
    background: var(--main-bg-color, #fff);
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    color: var(--main-color, #374151);
}

.xm-app-qr-trigger:hover {
    border-color: var(--xm-app-accent, #e53935);
    color: var(--xm-app-accent, #e53935);
}

.xm-app-detail-req {
    font-size: 12px;
    color: var(--muted-color, #4b5563);
    margin-bottom: 1rem;
    padding: 8px 10px;
    background: var(--muted-bg-color, rgba(0, 0, 0, 0.03));
    border-radius: 8px;
}

.xm-app-aside-rec {
    padding-top: 0.75rem;
    border-top: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
}

.xm-app-aside-rec-h {
    margin: 0 0 0.5rem;
    font-size: 14px;
    font-weight: 700;
}

/* 主栏：最新上线（截图横滑下方），标题加大 */
.xm-app-main-latest {
    margin: 1.25rem 0 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
}

/* 位于详细介绍 Tab 下方时与上方 Tab 区分隔 */
.xm-app-main-latest--after-tabs {
    margin-top: 1.75rem;
    padding-top: 1.25rem;
}

.xm-app-main-latest-h {
    margin: 0 0 0.75rem;
    font-size: clamp(1.05rem, 1.5vw + 0.85rem, 1.35rem);
    font-weight: 800;
    color: var(--key-color, #111827);
    letter-spacing: -0.02em;
}

.xm-app-mini-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 0;
}

/* 主栏最新上线：8 列 × 多行（目标 8×2，最多 16 条） */
.xm-app-mini-grid--main-latest {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 10px 8px;
}

/* 侧栏精选推荐：固定 3 列，最多 12 条即 3×4 */
.xm-app-mini-grid--featured-sidebar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.xm-app-detail-aside .xm-app-mini-icon-wrap {
    border-radius: 16px;
}

/* 主栏 8 列：缩小图标与字号以适配宽度 */
.xm-app-main-latest .xm-app-mini-card {
    font-size: 10px;
}

.xm-app-main-latest .xm-app-mini-icon-wrap {
    width: 44px;
    height: 44px;
    border-radius: 10px;
}

@media (max-width: 1199px) {
    .xm-app-mini-grid--main-latest {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .xm-app-mini-grid--main-latest {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .xm-app-mini-grid--main-latest {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px 6px;
    }

    .xm-app-main-latest .xm-app-mini-icon-wrap {
        width: 40px;
        height: 40px;
    }
}

.xm-app-mini-empty {
    grid-column: 1 / -1;
    margin: 0;
    font-size: 12px;
    color: var(--xm-app-muted, #6b7280);
}

.xm-app-mini-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none !important;
    color: inherit !important;
    font-size: 11px;
    line-height: 1.25;
}

.xm-app-mini-card.is-row {
    flex: 0 0 auto;
    width: 72px;
}

.xm-app-mini-icon-wrap {
    position: relative;
    width: 56px;
    height: 56px;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 4px;
    border: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.06));
}

.xm-app-mini-card.is-row .xm-app-mini-icon-wrap {
    width: 52px;
    height: 52px;
}

.xm-app-mini-icon-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.xm-app-mini-ribbon {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background: var(--xm-app-accent, #e53935);
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    padding: 1px 4px;
    line-height: 1.2;
    border-bottom-right-radius: 4px;
}

.xm-app-mini-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-width: 100%;
}

.xm-app-detail-main {
    min-width: 0;
}

.xm-app-tablist {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
    margin-bottom: 1rem;
}

.xm-app-tab-btn {
    background: none;
    border: none;
    padding: 10px 18px;
    font-size: 15px;
    font-weight: 700;
    color: var(--muted-color, #6b7280);
    cursor: pointer;
    margin-bottom: -2px;
    border-bottom: 2px solid transparent;
}

.xm-app-tab-btn.is-active {
    color: var(--xm-app-accent, #e53935);
    border-bottom-color: var(--xm-app-accent, #e53935);
}

.xm-app-tab-panel {
    margin-bottom: 1.25rem;
}

.xm-app-detail-content {
    font-size: 15px;
    line-height: 1.75;
    color: var(--main-color, #4e5358);
}

/* 正文内常见标签继承主题可读色，避免夜间模式下编辑器遗留的深色字不可见 */
.xm-app-detail-main .xm-app-detail-content.entry-content,
.xm-app-detail-main .xm-app-detail-content.entry-content p,
.xm-app-detail-main .xm-app-detail-content.entry-content li,
.xm-app-detail-main .xm-app-detail-content.entry-content blockquote {
    color: inherit;
}

.xm-app-section-h {
    margin: 0 0 0.75rem;
    font-size: 16px;
    font-weight: 800;
    color: var(--key-color, #111827);
}

/* 详情：所有图在同一外框 .xm-app-media-strip 内横排横滑；格内不再单独画框 */
.xm-app-gallery-subh {
    margin: 1rem 0 0.5rem;
    font-size: 14px;
    font-weight: 700;
    color: var(--muted-color, #6b7280);
}

.xm-app-preview-gallery {
    margin-top: 4px;
}

.xm-app-media-strip {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    align-content: stretch;
    justify-content: flex-start;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 10px 12px 12px;
    margin: 0.5rem 0 1rem;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    background: var(--main-bg-color, #fff);
    border-radius: 12px;
    border: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.1));
    box-shadow: 0 1px 3px var(--main-shadow, rgba(0, 0, 0, 0.06));
}

.xm-app-media-strip::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

/* 子比正文区易把 flex 盖成块级竖排，强制横滑带保持横向、整栏单外框 */
.wp-posts-content .xm-app-detail-article .xm-app-media-strip,
.article-content .wp-posts-content .xm-app-detail-article .xm-app-media-strip,
.xm-app-detail-main .xm-app-detail-content .xm-app-media-strip,
.xm-app-soft-intro .xm-app-media-strip {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    align-content: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
}

.xm-app-media-strip__cell {
    flex: 0 0 clamp(100px, 14vw, 160px);
    width: clamp(100px, 14vw, 160px);
    max-width: none;
    min-width: 0;
    aspect-ratio: 9 / 16;
    display: flex;
    flex-direction: column;
    border-radius: 8px;
    overflow: hidden;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
    border: none;
    background: transparent;
    box-shadow: none;
    text-decoration: none;
    color: inherit;
}

.xm-app-media-strip__cell:hover {
    box-shadow: none;
    opacity: 1;
}

.xm-app-media-strip__cell img,
.xm-app-content-img-cell > img {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin: 0;
    vertical-align: middle;
}

/* 抵消子比 .wp-posts-content img 块级整宽，避免详情内预览图被拉满一行 */
.wp-posts-content .xm-app-detail-article .xm-app-media-strip img,
.article-content .wp-posts-content .xm-app-detail-article .xm-app-media-strip img,
.xm-app-detail-main .xm-app-detail-content .xm-app-media-strip img,
.xm-app-detail-main .xm-app-detail-content .xm-app-content-img-cell > img {
    max-width: none !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover;
}

.xm-app-detail-main .xm-app-content-img-strip,
.xm-app-detail-main .xm-app-content-img-strip--orphan,
.xm-app-soft-intro .xm-app-content-img-strip,
.xm-app-soft-intro .xm-app-content-img-strip--orphan {
    margin: 0.75rem 0 1.1rem;
}

/* 正文内横滑带与上下段落留白 */
.xm-app-detail-main .xm-app-detail-content .xm-app-content-img-strip {
    clear: both;
}

/* 古腾堡 figure / 图库包在横向 cell 内时去掉块级外边距，保证等高铺满 */
.xm-app-content-img-cell figure.wp-block-image,
.xm-app-content-img-cell figure {
    margin: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.xm-app-content-img-cell figure img {
    flex: 1;
    min-height: 0;
}

.xm-app-content-img-cell .wp-block-gallery,
.xm-app-content-img-cell .blocks-gallery-grid {
    margin: 0;
    width: 100%;
    height: 100%;
}

.wp-posts-content .xm-app-single-panel .xm-app-media-strip img,
.xm-app-single-panel .xm-app-media-strip img {
    max-width: none !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover;
}

/* 二维码浮层 */
.xm-app-qr-overlay {
    position: fixed;
    inset: 0;
    z-index: 100000;
    background: rgba(0, 0, 0, 0.55);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.xm-app-qr-overlay.is-open {
    display: flex;
}

.xm-app-qr-inner {
    position: relative;
    background: var(--main-bg-color, #fff);
    padding: 1.5rem 1rem 1rem;
    border-radius: 12px;
    max-width: 90vw;
    max-height: 90vh;
}

.xm-app-qr-inner img {
    max-width: 260px;
    max-height: 70vh;
    width: auto;
    height: auto;
    display: block;
}

.xm-app-qr-close {
    position: absolute;
    top: 4px;
    right: 8px;
    border: none;
    background: none;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    color: var(--muted-color, #6b7280);
}

/* 游戏采集 · 详情顶部新账号提示 */
.xm-app-collect-notice {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin: 0 0 16px;
    padding: 14px 16px 14px 12px;
    border-radius: 10px;
    background: #fff1f0;
    border: 1px solid #ffd4d0;
    box-sizing: border-box;
}

.xm-app-collect-notice__quote {
    flex-shrink: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1;
    font-weight: 700;
    color: #ff8a7a;
    margin-top: 2px;
}

.xm-app-collect-notice__text {
    margin: 0;
    flex: 1;
    font-size: 14px;
    line-height: 1.65;
    color: #e85d5d;
    font-weight: 500;
}

.xm-app-detail-content .xm-app-collect-notice {
    margin-bottom: 20px;
}

/* 详情 · 软件介绍区块 */
.xm-app-soft-intro {
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.06));
}

.xm-app-soft-intro-text {
    font-size: 15px;
    line-height: 1.75;
    color: var(--main-color, #374151);
}

/* 前台 / 编辑器侧栏：图标外链实时预览 */
.xm-app-icon-field {
    margin-top: 4px;
}

.xm-app-icon-preview {
    margin-top: 10px;
    width: 120px;
    height: 120px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
    background: var(--muted-bg-color, rgba(0, 0, 0, 0.04));
}

.xm-app-icon-preview-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.xm-app-icon-preview-err {
    display: none;
    margin-top: 6px;
    font-size: 0.9em;
    line-height: 1.4;
}

/* 前台发布表单 */
.xm-app-submit-wrap {
    margin: 1rem 0;
}

/* 嵌在子比固定页 article.wp-posts-content 内时由插件去掉外层 theme-box，仅保留间距 */
.xm-app-submit-wrap--zib-nested {
    margin: 1.25rem 0 0;
}

.xm-app-submit-notice,
.xm-app-submit-success {
    padding: 1rem;
    border-radius: var(--xm-app-radius, 12px);
    background: var(--xm-app-bg, #f9fafb);
    border: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.06));
    color: var(--main-color, #4e5358);
}

.xm-app-submit-success {
    border-color: rgba(46, 125, 50, 0.35);
    background: var(--muted-bg-color, #f1f8f4);
}

.xm-app-submit-form .xm-app-sf-input.wide,
.xm-app-submit-form .xm-app-sf-textarea.wide {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.xm-app-submit-form .xm-app-sf-fs {
    margin: 1rem 0;
    padding: 10px 12px;
    border: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
    border-radius: 10px;
}

.xm-app-submit-form .xm-app-sf-checkboxes label {
    display: inline-block;
    margin: 4px 12px 4px 0;
}

.xm-app-submit-form .xm-app-sf-dl-row {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 8px;
    margin-bottom: 8px;
    align-items: center;
}

@media (max-width: 600px) {
    .xm-app-submit-form .xm-app-sf-dl-row {
        grid-template-columns: 1fr;
    }
}

.xm-app-submit-form .xm-app-sf-submit {
    margin-top: 0.5rem;
}

/* 子比前台「发布软件」浮动入口（插件设置中开启） */
.xm-app-zib-publish-fab:not(.xm-app-zib-publish-fab--inline) {
    position: fixed;
    right: 14px;
    bottom: var(--xm-publish-bottom, 96px);
    z-index: 960;
    pointer-events: none;
}

.xm-app-zib-publish-fab:not(.xm-app-zib-publish-fab--inline) .xm-app-zib-publish-fab__link {
    pointer-events: auto;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.xm-app-zib-publish-fab--inline {
    display: inline-block;
    margin: 0 0 0.5rem;
    vertical-align: middle;
}

.xm-app-zib-publish-fab--inline .xm-app-zib-publish-fab__link {
    box-shadow: none;
}

/* 无发布权限重定向后的顶栏提示（?xm_app_notice=forbidden_publish） */
.xm-app-query-notice {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100050;
    padding: 12px 16px;
    text-align: center;
    font-size: 14px;
    line-height: 1.5;
    color: var(--key-color, #333);
    background: var(--main-bg-color, #fff);
    border-bottom: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
    box-shadow: 0 4px 12px var(--main-shadow, rgba(0, 0, 0, 0.08));
}

/* =============================================================================
 * 寻梦「发布软件」页（子比编辑器模板）：父文档中的 TinyMCE 外壳 + 侧栏表单
 * 子比 new-posts.min.css 中部分规则为浅色硬编码；夜间下用主题 CSS 变量覆盖。
 * body 含 .xm-app-software-newposts-template（见 class-xunmeng-app-page-template.php）
 * ============================================================================= */

body.xm-app-software-newposts-template .xm-app-new-posts-submit {
    user-select: none;
    -webkit-user-select: none;
}

body.xm-app-software-newposts-template.dark-theme #wp-post_content-wrap .mce-top-part::before,
body.xm-app-software-newposts-template.dark-theme #wp-post_content-wrap .mce-toolbar-grp,
body.xm-app-software-newposts-template.dark-theme #wp-post_content-wrap .mce-statusbar,
body.xm-app-software-newposts-template.dark-theme #wp-post_content-wrap .mce-path,
body.xm-app-software-newposts-template.dark-theme #wp-post_content-wrap .mce-panel,
body.xm-app-software-newposts-template.dark-theme #wp-post_content-wrap .mce-foot {
    background-color: var(--main-bg-color, #323335) !important;
    border-color: var(--main-border-color, rgba(114, 114, 114, 0.1)) !important;
}

body.xm-app-software-newposts-template.dark-theme #wp-post_content-wrap .mce-toolbar .mce-btn button,
body.xm-app-software-newposts-template.dark-theme #wp-post_content-wrap .mce-toolbar .mce-btn i,
body.xm-app-software-newposts-template.dark-theme #wp-post_content-wrap .mce-toolbar .mce-ico {
    color: var(--main-color, #e5eef7) !important;
}

body.xm-app-software-newposts-template.dark-theme #wp-post_content-wrap .mce-toolbar .mce-btn:hover,
body.xm-app-software-newposts-template.dark-theme #wp-post_content-wrap .mce-toolbar .mce-btn.mce-active {
    background: var(--muted-bg-color, #2d2e31) !important;
    border-color: transparent !important;
}

body.xm-app-software-newposts-template.dark-theme #wp-post_content-wrap .wp-editor-tabs > button {
    background: var(--muted-bg-color, #2d2e31) !important;
    color: var(--muted-color, #b4b6bb) !important;
}

body.xm-app-software-newposts-template.dark-theme #wp-post_content-wrap .quicktags-toolbar {
    background: var(--main-bg-color, #323335) !important;
    border-color: var(--main-border-color, rgba(114, 114, 114, 0.1)) !important;
}

body.xm-app-software-newposts-template.dark-theme #wp-post_content-wrap textarea.wp-editor-area {
    color: var(--main-color, #e5eef7);
    background: var(--main-bg-color, #323335);
}

/* 侧栏：与卡片底对比更清晰，仍使用子比变量 */
body.xm-app-software-newposts-template.dark-theme .sidebar .zib-widget .form-control,
body.xm-app-software-newposts-template.dark-theme .sidebar .zib-widget select.form-control {
    background: var(--muted-bg-color, #2d2e31) !important;
    color: var(--main-color, #e5eef7) !important;
    border: 1px solid var(--main-border-color, rgba(114, 114, 114, 0.12)) !important;
}

body.xm-app-software-newposts-template.dark-theme .sidebar .zib-widget .drop-btn.form-control {
    background: var(--muted-bg-color, #2d2e31) !important;
}

body.xm-app-software-newposts-template.dark-theme .newposts-title .new-title,
body.xm-app-software-newposts-template.dark-theme .newposts-title textarea.new-title {
    color: var(--key-color, #f8fafc) !important;
}

body.xm-app-software-newposts-template.dark-theme .xm-app-icon-field .xm-app-icon-url-input.form-control {
    background: var(--muted-bg-color, #2d2e31) !important;
    color: var(--main-color, #e5eef7) !important;
    border: 1px solid var(--main-border-color, rgba(114, 114, 114, 0.12)) !important;
}

/* ST 游戏采集详情 · 对齐寻梦众游网 games/detail */
.xm-app-detail-main--game-collect {
    min-width: 0;
}

.xm-app-sidebar-meta {
    margin: 4px 0 0;
    padding: 14px 0 0;
    border-top: 1px dashed var(--main-border-color, rgba(0, 0, 0, 0.12));
    font-size: 13px;
}

.xm-app-sidebar-meta .meta-row {
    display: flex;
    padding: 5px 0;
    line-height: 1.5;
}

.xm-app-sidebar-meta .meta-row dt {
    color: var(--muted-color, #888);
    flex-shrink: 0;
    min-width: 72px;
    margin: 0;
}

.xm-app-sidebar-meta .meta-row dd {
    margin: 0;
    flex: 1;
    color: var(--main-color, #333);
}

.xm-app-game-section {
    background: #fff !important;
    border-radius: 8px;
    padding: 20px 24px;
    margin-bottom: 12px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08) !important;
    border: 1px solid #e5e7eb !important;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    clear: both;
    float: none !important;
    overflow: hidden;
}

body.xm-app-software-detail .xm-app-detail-main .xm-app-game-section,
body.xm-app-software-detail .xm-app-detail-main .xm-app-game-section > h2,
body.xm-app-software-detail .xm-app-detail-main .xm-st-screenshot-slider,
body.xm-app-software-detail .xm-app-detail-main .xm-app-game-intro-text--html {
    float: none !important;
    clear: both !important;
}

.xm-app-game-section--screenshots {
    overflow: hidden;
}

.xm-app-game-section--screenshots .xm-st-screenshot-slider > h2 {
    display: none !important;
}

.xm-app-game-section--screenshots .xm-st-screenshot-slider {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
}

.xm-app-game-section-title {
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--theme-color, var(--xm-app-accent, #e91e63));
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--main-color, #222);
}

.xm-app-game-section-icon {
    color: var(--theme-color, var(--xm-app-accent, #e91e63));
    font-size: 16px;
}

.xm-app-game-intro-text {
    font-size: 14px;
    line-height: 1.9;
    color: var(--muted-color, #555);
}

.xm-app-game-notice-wrap {
    margin-bottom: 12px;
}

.xm-app-detail-frame--notice.xm-app-game-notice-wrap {
    margin-bottom: 12px;
}

.xm-app-feature-tabs {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--main-border-color, rgba(0, 0, 0, 0.1));
    margin-bottom: 14px;
}

.xm-app-feature-tab {
    padding: 10px 22px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    color: var(--muted-color, #888);
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.2s, border-color 0.2s;
}

.xm-app-feature-tab.is-active {
    color: var(--theme-color, var(--xm-app-accent, #e91e63));
    border-bottom-color: var(--theme-color, var(--xm-app-accent, #e91e63));
    font-weight: 600;
}

.xm-app-feature-panel[hidden] {
    display: none !important;
}

.xm-app-feature-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.xm-app-feature-list li {
    padding: 10px 0;
    border-bottom: 1px dashed var(--main-border-color, rgba(0, 0, 0, 0.1));
    font-size: 14px;
    line-height: 1.7;
    color: var(--muted-color, #555);
}

.xm-app-feature-list li:last-child {
    border-bottom: none;
}

.xm-app-feature-list li::before {
    content: '●';
    color: var(--theme-color, var(--xm-app-accent, #e91e63));
    margin-right: 8px;
    font-size: 10px;
    vertical-align: middle;
}

.xm-app-empty-hint {
    color: var(--muted-color, #999);
    font-size: 13px;
    padding: 8px 0;
    margin: 0;
}

.xm-app-game-section-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.xm-app-game-section-head .xm-app-game-section-title {
    margin-bottom: 0;
    border: none;
    padding-bottom: 0;
}

.xm-app-game-section-more {
    font-size: 13px;
    color: var(--theme-color, var(--xm-app-accent, #e91e63));
    text-decoration: none;
}

.xm-app-related-scroll {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    padding: 4px 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.xm-app-related-scroll::-webkit-scrollbar {
    display: none;
}

.xm-app-related-item {
    flex-shrink: 0;
    width: 80px;
    text-align: center;
    color: var(--main-color, #333);
    text-decoration: none;
}

.xm-app-related-item:hover {
    color: var(--theme-color, var(--xm-app-accent, #e91e63));
}

.xm-app-related-item img {
    width: 68px;
    height: 68px;
    border-radius: 12px;
    object-fit: cover;
    border: 2px solid var(--main-border-color, rgba(0, 0, 0, 0.1));
    margin-bottom: 6px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.xm-app-related-item span {
    display: block;
    font-size: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.xm-app-game-intro-text--html img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

.xm-app-game-intro-text--html .xm-app-media-strip {
    margin-top: 12px;
}

.xm-app-detail-main--game-collect .xm-st-screenshot-slider {
    margin-bottom: 0;
}

.xm-app-detail-main--game-collect .xm-st-ss-viewport {
    overflow: hidden;
}

.xm-app-detail-main--game-collect .xm-st-ss-track {
    display: flex;
    gap: 12px;
}

.xm-app-detail-main--game-collect .xm-st-ss-slide {
    flex: 0 0 calc((100% - 48px) / 5);
    width: calc((100% - 48px) / 5);
    min-width: 108px;
    max-width: none;
}

@media (max-width: 768px) {
    .xm-app-detail-main--game-collect .xm-st-ss-slide {
        flex: 0 0 calc((100% - 24px) / 3);
        width: calc((100% - 24px) / 3);
        min-width: 96px;
    }
}

.xm-app-game-section--video {
    padding: 0;
    overflow: hidden;
}

/* 宣传视频：MP4 / B站 / 腾讯视频等统一固定高度 */
.xm-app-game-video-wrap--unified {
    height: var(--xm-app-video-height, 320px);
    max-height: var(--xm-app-video-height, 320px);
    min-height: var(--xm-app-video-height, 320px);
    overflow: hidden;
}

.xm-app-game-video-wrap {
    width: 100%;
    background: #0a0a0a;
    line-height: 0;
}

.xm-app-game-video-wrap--mp4 {
    height: var(--xm-app-video-height, 320px);
    max-height: var(--xm-app-video-height, 320px);
}

.xm-app-game-video-html5 {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: 100%;
    object-fit: cover;
    object-position: center top;
    background: #000;
}

.xm-app-game-video-ratio {
    position: relative;
    width: 100%;
    height: 100%;
    padding-top: 0;
    background: #000;
}

.xm-app-game-video-ratio iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* 相关游戏：与精选推荐相同小图标，固定两排（8 列 × 2 行，最多 16 个） */
.xm-app-mini-grid--related-two-rows {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    grid-template-rows: repeat(2, auto);
    gap: 10px 8px;
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .xm-app-mini-grid--related-two-rows {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

body.xm-app-software-detail .xm-app-mini-grid--related-two-rows .xm-app-mini-card {
    min-width: 0;
}

body.xm-app-software-detail .xm-app-mini-grid--related-two-rows .xm-app-mini-icon-wrap {
    width: 56px;
    height: 56px;
    max-width: 56px;
    margin-left: auto;
    margin-right: auto;
}

body.xm-app-software-detail .xm-app-mini-grid--related-two-rows .xm-app-mini-icon-wrap img,
body.xm-app-software-detail .wp-posts-content .xm-app-mini-grid--related-two-rows img,
body.xm-app-software-detail .article-content .xm-app-mini-grid--related-two-rows img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    object-fit: cover !important;
    display: block !important;
    float: none !important;
    margin: 0 !important;
}

body.dark-theme .xm-app-detail-frame,
body.dark-theme .xm-app-game-section {
    background: var(--main-bg-color, #1e1e1e) !important;
    border-color: var(--main-border-color, rgba(255, 255, 255, 0.1)) !important;
}

/* —— 绑定页首页门户（对齐寻梦站首页，无游戏资讯） —— */
.xm-app-catalog--home {
    display: block;
}

.xm-app-home-panel {
    background: var(--main-bg-color, #fff);
    border: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
    border-radius: var(--xm-app-radius, 12px);
    box-shadow: 0 1px 4px var(--main-shadow, rgba(0, 0, 0, 0.06));
    margin-bottom: 12px;
    padding: 14px 16px 16px;
}

.xm-app-home-panel-head,
.xm-app-home-hot-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--xm-app-accent, #e53935);
}

.xm-app-home-panel-head h2,
.xm-app-home-hot-head h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--key-color, #1f2937);
    line-height: 1.3;
}

.xm-app-home-panel-head h2::before,
.xm-app-home-rank-box .xm-app-home-panel-head h2::before {
    content: '▎';
    color: var(--xm-app-accent, #e53935);
    margin-right: 6px;
}

.xm-app-home-hot-head h2::before {
    display: none;
}

.xm-app-home-more-link {
    flex-shrink: 0;
    font-size: 13px;
    color: var(--xm-app-muted, #6b7280);
    text-decoration: none;
}

.xm-app-home-more-link:hover {
    color: var(--xm-app-accent, #e53935);
}

.xm-app-home-empty,
.xm-app-home-hot-empty {
    margin: 0;
    padding: 24px 12px;
    text-align: center;
    font-size: 13px;
    color: var(--xm-app-muted, #6b7280);
}

/* 类型 Tab + 图标轨 */
.xm-app-home-type-icons {
    padding: 0;
    overflow: hidden;
}

.xm-app-home-type-layout {
    display: flex;
    align-items: stretch;
}

.xm-app-home-type-tabs {
    display: flex;
    flex-direction: column;
    width: 92px;
    flex-shrink: 0;
    background: var(--xm-app-bg, #f9fafb);
    border-right: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
}

.xm-app-home-type-tab {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 100%;
    padding: 9px 6px;
    border: none;
    border-bottom: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
    background: var(--xm-app-bg, #f9fafb);
    color: var(--xm-app-muted, #6b7280);
    font-size: 12px;
    line-height: 1.2;
    cursor: pointer;
}

.xm-app-home-type-tab:last-child {
    border-bottom: none;
}

.xm-app-home-type-tab.is-active {
    background: var(--xm-app-accent, #e53935);
    color: #fff;
    font-weight: 600;
}

.xm-app-home-type-tab.is-active::after {
    content: '';
    position: absolute;
    right: -7px;
    top: 50%;
    margin-top: -7px;
    border: 7px solid transparent;
    border-left-color: var(--xm-app-accent, #e53935);
    z-index: 2;
}

.xm-app-home-type-tab-icon {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.35;
}

.xm-app-home-type-tab.is-active .xm-app-home-type-tab-icon {
    opacity: 1;
    background: #fff;
}

.xm-app-home-type-tab-label {
    display: block;
    max-width: 100%;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.xm-app-home-type-body {
    flex: 1;
    min-width: 0;
    padding: 12px 10px;
}

/* 今日推荐 / 类型区横滑图标 */
.xm-app-home-icon-scroll {
    width: 100%;
    overflow: hidden;
}

.xm-app-home-icon-track {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(8px, 1.2vw, 16px);
    width: 100%;
    padding: 4px 0;
    box-sizing: border-box;
}

.xm-app-home-icon-item {
    flex: 1 1 0;
    min-width: 0;
    max-width: 120px;
    text-align: center;
    color: inherit;
    text-decoration: none;
}

.xm-app-home-icon-item:hover {
    color: var(--xm-app-accent, #e53935);
    text-decoration: none;
}

.xm-app-home-icon-img {
    display: block;
    width: min(72px, 88%);
    aspect-ratio: 1;
    margin: 0 auto 6px;
    border-radius: 14px;
    overflow: hidden;
    border: 2px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
    background: var(--xm-app-bg, #f9fafb);
}

.xm-app-home-icon-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.xm-app-home-icon-title {
    display: block;
    font-size: 12px;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 热门游戏 Tab + 三列列表卡 */
.xm-app-home-hot-head {
    flex-wrap: wrap;
    border-bottom: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
}

.xm-app-home-hot-head-left {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 16px;
    flex: 1 1 auto;
    min-width: 0;
}

.xm-app-home-flame {
    margin-right: 4px;
}

.xm-app-home-pill-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.xm-app-home-pill-tab {
    padding: 5px 16px;
    border: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.12));
    border-radius: 3px;
    background: var(--xm-app-bg, #f9fafb);
    font-size: 13px;
    color: var(--xm-app-muted, #6b7280);
    cursor: pointer;
    margin-bottom: 0;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    line-height: 1.3;
}

.xm-app-home-pill-tab:hover {
    border-color: var(--xm-app-accent, #e53935);
    color: var(--xm-app-accent, #e53935);
    text-decoration: none;
}

.xm-app-home-pill-tab.is-active {
    background: var(--xm-app-accent, #e53935);
    border-color: var(--xm-app-accent, #e53935);
    color: #fff;
    font-weight: 600;
}

.xm-app-home-hot-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    align-items: stretch;
    border-top: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
    border-left: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
}

.xm-app-home-hot-card {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 100%;
    min-height: 132px;
    box-sizing: border-box;
    padding: 14px 12px;
    border-right: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
    border-bottom: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
    background: var(--main-bg-color, #fff);
    text-decoration: none;
    color: inherit;
    transition: background 0.2s;
}

.xm-app-home-hot-card:hover {
    background: var(--xm-app-bg, #f9fafb);
    text-decoration: none;
}

.xm-app-home-hot-icon {
    position: relative;
    width: 72px;
    height: 72px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
    background: var(--xm-app-bg, #f9fafb);
}

.xm-app-home-hot-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.xm-app-home-hot-ribbon {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: var(--xm-app-accent, #e53935);
    color: #fff;
    font-size: 10px;
    line-height: 1.2;
    padding: 2px 6px 4px 4px;
    border-radius: 0 0 8px 0;
    font-weight: 600;
    max-width: 90%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.xm-app-home-hot-speed {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
    background: #ff9800;
    color: #fff;
    font-size: 10px;
    padding: 1px 5px;
    border-radius: 6px 0 0 0;
}

.xm-app-home-hot-info {
    flex: 1;
    min-width: 0;
    min-height: 72px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.xm-app-home-hot-name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: 14px;
    font-weight: 700;
    color: var(--key-color, #1f2937);
    line-height: 1.4;
    min-height: calc(1.4em * 2);
    max-height: calc(1.4em * 2);
    margin-bottom: 6px;
}

.xm-app-home-hot-card:hover .xm-app-home-hot-name {
    color: var(--xm-app-accent, #e53935);
}

.xm-app-home-hot-metas {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-height: calc(3 * 1.45em + 4px);
}

.xm-app-home-hot-meta {
    display: block;
    font-size: 12px;
    color: var(--xm-app-muted, #6b7280);
    line-height: 1.45;
    min-height: 1.45em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.xm-app-home-hot-pagenav {
    margin-top: 0;
    padding-top: 14px;
    border-top: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
}

/* 三榜 */
.xm-app-home-ranks {
    margin-bottom: 12px;
}

.xm-app-home-rank-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.xm-app-home-rank-box {
    margin: 0;
}

.xm-app-home-rank-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.xm-app-home-rank-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
}

.xm-app-home-rank-list li:last-child {
    border-bottom: none;
}

.xm-app-home-rank-no {
    width: 22px;
    height: 22px;
    border-radius: 4px;
    background: #ccc;
    color: #fff;
    text-align: center;
    line-height: 22px;
    font-size: 12px;
    flex-shrink: 0;
}

.xm-app-home-rank-no--1 {
    background: #e74c3c;
}

.xm-app-home-rank-no--2 {
    background: #95a5a6;
}

.xm-app-home-rank-no--3 {
    background: var(--xm-app-accent, #e53935);
}

.xm-app-home-rank-list img {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
}

.xm-app-home-rank-meta {
    flex: 1;
    min-width: 0;
}

.xm-app-home-rank-meta a {
    display: block;
    font-size: 13px;
    color: var(--key-color, #1f2937);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-decoration: none;
}

.xm-app-home-rank-meta a:hover {
    color: var(--xm-app-accent, #e53935);
}

.xm-app-home-rank-meta span {
    display: block;
    font-size: 11px;
    color: var(--xm-app-muted, #6b7280);
}

.xm-app-home-list-entry {
    text-align: center;
    padding: 8px 0 4px;
}

.xm-app-home-list-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    padding: 10px 28px;
    border-radius: 999px;
    background: var(--xm-app-accent, #e53935);
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.xm-app-home-list-btn:hover {
    opacity: 0.92;
    color: #fff;
    text-decoration: none;
}

/*
 * 首页门户 — 子比 body.dark-theme 夜间模式（对齐详情页 xm-app-detail-frame 做法）
 */
body.dark-theme.xm-app-software-hub .article.theme-box,
body.dark-theme.xm-app-software-hub .article.main-bg,
body.dark-theme.xm-app-software-hub .article.box-body,
body.dark-theme.xm-app-home-layout .article.theme-box,
body.dark-theme.xm-app-home-layout .article.main-bg,
body.dark-theme.xm-app-home-layout .article.box-body,
body.dark-theme.xm-app-catalog-template .article.theme-box,
body.dark-theme.xm-app-catalog-template .article.main-bg {
    background: transparent !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

body.dark-theme.xm-app-software-hub .wp-posts-content,
body.dark-theme.xm-app-home-layout .wp-posts-content,
body.dark-theme.xm-app-catalog-template .wp-posts-content {
    background: transparent !important;
    color: var(--key-color, #e5e5e5);
}

body.dark-theme.xm-app-software-hub .xm-app-catalog-shell.theme-box,
body.dark-theme.xm-app-home-layout .xm-app-catalog-shell.theme-box,
body.dark-theme.xm-app-catalog-template .xm-app-catalog-shell.theme-box {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

body.dark-theme .xm-app-catalog--home,
body.dark-theme .xm-app-catalog--home.xm-app-catalog {
    --xm-app-muted: var(--muted-color, #a1a1aa);
    --xm-app-bg: var(--muted-bg-color, rgba(255, 255, 255, 0.06));
    color: var(--key-color, #e5e5e5);
}

body.dark-theme .xm-app-home-panel {
    background: var(--main-bg-color, #232323) !important;
    border-color: var(--main-border-color, rgba(255, 255, 255, 0.08)) !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35) !important;
}

body.dark-theme .xm-app-home-panel-head h2,
body.dark-theme .xm-app-home-hot-head h2,
body.dark-theme .xm-app-home-hot-name,
body.dark-theme .xm-app-home-icon-title,
body.dark-theme .xm-app-home-rank-meta a {
    color: var(--key-color, #e5e5e5);
}

body.dark-theme .xm-app-home-hot-meta,
body.dark-theme .xm-app-home-more-link,
body.dark-theme .xm-app-home-empty,
body.dark-theme .xm-app-home-hot-empty,
body.dark-theme .xm-app-home-rank-meta span,
body.dark-theme .xm-app-breadcrumb,
body.dark-theme .xm-app-breadcrumb .xm-app-bc-current {
    color: var(--muted-color, #a1a1aa);
}

body.dark-theme .xm-app-home-type-tabs,
body.dark-theme .xm-app-home-type-tab:not(.is-active) {
    background: var(--muted-bg-color, rgba(255, 255, 255, 0.04));
    color: var(--muted-color, #a1a1aa);
}

body.dark-theme .xm-app-home-pill-tab:not(.is-active) {
    background: var(--muted-bg-color, rgba(255, 255, 255, 0.06));
    border-color: var(--main-border-color, rgba(255, 255, 255, 0.12));
    color: var(--muted-color, #a1a1aa);
}

body.dark-theme .xm-app-home-pill-tab:not(.is-active):hover {
    border-color: var(--theme-color, var(--xm-app-accent, #e53935));
    color: var(--theme-color, var(--xm-app-accent, #e53935));
}

body.dark-theme .xm-app-home-icon-img,
body.dark-theme .xm-app-home-hot-icon {
    border-color: var(--main-border-color, rgba(255, 255, 255, 0.1));
    background: var(--muted-bg-color, rgba(255, 255, 255, 0.04));
}

body.dark-theme .xm-app-home-hot-card {
    background: var(--main-bg-color, #232323) !important;
}

body.dark-theme .xm-app-home-hot-card:hover {
    background: var(--muted-bg-color, rgba(255, 255, 255, 0.04)) !important;
}

body.dark-theme .xm-app-home-hot-grid,
body.dark-theme .xm-app-home-hot-pagenav,
body.dark-theme .xm-app-home-rank-list li {
    border-color: var(--main-border-color, rgba(255, 255, 255, 0.08));
}

body.dark-theme .xm-app-home-hot-head {
    border-bottom-color: var(--main-border-color, rgba(255, 255, 255, 0.08));
}

body.dark-theme .xm-app-home-type-tabs,
body.dark-theme .xm-app-home-type-tab {
    border-color: var(--main-border-color, rgba(255, 255, 255, 0.08));
}

body.dark-theme .xm-app-catalog-pagenav .page-numbers,
body.dark-theme .xm-app-catalog-pagenav a.page-numbers {
    background-color: var(--muted-bg-color, rgba(255, 255, 255, 0.06));
    color: var(--muted-color, #a1a1aa);
}

body.dark-theme .xm-app-catalog-pagenav .page-numbers.current {
    background-color: var(--focus-color, var(--theme-color, #f04494)) !important;
    color: #fff !important;
}

body.dark-theme .xm-app-catalog-pagenav .pag-jump .jump-input {
    background: var(--main-bg-color, #232323);
    border-color: var(--main-border-color, rgba(255, 255, 255, 0.12));
    color: var(--key-color, #e5e5e5);
}

@media (max-width: 992px) {
    .xm-app-home-hot-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .xm-app-home-rank-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .xm-app-home-type-layout {
        flex-direction: column;
    }

    .xm-app-home-type-tabs {
        flex-direction: row;
        width: 100%;
        overflow-x: auto;
        border-right: none;
        border-bottom: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
    }

    .xm-app-home-type-tab {
        flex: 0 0 auto;
        min-width: 72px;
        border-bottom: none;
        border-right: 1px solid var(--main-border-color, rgba(0, 0, 0, 0.08));
    }

    .xm-app-home-type-tab.is-active::after {
        right: 50%;
        top: auto;
        bottom: -7px;
        margin: 0;
        margin-right: -7px;
        border: 7px solid transparent;
        border-top-color: var(--xm-app-accent, #e53935);
        border-left-color: transparent;
    }

    .xm-app-home-hot-grid {
        grid-template-columns: 1fr;
    }

    .xm-app-home-icon-track {
        overflow-x: auto;
        justify-content: flex-start;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .xm-app-home-icon-item {
        flex: 0 0 72px;
        max-width: 72px;
    }
}
