/* 求剧情 · 2026-10 新版外观：冷灰底 + 白卡片 + 细线 + 黑色选中态，唯一强调色取 logo 的蓝。
   参考 x榜单（榜单君）的设计语言；仍加载 WeUI 样式表，但这里的规则会覆盖它的按钮/列表外观。 */
:root {
  --bg: #f2f4f7; --surface: #fff; --tint: #f7f8fa;
  --ink: #0f1419; --ink2: #3d4852; --muted: #66727f; --mut2: #9aa5b1;
  --line: #e3e7ec; --hair: #edf0f3;
  --accent: #1560dc; --accent-text: #1560dc; --accent-bg: #e8f0fd; --focus: #1560dc; --link: #1560dc;
  --gold: #b07d18; --r: 10px; --image-bg: #d6dde8;
  --demo: #fff4d6; --demo-ink: #8a6200;
  --head: #fff; --head-ink: var(--ink); --head-line: var(--line);
  --search-bg: var(--bg); --search-ink: var(--ink); --search-line: var(--line);
  --search-button: transparent; --search-button-ink: var(--accent); --search-radius: 9px;
  --foot: #fff; --foot-ink: var(--muted);
  --category: #fff; --category-ink: var(--ink); --category-muted: var(--muted);
  --story: #fff; --story-ink: var(--ink); --story-muted: var(--muted); --story-accent: var(--accent); --story-line: var(--hair);
}
body.theme-wechat {
  color-scheme: light; background: var(--bg); color: var(--ink);
  min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column;
  font: 14px/1.6 -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Microsoft YaHei", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased; overflow-x: clip;
}
main { flex: 1; }
a[href], .weui-btn[href] { cursor: pointer; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
h1, h2, .poster strong, .directory-row strong, .update-main strong { text-wrap: balance; }
.container { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }
.demo { font-size: 12px; }

/* ---------- 页头：logo + 栏目 + 搜索 同一行，选中栏目黑色下划线 ---------- */
.site-head { position: sticky; top: 0; z-index: 40; background: var(--head); border-bottom: 1px solid var(--line); }
.head-inner { width: min(1120px, calc(100% - 40px)); height: 58px; margin: 0 auto; display: flex; align-items: center; gap: 26px; }
.brand { display: flex; align-items: center; font-size: 0; flex: none; }
/* 文字「求剧情」留在页面里给搜索引擎和读屏，视觉上用 ::after 的字标图（取自 logo 里的三个字，tools/make_wordmark.py 生成） */
.brand::before { content: ""; flex: none; width: 30px; height: 30px; margin-right: 9px; border-radius: 8px; background: url("data:image/png;base64,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") center / contain no-repeat; }
.brand::after { content: ""; flex: none; width: 73px; height: 28px; background: url("data:image/png;base64,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") center / contain no-repeat; }
.genre-nav { border: 0; align-self: stretch; display: flex; min-width: 0; }
.nav-inner { width: auto; margin: 0; display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; }
.nav-inner::-webkit-scrollbar { display: none; }
.nav-link { position: relative; display: inline-flex; align-items: center; flex: none; min-height: 44px; padding: 0 14px; border: 0; color: var(--muted); font-size: 15px; font-weight: 500; white-space: nowrap; }
.nav-link:hover { color: var(--ink); border: 0; }
.nav-link.active { color: var(--ink); font-weight: 650; }
.nav-link.active::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 0; height: 2px; background: var(--ink); }
.search { display: flex; width: min(300px, 40vw); height: 38px; margin-left: auto; background: var(--search-bg); border: 1px solid var(--line); border-radius: var(--search-radius); overflow: hidden; }
.search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(21, 96, 220, .14); background: #fff; }
.search input { min-width: 0; flex: 1; height: 100%; border: 0; background: transparent; padding: 0 12px; font-size: 14px; color: var(--ink); outline: none; }
.search input::placeholder { color: var(--mut2); }
.search button { flex: none; border: 0; background: transparent; padding: 0 14px; color: var(--accent); font-size: 13px; font-weight: 650; white-space: nowrap; }
.crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding: 16px 0 12px; color: var(--muted); font-size: 12.5px; }
.crumb a:hover { color: var(--ink); }

