﻿
        /* ===== 全局重置 & 报纸风格 ===== */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        body {
            font-family: 'Georgia', 'Times New Roman', 'Songti SC', serif;
            background: #f6f3ef;
            color: #1e1e1e;
            line-height: 1.7;
            padding: 0 1rem 3rem;
            max-width: 1100px;
            margin: 0 auto;
        }
        a {
            color: #1e1e1e;
            text-decoration: none;
            border-bottom: 1px solid #d0cbc4;
            transition: border-color 0.2s;
        }
        a:hover {
            border-bottom-color: #1e1e1e;
        }
        img {
            max-width: 100%;
            height: auto;
            display: block;
        }

        /* ===== 报头 ===== */
        .newspaper-header {
            text-align: center;
            padding: 2rem 0 1rem;
            border-bottom: 4px double #1e1e1e;
            margin-bottom: 2rem;
        }
        .newspaper-header h1 {
            font-size: 3rem;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            margin-bottom: 0.2rem;
        }
        .newspaper-header .sub {
            font-size: 0.95rem;
            color: #5a4f47;
            letter-spacing: 0.3em;
            font-style: italic;
            border-top: 1px solid #d0cbc4;
            padding-top: 0.5rem;
            display: inline-block;
        }
        .newspaper-header .date {
            font-size: 0.8rem;
            color: #7a6f67;
            margin-top: 0.3rem;
            letter-spacing: 0.1em;
        }

        /* ===== 首页季卡片网格 ===== */
        .season-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
            gap: 1.8rem;
            margin: 2rem 0;
        }
        .season-card {
            background: #ffffff;
            border: 1px solid #e0dad4;
            border-radius: 4px;
            overflow: hidden;
            transition: box-shadow 0.25s, transform 0.2s;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
        }
        .season-card:hover {
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
            transform: translateY(-3px);
        }
        .season-card .poster {
            aspect-ratio: 2 / 3;
            background: #ece7e1;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .season-card .poster img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .season-card .info {
            padding: 1rem 1.2rem 1.2rem;
        }
        .season-card .info h3 {
            font-size: 1.15rem;
            font-weight: 700;
            margin-bottom: 0.15rem;
        }
        .season-card .info .meta {
            font-size: 0.85rem;
            color: #5a4f47;
            border-top: 1px dashed #e0dad4;
            padding-top: 0.4rem;
            margin-top: 0.4rem;
            display: flex;
            justify-content: space-between;
        }

        /* ===== 季详情页 ===== */
        .back-link {
            display: inline-block;
            margin: 1rem 0 0.5rem;
            font-size: 0.9rem;
            color: #5a4f47;
            border-bottom: 1px solid transparent;
        }
        .back-link:hover {
            border-bottom-color: #5a4f47;
        }

        .season-detail-header {
            display: flex;
            flex-wrap: wrap;
            gap: 2rem;
            margin: 1.5rem 0 2.5rem;
            padding-bottom: 1.5rem;
            border-bottom: 2px solid #e0dad4;
        }
        .season-detail-header .poster {
            flex: 0 0 180px;
            max-width: 180px;
            border-radius: 4px;
            overflow: hidden;
            border: 1px solid #e0dad4;
        }
        .season-detail-header .poster img {
            width: 100%;
            height: auto;
            aspect-ratio: 2 / 3;
            object-fit: cover;
        }
        .season-detail-header .title-group {
            flex: 1;
            min-width: 200px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }
        .season-detail-header .title-group h2 {
            font-size: 2.2rem;
            font-weight: 700;
            line-height: 1.2;
        }
        .season-detail-header .title-group .subtitle {
            font-size: 1rem;
            color: #5a4f47;
            font-style: italic;
            margin-top: 0.2rem;
        }

        /* ===== 剧集列表 (报纸风格) ===== */
        .episode-list {
            display: flex;
            flex-direction: column;
            gap: 0.6rem;
            margin: 1.5rem 0 2.5rem;
        }
        .episode-item {
            display: flex;
            align-items: center;
            padding: 0.6rem 1rem;
            background: #ffffff;
            border: 1px solid #e8e2db;
            border-radius: 3px;
            transition: background 0.15s, border-color 0.15s;
            cursor: pointer;
            gap: 1rem;
            flex-wrap: wrap;
        }
        .episode-item:hover {
            background: #fcfaf8;
            border-color: #c5bdb4;
        }
        .episode-item .ep-num {
            font-weight: 700;
            font-size: 0.9rem;
            min-width: 3.2rem;
            color: #3d342d;
            letter-spacing: 0.02em;
        }
        .episode-item .ep-title {
            flex: 1;
            font-size: 1rem;
        }
        .episode-item .ep-title .sub {
            font-size: 0.8rem;
            color: #7a6f67;
            font-style: italic;
            margin-left: 0.6rem;
        }
        .episode-item .ep-action {
            font-size: 0.85rem;
            color: #5a4f47;
            border: 1px solid #d0cbc4;
            border-radius: 20px;
            padding: 0.15rem 1rem;
            transition: background 0.2s, color 0.2s;
            background: transparent;
            cursor: pointer;
            font-family: inherit;
        }
        .episode-item .ep-action:hover {
            background: #1e1e1e;
            color: #f6f3ef;
            border-color: #1e1e1e;
        }

        /* ===== 播放页面 ===== */
        .player-wrapper {
            background: #0b0b0b;
            border-radius: 6px;
            overflow: hidden;
            margin: 1.5rem 0 1rem;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
            position: relative;
        }
        .player-wrapper video {
            width: 100%;
            height: auto;
            display: block;
            aspect-ratio: 16 / 9;
            background: #0b0b0b;
        }
        /* 模拟B站风格控制条（简易）— 实际可用原生controls + 自定义样式 */
        .player-wrapper .bilibili-style-controls {
            display: none;
            /* 如需完全自定义可在此扩展，实际项目建议使用原生controls并做轻度样式覆盖 */
        }

        .player-meta {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            align-items: baseline;
            margin: 0.8rem 0 1.5rem;
            padding: 0.6rem 0.2rem;
            border-bottom: 1px solid #e0dad4;
        }
        .player-meta .left {
            font-size: 1.1rem;
            font-weight: 700;
        }
        .player-meta .left .small {
            font-weight: 400;
            font-size: 0.85rem;
            color: #5a4f47;
            margin-left: 0.6rem;
        }
        .player-meta .right {
            font-size: 0.85rem;
            color: #5a4f47;
        }

        /* ===== 选集切换（报纸风格下拉/网格） ===== */
        .episode-switcher {
            background: #ffffff;
            border: 1px solid #e0dad4;
            border-radius: 4px;
            padding: 1.2rem 1.2rem 0.8rem;
            margin: 0.5rem 0 2rem;
        }
        .episode-switcher .label {
            font-size: 0.85rem;
            font-weight: 700;
            letter-spacing: 0.05em;
            color: #3d342d;
            border-bottom: 1px solid #e8e2db;
            padding-bottom: 0.4rem;
            margin-bottom: 0.8rem;
        }
        .episode-switcher .switcher-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem;
        }
        .episode-switcher .switcher-grid button {
            background: #f6f3ef;
            border: 1px solid #d0cbc4;
            border-radius: 20px;
            padding: 0.2rem 1rem;
            font-size: 0.8rem;
            font-family: inherit;
            cursor: pointer;
            transition: background 0.15s, border-color 0.15s;
            color: #1e1e1e;
        }
        .episode-switcher .switcher-grid button:hover {
            background: #e8e2db;
            border-color: #b5aba0;
        }
        .episode-switcher .switcher-grid button.active {
            background: #1e1e1e;
            color: #f6f3ef;
            border-color: #1e1e1e;
        }

        /* ===== 移动端优化 ===== */
        @media (max-width: 640px) {
            body {
                padding: 0 0.8rem 2rem;
            }
            .newspaper-header h1 {
                font-size: 2rem;
            }
            .newspaper-header .sub {
                font-size: 0.75rem;
            }
            .season-grid {
                grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
                gap: 1rem;
            }
            .season-detail-header {
                flex-direction: column;
                align-items: center;
                text-align: center;
                gap: 0.8rem;
            }
            .season-detail-header .poster {
                flex: 0 0 auto;
                max-width: 140px;
            }
            .season-detail-header .title-group h2 {
                font-size: 1.6rem;
            }
            .episode-item {
                padding: 0.5rem 0.8rem;
                gap: 0.4rem;
            }
            .episode-item .ep-num {
                min-width: 2.6rem;
                font-size: 0.8rem;
            }
            .episode-item .ep-title {
                font-size: 0.9rem;
                width: 100%;
            }
            .episode-item .ep-title .sub {
                display: block;
                margin-left: 0;
                font-size: 0.75rem;
            }
            .episode-item .ep-action {
                font-size: 0.75rem;
                padding: 0.1rem 0.8rem;
                margin-left: auto;
            }
            .player-meta {
                flex-direction: column;
                gap: 0.2rem;
            }
            .player-meta .left {
                font-size: 0.95rem;
            }
            .episode-switcher .switcher-grid button {
                font-size: 0.7rem;
                padding: 0.15rem 0.7rem;
            }
            .season-detail-header .poster {
                max-width: 120px;
            }
        }

        @media (max-width: 400px) {
            .season-grid {
                grid-template-columns: 1fr 1fr;
                gap: 0.8rem;
            }
            .season-card .info h3 {
                font-size: 0.95rem;
            }
            .season-card .info .meta {
                font-size: 0.7rem;
                flex-direction: column;
                gap: 0.1rem;
            }
        }

        /* ===== 工具类 ===== */
        .text-center {
            text-align: center;
        }
        .mt-1 {
            margin-top: 1rem;
        }
        .mb-1 {
            margin-bottom: 1rem;
        }
        .hidden {
            display: none !important;
        }

        /* ===== 加载占位 ===== */
        .loading-placeholder {
            background: #ece7e1;
            border-radius: 4px;
            min-height: 200px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #5a4f47;
            font-style: italic;
        }

        /* ===== 结构化数据（SEO）通过JSON-LD注入 ===== */
        /* ===== 行政事务部档案馆主题覆盖 ===== */
        :root { --ink:#151515; --coal:#242424; --paper:#f4f0e8; --card:#ebe4d7; --gold:#b7a98f; --line:rgba(244,240,232,.18); }
        body { max-width:none; padding:0; margin:0; background:var(--ink); color:var(--paper); font-family:Inter, ui-sans-serif, system-ui, sans-serif; }
        body:before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.12; background-image:radial-gradient(rgba(255,255,255,.18) .6px, transparent .6px); background-size:5px 5px; mix-blend-mode:screen; }
        a { color:inherit; border-bottom-color:rgba(244,240,232,.28); }
        .newspaper-header { max-width:1180px; margin:0 auto; padding:22px 28px 30px; text-align:left; border-bottom:3px double var(--paper); }
        .institution-line { display:flex; justify-content:space-between; gap:1rem; color:var(--gold); font:11px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing:.18em; }
        .newspaper-header h1 { margin:30px 0 8px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(2.5rem,6vw,5.8rem); letter-spacing:-.04em; line-height:.98; text-transform:none; }
        .newspaper-header h1 .brand-home { border:0; color:inherit; text-decoration:none; }
        .newspaper-header h1 .brand-home:hover { color:var(--gold); }
        .newspaper-header .sub { border:0; padding:0; color:var(--paper); font:12px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing:.2em; }
        .newspaper-header .date { margin-top:22px; color:var(--gold); font:12px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing:.1em; }
        #app, footer { max-width:1180px; margin-left:auto; margin-right:auto; padding-left:28px; padding-right:28px; }
        #app { min-height:65vh; }
        footer { margin-top:4rem !important; padding-top:20px !important; padding-bottom:34px; border-top:1px solid var(--line) !important; color:rgba(244,240,232,.58) !important; text-align:left !important; font:11px/1.8 ui-monospace, SFMono-Regular, Consolas, monospace; }
        .site-footer p + p { margin-top:.2rem; }
        #page-container { animation:archive-in .45s ease both; }
        @keyframes archive-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
        .season-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin:38px 0 70px; }
        .season-card { background:var(--card); border:1px solid rgba(183,169,143,.5); border-radius:0; box-shadow:5px 5px 0 rgba(0,0,0,.28); color:var(--ink); }
        .season-card:hover { transform:translateY(-4px); box-shadow:7px 10px 0 rgba(0,0,0,.35); border-color:var(--gold); }
        .season-card .poster { background:#2b2926; aspect-ratio:2/3; }
        .season-card .info { padding:14px; }
        .season-card .info h3 { font-family:Georgia,'Times New Roman',serif; font-size:1.08rem; line-height:1.25; }
        .season-card .info .meta { color:#5e564c; border-top:1px solid rgba(21,21,21,.25); font:10px ui-monospace,monospace; }
        .back-link { color:var(--gold); margin-top:30px; font:11px ui-monospace,monospace; letter-spacing:.1em; }
        .season-detail-header { gap:28px; margin:28px 0 34px; padding:22px 0 30px; border-bottom:1px solid var(--line); }
        .season-detail-header .poster { border-radius:0; border:1px solid var(--gold); box-shadow:5px 5px 0 rgba(0,0,0,.3); }
        .season-detail-header .title-group h2 { color:var(--paper); font-family:Georgia,'Times New Roman',serif; font-size:clamp(2rem,5vw,4rem); }
        .season-detail-header .title-group .subtitle { color:var(--gold); font:12px ui-monospace,monospace; }
        .episode-list { gap:8px; margin:20px 0 50px; }
        .episode-item { min-height:58px; padding:10px 14px; border-radius:0; background:rgba(244,240,232,.06); border:1px solid var(--line); color:var(--paper); }
        .episode-item:hover { background:rgba(244,240,232,.12); border-color:var(--gold); }
        .episode-item .ep-num { color:var(--gold); font:12px ui-monospace,monospace; }
        .episode-item .ep-title { font-family:Georgia,'Times New Roman',serif; }
        .episode-item .ep-title .sub { color:rgba(244,240,232,.5); font:10px ui-monospace,monospace; }
        .episode-item .ep-action { min-height:44px; padding:0 16px; border-radius:0; color:var(--paper); border-color:var(--gold); font:11px ui-monospace,monospace; }
        .episode-item .ep-action:hover { background:var(--paper); color:var(--ink); }
        .player-wrapper { margin:24px 0 14px; border-radius:0; border:1px solid var(--gold); box-shadow:8px 8px 0 rgba(0,0,0,.35); }
        .player-wrapper .dplayer, .player-wrapper video { width:100%; aspect-ratio:16/9; }
        .archive-kicker { margin-top:24px; color:var(--gold); font:11px ui-monospace,monospace; letter-spacing:.16em; }
        .player-loading { position:absolute; inset:0; display:grid; place-items:center; color:var(--gold); background:#111; font:12px ui-monospace,monospace; pointer-events:none; }
        .special-tag { display:inline-block; margin-left:10px; padding:3px 6px; color:var(--ink); background:var(--gold); font:10px ui-monospace,monospace; vertical-align:middle; }
        .meta-divider { color:rgba(244,240,232,.35); margin:0 8px; }
        .player-meta { border-bottom:1px solid var(--line); color:var(--paper); }
        .player-meta .left { font-family:Georgia,'Times New Roman',serif; }
        .player-meta .left .small, .player-meta .right { color:var(--gold); }
        .episode-switcher { background:rgba(244,240,232,.06); border:1px solid var(--line); border-radius:0; padding:16px; }
        .episode-switcher .label { color:var(--gold); border-color:var(--line); font:11px ui-monospace,monospace; }
        .episode-switcher .switcher-grid button { min-width:44px; min-height:44px; border-radius:0; background:transparent; color:var(--paper); border-color:var(--line); font:11px ui-monospace,monospace; }
        .episode-switcher .switcher-grid button:hover { border-color:var(--gold); background:rgba(244,240,232,.1); }
        .episode-switcher .switcher-grid button.active { background:var(--gold); color:var(--ink); border-color:var(--gold); }
        .archive-seasons { margin:32px 0 64px; padding-top:20px; border-top:1px solid var(--line); }
        .archive-seasons-title { margin-bottom:12px; color:var(--gold); font:11px ui-monospace,monospace; letter-spacing:.14em; text-transform:uppercase; }
        .archive-seasons-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
        .archive-season-link { min-height:56px; display:flex; flex-direction:column; justify-content:space-between; padding:10px; border:1px solid var(--line); color:var(--paper); text-decoration:none; font:12px Georgia,serif; }
        .archive-season-link small { color:rgba(244,240,232,.5); font:10px ui-monospace,monospace; }
        .archive-season-link:hover,.archive-season-link.current { border-color:var(--gold); background:rgba(183,169,143,.12); }
        :focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
        @media (max-width:900px) { .season-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
        @media (max-width:640px) { #app,footer { padding-left:16px; padding-right:16px; } .newspaper-header { padding:18px 16px 24px; } .institution-line { flex-direction:column; gap:6px; } .newspaper-header h1 { margin-top:24px; font-size:2.65rem; } .season-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:28px; } .season-card .info { padding:11px; } .season-detail-header { align-items:flex-start; } .season-detail-header .poster { max-width:150px; } .archive-seasons-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
        @media (prefers-reduced-motion:reduce) { *,*:before,*:after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }
    
