*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#121820;color:#e8e0cf;font:15px/1.6 Arial,"Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.archive-shell{min-height:100vh}.archive-header{min-height:86px;border-bottom:1px solid #46505b;border-left:9px solid #c87920;background:#18212b;display:flex;align-items:center;padding:0 max(24px,calc((100% - 1480px)/2));gap:32px}.archive-brand{display:flex;align-items:center;gap:12px;min-width:260px;font-weight:900}.archive-brand i{width:42px;height:42px;display:grid;place-items:center;border:2px solid #c87920;font-style:normal;font-size:23px}.archive-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-brand small{display:block;color:#8e9aa7;font:10px/1.4 monospace;letter-spacing:2px}.archive-header nav{display:flex;gap:3px;flex:1}.archive-header nav a{padding:9px 13px;border:1px solid transparent}.archive-header nav a:hover{border-color:#c87920;color:#e7a759}.archive-header form{display:flex;width:290px;border-bottom:1px solid #78838e}.archive-header input{width:100%;border:0;background:transparent;color:#fff;padding:10px;outline:0}.archive-header button{border:0;background:#c87920;color:#111;padding:0 16px;font-weight:800}.archive-main{width:min(1480px,calc(100% - 40px));margin:28px auto 50px}.archive-home{display:grid;grid-template-columns:210px minmax(0,1fr) 270px;gap:22px;align-items:start}.archive-directory,.archive-index{position:sticky;top:18px}.directory-title,.index-head{padding:11px 13px;background:#c87920;color:#111;font-weight:900;letter-spacing:1px}.archive-directory>a{display:grid;grid-template-columns:38px 1fr;gap:2px 10px;padding:15px 10px;border-bottom:1px solid #3b4652;background:#19232d}.archive-directory>a b{grid-row:1/3;font:24px/1 monospace;color:#c87920}.archive-directory>a span{font-weight:800}.archive-directory>a em{font:10px monospace;color:#7e8b98}.directory-note{padding:28px 12px;border:1px solid #3b4652;border-top:0;font:26px/1.35 monospace;color:#45515e;letter-spacing:2px}.archive-center{min-width:0}.archive-hero{border:1px solid #46505b;padding:10px;margin-bottom:22px;overflow:hidden}.archive-hero .hero-primary{min-height:390px}.archive-section{border-top:5px solid #c87920;margin:0 0 30px;background:#18212b;padding:16px}.archive-section>header{display:grid;grid-template-columns:90px 1fr auto;align-items:end;border-bottom:1px solid #46505b;padding-bottom:10px;margin-bottom:15px}.archive-section h2{margin:0;font-size:24px}.archive-section header span{font:11px monospace;color:#c87920}.archive-section header a{font-size:12px;color:#aab3bc}.archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.archive-grid>*{min-width:0}.archive-index{border:1px solid #46505b;background:#18212b}.archive-index section{padding:15px;border-bottom:1px solid #46505b}.archive-index small{font:10px monospace;color:#c87920}.archive-index h3{margin:2px 0 12px}.archive-side-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.archive-side-grid>*:nth-child(n+7){display:none}.archive-index img{aspect-ratio:2/3;object-fit:cover}.archive-list{display:grid;grid-template-columns:220px 1fr;gap:26px}.list-spine{position:sticky;top:20px;border-top:7px solid #c87920;padding:20px;background:#18212b}.list-spine>span{font:11px monospace;color:#c87920}.list-spine h1{font-size:34px;margin:5px 0}.list-spine p{color:#8995a0}.list-spine nav{display:grid;margin-top:30px}.list-spine nav a{padding:9px 0;border-bottom:1px solid #39434e}.xxf-list-tools{margin-bottom:18px;padding:15px;border:1px solid #46505b;background:#18212b}.xxf-subcats{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.xxf-subcats a{padding:6px 12px;border:1px solid #46505b}.archive-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.archive-card{position:relative;background:#e9e0cc;color:#1c232a;padding:8px 8px 12px;border-left:5px solid #c87920;min-width:0}.archive-card .file-no{display:block;font:9px monospace;letter-spacing:1px;color:#7a6651}.archive-card img{width:100%;aspect-ratio:2/3;object-fit:cover;margin:6px 0 9px}.archive-card strong,.archive-card small,.archive-card em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-card small{font-size:11px;color:#6f6559}.archive-card em{font-style:normal;font-size:11px;color:#a45112}.xxf-page-wrap{margin:28px 0;display:flex;justify-content:center}.xxf-pagination{display:flex;flex-wrap:wrap;gap:7px}.xxf-pagination a,.xxf-pagination span{padding:7px 11px;border:1px solid #46505b}.archive-detail{display:grid;grid-template-columns:270px minmax(0,1fr) 290px;gap:25px}.detail-file,.detail-record,.detail-related{background:#18212b;border:1px solid #46505b;padding:16px}.detail-file>span,.detail-record header small{font:10px monospace;color:#c87920;letter-spacing:2px}.detail-file img{width:100%;aspect-ratio:2/3;object-fit:cover;margin:12px 0}.detail-file dl div{display:flex;justify-content:space-between;border-bottom:1px solid #3c4651;padding:7px 0}.detail-file dt{color:#8e99a4}.detail-file dd{margin:0}.detail-record h1{font-size:42px;line-height:1.15;margin:8px 0 22px}.record-line{display:grid;grid-template-columns:70px 1fr;padding:10px 0;border-top:1px solid #3c4651}.record-line b{color:#c87920}.record-summary{margin:22px 0;color:#b9c0c6}.archive-play{display:inline-block;background:#c87920;color:#111;padding:12px 22px;font-weight:900}.episode-file{margin-top:28px;border-top:4px double #46505b}.episode-file>div,.episode-links{display:flex;flex-wrap:wrap;gap:8px}.episode-file a,.episode-links a{padding:7px 11px;border:1px solid #46505b;background:#111820}.detail-related>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-related>div>*:nth-child(n+7){display:none}.archive-player>header{border-left:7px solid #c87920;padding:5px 18px;margin-bottom:18px}.archive-player>header span{font:10px monospace;color:#c87920}.archive-player h1{margin:2px 0;font-size:32px}.player-stage{background:#05080b;border:10px solid #222c36;box-shadow:0 0 0 1px #59636d;padding:4px}.player-stage video,.player-stage iframe{width:100%;min-height:520px}.player-lower{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;margin-top:22px}.player-lower>section,.player-lower>aside{padding:18px;background:#18212b;border-top:4px solid #c87920}.archive-search>header{display:grid;grid-template-columns:150px 1fr minmax(300px,520px);gap:15px;align-items:center;border-bottom:4px double #56616c;padding:0 0 20px;margin-bottom:24px}.archive-search header>span{font:11px monospace;color:#c87920}.archive-search h1{margin:0}.archive-search form{display:flex}.archive-search input{flex:1;background:#18212b;border:1px solid #46505b;color:#fff;padding:11px}.archive-search button{border:0;background:#c87920;padding:0 18px;font-weight:900}.archive-footer{border-top:1px solid #46505b;background:#0e141b;padding:30px max(24px,calc((100% - 1480px)/2));display:grid;grid-template-columns:1fr auto;gap:10px}.archive-footer nav{display:flex;gap:15px}.archive-footer p{grid-column:1/-1;margin:0;color:#68737e;font-size:12px}
@media(max-width:1100px){.archive-home{grid-template-columns:180px 1fr}.archive-index{display:none}.archive-grid{grid-template-columns:repeat(3,1fr)}.archive-card-grid{grid-template-columns:repeat(4,1fr)}.archive-detail{grid-template-columns:240px 1fr}.detail-related{grid-column:1/-1}.archive-header form{display:none}}
@media(max-width:760px){.archive-header{min-height:auto;padding:14px 16px;display:block}.archive-brand{min-width:0}.archive-header nav{margin-top:12px;overflow:auto}.archive-main{width:calc(100% - 24px);margin-top:14px}.archive-home,.archive-list,.archive-detail,.player-lower{display:block}.archive-directory,.list-spine{position:static;margin-bottom:15px}.archive-directory{display:grid;grid-template-columns:1fr 1fr}.directory-title,.directory-note{grid-column:1/-1}.archive-grid,.archive-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-section{padding:11px}.archive-section>header{grid-template-columns:70px 1fr}.archive-section header a{display:none}.detail-file{max-width:300px;margin:0 auto 15px}.detail-record h1{font-size:30px}.player-stage video,.player-stage iframe{min-height:230px}.archive-search>header{display:block}.archive-search form{margin-top:14px}.archive-footer{display:block}.archive-footer nav{margin:10px 0;flex-wrap:wrap}}