/* ---------- 通用卡片与标题 ---------- */
.home-latest, .home-category, .category-latest, .category-works, .all-updates, .listing-title,
.work-hero, .directory, .side-note, .plain-page, .ep-panel, .related, .story, .story-side, .empty-note, #empty {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r);
}
.section-title { display: flex; align-items: baseline; gap: 10px; margin: 0; padding: 14px 18px 6px; }
.section-title h1, .section-title h2 { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.4; }
.section-title p, .cat-stat { margin: 0; color: var(--muted); font-size: 12px; }
.section-more { margin-left: auto; color: var(--accent); font-size: 13px; }
.section-more:hover { text-decoration: underline; text-underline-offset: 3px; }
.empty-note, #empty { padding: 28px 18px; text-align: center; color: var(--muted); border: 0; background: none; }
.search-note { margin: 14px 2px 0; color: var(--muted); font-size: 13px; }

/* ---------- 按钮（覆盖 WeUI 的绿色大按钮） ---------- */
.weui-btn.site-button { display: inline-flex; align-items: center; justify-content: center; flex: none; width: auto; min-width: 0; min-height: 36px; margin: 0; padding: 0 16px;
  border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); font-size: 13px; font-weight: 600; line-height: 1.3; }
.weui-btn.site-button::after { display: none; }
.weui-btn.site-button:not(.weui-btn_disabled):hover { border-color: var(--mut2); }
.weui-btn.weui-btn_primary.site-button:not(.weui-btn_disabled) { background: var(--ink); border-color: var(--ink); color: #fff; }
.weui-btn.weui-btn_primary.site-button:not(.weui-btn_disabled):hover { opacity: .88; }
.weui-btn.weui-btn_default.site-button:not(.weui-btn_disabled):active { background: var(--tint); }
.weui-btn.weui-btn_disabled.site-button { background: var(--tint); border-color: var(--hair); color: var(--mut2); opacity: 1; }

/* ---------- 首页最新 ---------- */
.home-extra { margin-top: 16px; }
.home-latest { margin: 0; overflow: hidden; }
.latest-feed { padding: 0; }
.home-category { margin-top: 16px; overflow: hidden; }
#home-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; align-items: start; }
#home-categories > * { grid-column: 1 / -1; }
#home-categories > .home-category.small { grid-column: auto; }
#home-categories > .work-grid { margin-top: 14px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding-top: 18px; }
.home-category.small .work-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* ---------- 更新行：封面 | 作品名 + 本集标题与摘要 | 集数标签 + 日期 ---------- */
.weui-cell.update-row, .weui-cell.category-update { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 14px; min-height: 0; padding: 12px 18px; color: inherit; border-top: 1px solid var(--hair); }
.weui-cell.update-row::before, .weui-cell.category-update::before { display: none; }
.weui-cell.update-row:first-child, .weui-cell.category-update:first-of-type { border-top: 0; }
.weui-cell.update-row:active, .weui-cell.category-update:active { background: var(--tint); }
.update-thumb { position: relative; display: block; width: 46px; height: 62px; overflow: hidden; border-radius: 5px; background: var(--image-bg); box-shadow: none; }
.update-thumb img { width: 100%; height: 100%; object-fit: cover; }
.update-main { min-width: 0; flex: none; }
.update-main strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14.5px; font-weight: 650; line-height: 1.45; }
.update-main small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 2px; color: var(--muted); font-size: 12.5px; line-height: 1.5; }
.update-main small b { color: var(--ink2); font-weight: 600; }
.update-row:hover .update-main strong, .category-update:hover .update-main strong { color: var(--accent); }
.update-side { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; text-align: right; }
.update-side .ep { padding: 1px 8px; border-radius: 5px; background: var(--accent-bg); color: var(--accent); font-size: 12px; font-style: normal; font-weight: 650; white-space: nowrap; }
.update-meta { display: block; color: var(--muted); font-size: 12px; line-height: 1.4; white-space: nowrap; }
.update-row .update-category { display: none; }

/* ---------- 海报网格（首页栏目、栏目目录、更多作品、搜索结果） ---------- */
.work-grid, .featured-list { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px 14px; max-width: none; padding: 8px 18px 20px; background: none; border: 0; }
.work-card.poster { display: block; min-width: 0; padding: 0; background: none; border: 0; }
.poster-img { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 7px; background: var(--image-bg); border: 1px solid var(--hair); }
.poster-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.work-card.poster:hover .poster-img img { transform: scale(1.03); }
.poster strong { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin-top: 7px; font-size: 13.5px; font-weight: 650; line-height: 1.4; }
.poster small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 1px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.work-card.poster:hover strong { color: var(--accent); }
/* 占位封面：渐变色块上叠剧名（小缩略图只显示首字） */
.ph-t { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 6px; font-style: normal; text-align: center; color: #fff; background: linear-gradient(rgba(10, 30, 70, .06), rgba(10, 30, 70, .30)); text-shadow: 0 1px 6px rgba(10, 30, 70, .45); pointer-events: none; }
.ph-t b { font-size: 22px; line-height: 1; font-weight: 800; }
.ph-t span { display: none; font-size: 13px; line-height: 1.35; font-weight: 700; overflow: hidden; display: none; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.poster-img .ph-t b { font-size: 34px; }
.poster-img .ph-t span, .hero-cover .ph-t span, .tv-still .ph-t span { display: -webkit-box; }
.hero-cover .ph-t b { font-size: 48px; }
.hero-cover .ph-t span { font-size: 16px; }

/* ---------- 栏目页、全部最新、分页 ---------- */
.category-latest { overflow: hidden; }
.category-latest .section-title { align-items: center; padding-top: 16px; }
.category-latest h1, .listing-title { font-size: 20px; }
.category-latest .section-title .site-button { margin-left: auto; }
.sub-title { margin: 0; padding: 4px 18px 6px; color: var(--muted); font-size: 12px; font-weight: 500; }
.category-works { margin-top: 16px; padding: 0; overflow: hidden; }
.category-works h2 { margin: 0; padding: 14px 18px 0; font-size: 16px; }
.category-works .featured-list, .category-works .pager { margin: 0; }
.listing-title { margin: 0; padding: 16px 18px; }
.all-updates { padding: 18px 0 0; overflow: hidden; }
.all-updates h1 { margin: 0; padding: 0 18px 10px; font-size: 20px; }
.all-updates .latest-feed { padding: 0; }
.pager { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin: 0; padding: 14px 18px; border-top: 1px solid var(--hair); }
.pager-status { color: var(--muted); font-size: 13px; white-space: nowrap; }

/* ---------- 作品页 ---------- */
.work-hero { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 24px; padding: 20px; }
.work-hero.landscape { grid-template-columns: 300px minmax(0, 1fr); }
.hero-cover { position: relative; width: 150px; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 8px; background: var(--image-bg); border: 1px solid var(--hair); }
.hero-cover img { width: 100%; height: 100%; object-fit: cover; }
.work-hero.landscape .hero-cover { width: 300px; aspect-ratio: 16 / 9; }
.hero-copy { min-width: 0; padding: 0; }
.hero-copy h1 { margin: 0 0 8px; font-size: 26px; line-height: 1.3; font-weight: 750; letter-spacing: 0; }
.work-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.tag { padding: 1px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--tint); color: var(--ink2); font-size: 12px; line-height: 1.7; }
.hero-copy > p { max-width: 62ch; margin: 0 0 10px; color: var(--ink2); font-size: 14px; line-height: 1.75; }
.hero-cast { margin: 0 0 8px; color: var(--ink2); font-size: 13px; }
.hero-cast b { margin-right: 8px; color: var(--muted); font-weight: 500; }
.work-meta { display: flex; gap: 12px; margin-bottom: 4px; color: var(--muted); font-size: 12.5px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.pending-action { display: inline-block; margin-top: 12px; color: var(--muted); font-size: 13px; }
.ep-panel { margin-top: 16px; padding: 16px 18px 18px; }
.ep-panel h2 { margin: 0 0 2px; font-size: 16px; font-weight: 700; }
.ep-note, .ep-more { margin: 0 0 4px; color: var(--muted); font-size: 12px; }
.ep-more { margin-top: 12px; font-size: 13px; }
.ep-more a { color: var(--accent); }
.ep-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(48px, 1fr)); gap: 8px; margin-top: 12px; }
.ep-chip { display: flex; align-items: center; justify-content: center; min-height: 38px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); font-size: 14px; font-variant-numeric: tabular-nums; }
a.ep-chip { color: var(--accent); }
a.ep-chip:hover { border-color: var(--accent); }
a.ep-chip.current { border-color: var(--accent); background: var(--accent); color: #fff; font-weight: 650; }
.ep-chip.off { border-color: transparent; background: var(--tint); color: var(--mut2); }
.work-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 16px; align-items: start; margin-top: 16px; padding: 0; }
.directory { padding: 6px 0; overflow: hidden; }
.directory .section-title { display: block; margin: 0; padding: 12px 18px 8px; }
.directory .section-title p { margin-top: 2px; }
.directory-row { display: grid; grid-template-columns: 62px minmax(0, 1fr) 44px; align-items: center; gap: 12px; padding: 13px 18px; border-top: 1px solid var(--hair); border-bottom: 0; min-height: 0; }
.directory-row:hover { background: var(--tint); }
.directory-row > b { color: var(--ink); font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.directory-row strong { display: block; font-size: 15px; font-weight: 650; }
.directory-row small { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin-top: 2px; color: var(--muted); font-size: 12.5px; line-height: 1.55; }
.directory-row i { color: var(--accent); font-size: 13px; font-style: normal; text-align: right; white-space: nowrap; }
.pending-row { padding: 16px 18px; color: var(--muted); }
.side-note { padding: 16px 18px; }
.side-note h2 { margin: 0 0 6px; font-size: 16px; color: var(--ink); }
.side-note a, .story-meta a, .foot-link { color: var(--accent); }
.info-list { margin: 0; }
.info-list > div { display: flex; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--hair); font-size: 13px; line-height: 1.6; }
.info-list > div:last-child { border-bottom: 0; }
.info-list dt { flex: none; width: 36px; color: var(--muted); }
.info-list dd { margin: 0; min-width: 0; flex: 1; }
.people-panel { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--hair); }
.people-panel h2 { margin: 0 0 10px; font-size: 15px; }
.relation-map { padding: 12px; border-radius: 8px; background: var(--tint); }
.relation-center, .relation-branches li { border: 1px solid var(--line); border-radius: 6px; background: var(--surface); }
.relation-center { position: relative; display: inline-block; min-width: 120px; margin-left: 14px; padding: 7px 12px; font-weight: 600; }
.relation-center small, .relation-branches small { display: block; color: var(--muted); font-size: 11px; font-weight: 400; }
.relation-branches { display: grid; gap: 6px; margin: 10px 0 0 14px; padding: 0 0 0 14px; list-style: none; border-left: 1px solid var(--line); }
.relation-center::after { content: ""; position: absolute; top: 100%; left: -1px; height: 10px; border-left: 1px solid var(--line); }
.relation-branches li { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 5px; padding: 6px 8px; }
.relation-branches li::before { content: ""; position: absolute; top: 50%; left: -15px; width: 14px; border-top: 1px solid var(--line); }
.relation-branches strong { display: block; font-size: 14px; }
.cast-list { margin: 0; padding: 0; list-style: none; }
.cast-list li { display: flex; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--hair); font-size: 13px; }
.cast-list li:last-child { border-bottom: 0; }
.cast-list strong { flex: none; width: 50px; }
.people-source { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.people-source a { color: var(--accent); }
.pending-box { margin-top: 6px; padding-top: 4px; border-top: 1px dashed var(--line); }
.pending-box summary { display: flex; align-items: center; min-height: 44px; color: var(--accent); font-size: 14px; font-weight: 500; cursor: pointer; }
.pending-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 8px; padding: 0; list-style: none; }
.pending-list li { padding: 3px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--mut2); font-size: 12px; white-space: nowrap; }
.related { margin-top: 16px; overflow: hidden; }
.related .section-title { padding-top: 16px; }