/* ==========================================================
   XXF_PLAYER_SIZE_FIX_V2
   播放页统一尺寸
   ========================================================== */

.stage,
.player-stage {
    width: 100% !important;
    max-width: 960px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.stage video,
.stage iframe,
.player-stage video,
.player-stage iframe,
video.mv-player,
iframe.mv-player {
    display: block !important;
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: 960px !important;

    min-height: 0 !important;
    max-height: 540px !important;

    aspect-ratio: 16 / 9 !important;

    margin-left: auto !important;
    margin-right: auto !important;

    object-fit: contain !important;
    background: #000 !important;
}

.stage video,
.player-stage video,
video.mv-player {
    height: auto !important;
}

.stage iframe,
.player-stage iframe,
iframe.mv-player {
    height: min(54vw, 540px) !important;
}

@media (max-width: 700px) {

    .stage,
    .player-stage {
        width: 100% !important;
        max-width: 100% !important;
    }

    .stage video,
    .stage iframe,
    .player-stage video,
    .player-stage iframe,
    video.mv-player,
    iframe.mv-player {
        width: 100% !important;
        max-width: 100% !important;

        min-height: 0 !important;
        max-height: none !important;

        aspect-ratio: 16 / 9 !important;
    }

    .stage video,
    .player-stage video,
    video.mv-player {
        height: auto !important;
    }

    .stage iframe,
    .player-stage iframe,
    iframe.mv-player {
        height: 56.25vw !important;
        max-height: 56.25vw !important;
    }
}

/* XXF_ALL_HOME_LAYOUT_FIX_V31_BEGIN */

/*
 * MOVIE002-080 首页布局安全层
 * 保留各模板主题视觉，只修复失控布局。
 */

body .site-shell{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

body .main{
    width:min(1380px,calc(100% - 40px)) !important;
    max-width:1380px !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}

/* 消除栏目整体漂移 */
body .main > .block,
body .main > .gallery-lead,
body .main > .mosaic,
body .main > .dashboard,
body .main > .content-grid{
    transform:none !important;
    left:auto !important;
    right:auto !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
}

/* 普通栏目保持完整宽度 */
body .main > .block{
    width:100% !important;
    max-width:none !important;
    clear:both !important;
}

/* MOVIE035这类错位结构 */
body .gallery-lead{
    display:block !important;
    width:100% !important;
    max-width:none !important;
}

body .gallery-lead > .block{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    transform:none !important;
}

/* mosaic/dashboard不能把主体压窄 */
body .mosaic,
body .dashboard{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
}

/* 禁止第一张卡片异常跨列 */
body .block .cards > *{
    grid-column:auto !important;
    grid-row:auto !important;
    transform:none !important;
}

body .block > .cards{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}

/* 卡片自身不能撑坏网格 */
body .portal-card,
body .card{
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}

body .posterbox{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
}

body .posterbox img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}

/* 热播区安全布局 */
body .hot{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}

body .main > .hot > div{
    display:grid !important;
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:14px !important;
}

body .main > .hot .portal-card{
    width:auto !important;
    max-width:none !important;
}

/* 空hero禁止制造巨大空白 */
body .hero:empty{
    display:none !important;
    min-height:0 !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
}

@media (min-width:1201px){
    body .main{
        width:min(1380px,calc(100% - 48px)) !important;
    }
}

@media (max-width:1200px){
    body .main{
        width:calc(100% - 32px) !important;
    }

    body .main > .hot > div{
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    }
}

@media (max-width:800px){
    body .main{
        width:calc(100% - 24px) !important;
    }

    body .main > .hot > div{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}

@media (max-width:560px){
    body .main{
        width:calc(100% - 20px) !important;
    }

    body .main > .hot > div{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
    }
}

/* XXF_ALL_HOME_LAYOUT_FIX_V31_END */


/* XXF_HOME_LAYOUT_FINAL_V5_BEGIN
 *
 * 首页布局最终安全层。
 *
 * 只解决：
 * - 主体异常变窄
 * - 首页父级容器继续压缩内容
 * - section横向漂移
 * - 首张卡片异常跨列
 *
 * 不统一各模板原始cards列数。
 * 不修改detail/play/list核心结构。
 */

/*
 * site-shell自身不得把页面缩窄。
 * 保留特殊侧栏模板可能存在的正常padding，
 * 这里只阻止宽度和transform造成整体压缩。
 */
body .site-shell {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    transform:none !important;
}

/*
 * main恢复成正常PC内容区域。
 *
 * 不采用固定1360/1440，
 * 这样不同模板仍保留自身视觉差异；
 * 这里只设一个安全上限1380。
 */
body .main {
    width:min(1380px,calc(100% - 40px)) !important;
    max-width:1380px !important;
    min-width:0 !important;

    margin-left:auto !important;
    margin-right:auto !important;

    transform:none !important;
}

/*
 * 首页常见外层结构不能再次限制main宽度。
 */
body .main > .mag-cover,
body .main > .mosaic,
body .main > .dashboard,
body .main > .home-two,
body .main > .home-grid,
body .main > .paper-grid,
body .main > .retro-grid,
body .main > .neon-grid,
body .main > .guide-grid,
body .main > .content-grid,
body .main > .gallery-lead {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;

    margin-left:0 !important;
    margin-right:0 !important;

    transform:none !important;
}

/*
 * 这些父级内部元素允许正常收缩，
 * 但不能反过来把父容器撑坏或压窄。
 */
body .main > .mag-cover > *,
body .main > .mosaic > *,
body .main > .dashboard > *,
body .main > .home-two > *,
body .main > .home-grid > *,
body .main > .paper-grid > *,
body .main > .retro-grid > *,
body .main > .neon-grid > *,
body .main > .guide-grid > *,
body .main > .content-grid > *,
body .main > .gallery-lead > * {
    min-width:0 !important;
    max-width:100%;
}

/*
 * 普通栏目块始终使用父容器完整宽度。
 */
body .main > .block,
body .main .gallery-lead > .block {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;

    margin-left:0 !important;
    margin-right:0 !important;

    transform:none !important;
}

/*
 * 清除原模板：
 * .block:nth-child(even){transform:translateX(...)}
 *
 * 这是目前电影/电视剧栏目左右漂移的重要来源。
 */
body .main .block:nth-child(n) {
    transform:none !important;
}

/*
 * 清除原模板：
 * .block:nth-child(odd) .cards>*:first-child{
 *     grid-column:span 2
 * }
 *
 * 不改变cards本身的4/5/6/7列设计。
 */
body .main .block .cards > * {
    grid-column:auto !important;
    min-width:0 !important;
}

/*
 * cards仍使用每套模板自己原来的列数。
 * 这里只保证grid不会产生最小内容宽度反撑。
 */
body .main .cards,
body .main .list-grid {
    width:100%;
    max-width:100%;
    min-width:0;
}

/*
 * 首页hot区域不能因为历史补丁留下的
 * max-width / width / transform 再次变窄。
 */
body .main > .hot,
body .main .mosaic .hot,
body .main .mag-cover .hot,
body .main .dashboard .hot {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    transform:none !important;
}

/*
 * 手机和平板只修main宽度。
 * cards列数继续交给各模板原来的media规则。
 */
@media (max-width:1200px) {
    body .main {
        width:calc(100% - 32px) !important;
        max-width:none !important;
    }
}

@media (max-width:800px) {
    body .main {
        width:calc(100% - 24px) !important;
        max-width:none !important;
    }
}

@media (max-width:560px) {
    body .main {
        width:calc(100% - 20px) !important;
        max-width:none !important;
    }
}

/* XXF_HOME_LAYOUT_FINAL_V5_END */