/* ---------- 阅读页 ---------- */
.story-layout { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 16px; align-items: start; padding: 0; background: none; border: 0; }
.story { padding: 32px 40px 28px; }
.story-kicker { color: var(--accent); font-size: 13px; font-weight: 650; }
.story h1 { margin: 8px 0 16px; font-size: 28px; line-height: 1.4; font-weight: 750; letter-spacing: 0; text-align: left; }
.story .lede { margin: 0 0 18px; padding: 2px 0 2px 14px; border-left: 3px solid var(--accent); color: var(--ink2); font-size: 16px; line-height: 1.8; }
.story-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 16px; margin: 0 0 22px; padding: 10px 0; border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair); color: var(--muted); font-size: 12.5px; }
.story-quick { display: flex; gap: 14px; }
.edit-link { margin-left: 12px; white-space: nowrap; }
.edit-link:hover { text-decoration: underline; }
.edit-apply { margin: 14px 0 0; font-size: 13px; }
.weui-article.story { padding: 32px 40px 28px; font-size: 17px; color: var(--ink); }
.story > p:not(.lede) { margin: 0 0 1.1em; font-size: 17px; line-height: 1.95; color: var(--ink); }
.story h2 { margin: 28px 0 10px; font-size: 20px; }
.story-next { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--hair); }
.story-next .nav-prev { justify-self: start; }
.story-next .nav-next { justify-self: end; }
.story-next .weui-btn.site-button { min-height: 40px; padding: 0 14px; white-space: normal; }
.ep-panel.in-story { margin-top: 24px; padding: 18px 0 0; border: 0; border-top: 1px solid var(--hair); border-radius: 0; background: none; }
.story-side { padding: 14px; }
.mini-work { display: block; margin: 0; padding: 0; border: 0; }
.mini-work .ph-t span { display: -webkit-box; }
.mini-work img { width: 100%; height: auto; border-radius: 7px; background: var(--image-bg); object-fit: cover; aspect-ratio: auto; }
.mini-work > div { margin-top: 10px; }
.mini-work b { display: block; font-size: 15px; }
.mini-work small { display: block; margin: 2px 0 6px; color: var(--muted); font-size: 12.5px; }
.mini-work a { color: var(--accent); font-size: 13px; font-weight: 600; }
.mini-work .ph-t b { font-size: 44px; }
.mini-work .ph-t span { font-size: 15px; }
.mini-work.tv-still { position: relative; }
.mini-work.tv-still img { display: block; }
.mini-work.tv-still .ph-t { inset: 0 0 auto 0; aspect-ratio: 3 / 4; }

/* ---------- 其它页面、页脚 ---------- */
.plain-page { padding: 24px 22px 28px; }
.plain-page h1 { margin: 0 0 14px; font-size: 24px; }
.plain-page h2 { margin: 22px 0 8px; font-size: 17px; }
.plain-page p, .plain-page li { color: var(--ink); line-height: 1.85; }
.plain-page ul { padding-left: 1.2em; }
.plain-page ul.sitemap-pages, .plain-page ul.sitemap-list { padding-left: 0; }
.sitemap-list, .sitemap-pages { margin: 0; padding: 0; list-style: none; }
.sitemap-list { columns: 3 220px; column-gap: 24px; }
.sitemap-list li { break-inside: avoid; padding: 6px 0; border-bottom: 1px solid var(--hair); font-size: 14px; }
.sitemap-pages { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.sitemap-pages a { color: var(--accent); }
.site-foot { margin-top: 32px; padding: 18px 0 30px; border-top: 1px solid var(--line); background: var(--foot); color: var(--foot-ink); font-size: 12.5px; }
.site-foot .container { min-height: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 22px; padding: 0; }
.site-foot b { margin-right: auto; color: var(--ink); font-size: 15px; }
.foot-link { display: inline-block; margin: 0; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 手机 ---------- */
@media (max-width: 850px) {
  .container, .head-inner { width: calc(100% - 28px); }
  .site-head { position: static; }
  .head-inner { height: auto; flex-wrap: wrap; gap: 0 12px; padding-top: 8px; }
  .brand { height: 40px; }
  .brand::before { width: 26px; height: 26px; margin-right: 7px; }
  .brand::after { width: 64px; height: 25px; }
  .search { order: 2; flex: 1; width: auto; height: 38px; margin-left: 0; }
  .genre-nav { order: 3; flex: 0 0 100%; width: calc(100% + 28px); margin: 6px -14px 0; padding: 0 14px; border-top: 1px solid var(--hair); }
  .nav-link { padding: 0 12px; font-size: 15px; }
  .nav-link.active::after { left: 12px; right: 12px; }
  .nav-inner { margin: 0 -12px; }
  .crumb { flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; padding: 12px 0 10px; }
  .home-extra { margin-top: 14px; }
  .home-category, .category-works, .ep-panel, .related, .work-layout { margin-top: 14px; }
  .section-title { padding: 13px 14px 5px; }
  .weui-cell.update-row, .weui-cell.category-update { grid-template-columns: 46px minmax(0, 1fr); gap: 4px 12px; padding: 11px 14px; align-items: start; }
  .update-thumb { grid-row: 1 / span 2; }
  .update-main { grid-column: 2; }
  .update-side { grid-column: 2; flex-direction: row; align-items: center; justify-content: flex-start; gap: 8px; text-align: left; }
  .update-side .ep { order: 0; }
  .work-grid, .featured-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 10px; padding: 6px 14px 16px; }
  .poster strong { font-size: 13px; }
  .poster-img .ph-t b { font-size: 28px; }
  .poster-img .ph-t span { font-size: 12px; }
  .category-latest .section-title { padding-top: 14px; }
  .sub-title, .category-works h2, .all-updates h1, .listing-title { padding-left: 14px; padding-right: 14px; }
  .category-works h2 { padding-top: 13px; }
  .pager { justify-content: space-between; padding: 12px 14px; }
  .weui-btn.site-button { min-height: 40px; }
  .work-hero, .work-hero.landscape { grid-template-columns: 104px minmax(0, 1fr); gap: 14px; padding: 14px; }
  .hero-cover { width: 104px; }
  .hero-cover .ph-t b { font-size: 34px; }
  .hero-cover .ph-t span { font-size: 12px; }
  .work-hero.landscape { display: block; }
  .work-hero.landscape .hero-cover { width: 100%; margin-bottom: 12px; }
  .hero-copy h1 { font-size: 22px; }
  .hero-copy > p { font-size: 13.5px; }
  .ep-panel { padding: 14px; }
  .ep-grid { grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); gap: 7px; }
  .work-layout { display: block; }
  .directory { margin: 0; }
  .directory .section-title { padding: 12px 14px 6px; }
  .directory-row { grid-template-columns: 54px minmax(0, 1fr) 34px; gap: 8px; padding: 12px 14px; }
  .side-note { margin-top: 14px; padding: 14px; }
  .story-layout { display: block; margin: 0 -14px; }
  .story, .weui-article.story { padding: 22px 16px 0; border-width: 1px 0; border-radius: 0; }
  .story h1 { font-size: 23px; }
  .story .lede { font-size: 15.5px; }
  .story > p:not(.lede) { font-size: 17px; line-height: 1.9; }
  .story-side, .story-side.tv-story-side { display: none; }
  .story-next { position: sticky; bottom: 0; z-index: 5; margin: 24px -16px 0; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
  .ep-panel.in-story { margin: 0 -16px; padding: 18px 16px 24px; }
  .plain-page { padding: 18px 14px 22px; }
  .site-foot { margin-top: 24px; }
  .site-foot b { flex: 0 0 100%; }
  #home-categories { display: block; }
  .home-category.small .work-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 380px) {
  .brand::after { width: 56px; height: 22px; }
  .work-hero, .work-hero.landscape { grid-template-columns: 88px minmax(0, 1fr); }
  .hero-cover { width: 88px; }
}
