/* 全站样式。数值取自原社区 PC 端的实际渲染结果：
   Inter 字体、页头 72px、主容器 1320px、正文栏 680px、主色紫 #8153FE。 */

/* Inter 自托管（SIL 开源字体许可，可以自行分发）。可变字体，一个文件覆盖 400–800 全部字重。
   只带拉丁字母两个子集（西、葡、英文用得到的字符）；别的文字（西里尔、希腊等）自动回退到系统字体。
   不再从 Google Fonts 加载：少一个外部请求，访客的 IP 也不会发给 Google */
@font-face {
  font-family: Inter; font-style: normal; font-weight: 400 800; font-display: swap;
  src: url(/fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Inter; font-style: normal; font-weight: 400 800; font-display: swap;
  src: url(/fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --purple: #8153fe;
  --purple-soft: #efeaff;
  --ink: #242424;
  --text: #333;
  --muted: #666;
  --faint: #999;
  --line: #ddd;
  --card-line: #ccc;
  --bg-soft: #f5f5f5;
  --bg-panel: #f3f5f7;
  --dark: #121212;
  --container: 1320px;
  --column: 680px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--text);
  background: #fff;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
h1, h2, h3, p, ul { margin: 0; padding: 0; }
ul { list-style: none; }

/* ---------- 页头 ---------- */
.pc-header {
  position: sticky; top: 0; z-index: 10;
  background: #fff;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .05);
}
.pc-header__line {
  max-width: var(--container); height: 72px; margin: 0 auto; padding: 0 20px;
  display: flex; align-items: center; gap: 48px;
}
.pc-logo { font-size: 26px; font-weight: 800; letter-spacing: -.5px; color: var(--ink); }
.pc-logo--light { color: #fff; }
.pc-nav { display: flex; gap: 32px; flex: 1; }
.pc-nav a { color: var(--ink); white-space: nowrap; }
.pc-nav a:hover { color: var(--purple); }
.pc-nav a.is-active { font-weight: 800; }
.pc-lang { display: flex; gap: 4px; }
.pc-lang a {
  padding: 6px 10px; border-radius: 20px;
  font-size: 13px; font-weight: 600; color: var(--muted);
}
.pc-lang a.is-active { background: var(--purple-soft); color: var(--purple); }

/* ---------- 通用容器 ---------- */
.pc-main { min-height: 60vh; }
/* 面包屑：一行小字，放在页面内容上方；太长时最后一项（本页标题）省略号截断 */
.pc-crumbs { max-width: var(--container); margin: 0 auto; padding: 7px 20px; font-size: 13px; color: var(--muted); }
.pc-crumbs ol { display: flex; flex-wrap: nowrap; gap: 6px; list-style: none; margin: 0; padding: 0; min-width: 0; }
.pc-crumbs li { white-space: nowrap; }
.pc-crumbs li:last-child { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.pc-crumbs li + li::before { content: '›'; margin-right: 6px; opacity: .6; }
.pc-crumbs a { color: inherit; text-decoration: none; }
.pc-crumbs a:hover { text-decoration: underline; }.pc-container { max-width: var(--container); margin: 0 auto; padding: 24px 20px 120px; }
.pc-container--narrow { max-width: 760px; }
.pc-page-title { font-size: 28px; font-weight: 800; color: #000; margin: 12px 0 24px; }
.pc-section-title { font-size: 20px; font-weight: 700; color: var(--ink); }
.pc-empty { color: var(--faint); padding: 24px 0; }

/* ---------- 分类胶囊 ---------- */
.pc-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.pc-pills a {
  display: block; padding: 6px 12px;
  border: 1px solid var(--line); border-radius: 20px;
  font-size: 14px; font-weight: 500; line-height: 20px; color: rgba(0, 0, 0, .7);
  background: #fff;
}
.pc-pills a:hover { border-color: var(--purple); color: var(--purple); }
.pc-pills a.is-active {
  border-color: var(--purple); background: var(--purple-soft);
  color: var(--purple); font-weight: 700;
}

/* ---------- 文章卡片 ---------- */
.pc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 40px 30px; }
.pc-grid--narrow { grid-template-columns: repeat(3, 1fr); gap: 16px; }
.pc-card {
  display: flex; flex-direction: column; overflow: hidden;
  background: #fff; border: 1px solid var(--card-line); border-radius: 12px;
  transition: box-shadow .15s, transform .15s;
}
.pc-card:hover { box-shadow: 0 6px 20px rgba(0, 0, 0, .08); transform: translateY(-2px); }
.pc-card__pic { aspect-ratio: 36 / 17; background: var(--bg-soft); }
.pc-card__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-card__body { display: flex; flex-direction: column; flex: 1; padding: 0 24px 20px; }
.pc-card__title {
  margin-top: 24px; min-height: 67px;
  font-size: 16px; font-weight: 700; line-height: 22.4px; color: var(--text);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.pc-card__foot { display: flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 24px; }
.pc-card__who { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.pc-card__name { font-size: 14px; font-weight: 600; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-card__date { font-size: 12px; color: var(--faint); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-card__count { display: flex; align-items: center; gap: 4px; font-size: 14px; color: var(--text); }
.pc-grid--narrow .pc-card__body { padding: 0 14px 14px; }
.pc-grid--narrow .pc-card__title { margin-top: 14px; font-size: 14px; line-height: 20px; min-height: 60px; }
.pc-grid--narrow .pc-card__foot { padding-top: 12px; }
.pc-grid--narrow .pc-avatar, .pc-grid--narrow .pc-card__count { display: none; }

/* ---------- 头像 ---------- */
.pc-avatar {
  position: relative; flex: none; overflow: hidden; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--purple-soft); color: var(--purple); font-weight: 700;
}
.pc-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ---------- talk 列表 ---------- */
.pc-rows { display: flex; flex-direction: column; }
.pc-row { display: block; padding: 24px 0; border-bottom: 1px solid #eee; }
.pc-row__head { display: flex; align-items: center; gap: 10px; }
.pc-row__name { font-size: 14px; font-weight: 600; color: var(--text); }
.pc-row__date { font-size: 12px; color: var(--faint); }
.pc-row__title { margin-top: 12px; font-size: 18px; font-weight: 700; line-height: 1.4; color: var(--ink); }
.pc-row__text {
  margin-top: 8px; font-size: 15px; line-height: 1.6; color: var(--muted);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.pc-row__pics { display: flex; gap: 8px; margin-top: 12px; }
.pc-row__pics img { width: 120px; height: 120px; object-fit: cover; border-radius: 8px; background: var(--bg-soft); }
/* 块级的弹性盒（不是 inline-flex）：inline-flex 会自己占一行，标准模式下每行至少一个行高（24px），比它自己的 21px 多出 4px 的空隙 */
.pc-row__count { display: flex; width: fit-content; align-items: center; gap: 4px; margin-top: 12px; font-size: 14px; color: var(--muted); }
.pc-row:hover .pc-row__title { color: var(--purple); }

/* ---------- 文章详情 ---------- */
.pc-post { max-width: var(--column); margin: 0 auto; padding: 36px 20px 0; box-sizing: content-box; }
.pc-post--after { padding-top: 0; padding-bottom: 120px; }
.pc-post__title { font-size: 36px; font-weight: 800; line-height: 52px; color: #000; }
.pc-post__title--small { font-size: 26px; line-height: 38px; margin-top: 20px; }
.pc-post__cat { display: inline-block; margin-top: 14px; font-size: 14px; font-weight: 600; line-height: 28px; color: var(--purple); }
.pc-post__info { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 12px; font-size: 12px; color: var(--muted); }
.pc-post__spoiler { color: #fd4848; font-weight: 600; }
.pc-byline { display: flex; align-items: center; gap: 12px; margin-top: 32px; }
.pc-byline--top { margin-top: 0; }
.pc-byline__name { font-size: 18px; font-weight: 700; color: var(--text); }
.pc-byline__date { display: block; font-size: 12px; color: var(--muted); }

/* 正文：对应编辑器产出的结构 */
.pc-content { margin-top: 24px; font-size: 16px; line-height: 28.8px; color: var(--text); overflow-wrap: break-word; }
.pc-content p { margin: 18px 0; }
.pc-content h1, .pc-content h2 { margin: 36px 0 12px; font-size: 24px; font-weight: 700; line-height: 1.4; color: #000; }
.pc-content h3 { margin: 30px 0 10px; font-size: 20px; font-weight: 700; line-height: 1.4; color: #000; }
.pc-content h4 { margin: 24px 0 8px; font-size: 17px; font-weight: 700; }
.pc-content a { color: var(--purple); text-decoration: underline; text-underline-offset: 2px; }
.pc-content ul, .pc-content ol { margin: 18px 0; padding-left: 28px; }
.pc-content ul { list-style: disc; }
.pc-content blockquote { margin: 24px 0; padding: 4px 0 4px 20px; border-left: 4px solid var(--card-line); color: var(--muted); font-style: italic; }
.pc-content hr { margin: 32px 0; border: 0; border-top: 1px solid var(--line); }
.pc-content figure { margin: 40px 0; }
.pc-content figure.image { text-align: center; }
.pc-content figure.image img { display: block; margin: 0 auto; height: auto; }
.pc-content figure.image_resized { max-width: 100%; margin-left: auto; margin-right: auto; }
.pc-content figure.image_resized img { width: 100%; }
.pc-content figure.image-style-block-align-left { margin-left: 0; }
.pc-content figure.image-style-block-align-right { margin-right: 0; }
/* vertical-align: top：行内图片默认按基线对齐，标准模式下图片下面会多出一条给字母下沿留的空隙（每张图约 8–20px） */
.pc-content img { height: auto; border-radius: 2px; vertical-align: top; }
.pc-content figcaption { margin-top: 8px; font-size: 13px; line-height: 1.5; color: var(--faint); text-align: center; }
.pc-content table { width: 100%; margin: 24px 0; border-collapse: collapse; font-size: 14px; line-height: 1.5; }
.pc-content td, .pc-content th { padding: 8px 10px; border: 1px solid var(--line); vertical-align: top; }
.pc-content th { background: var(--bg-soft); font-weight: 600; }
.pc-content .text-tiny { font-size: .7em; }
.pc-content .text-small { font-size: .85em; }
.pc-content .text-big { font-size: 1.4em; }
.pc-content .text-huge { font-size: 1.8em; }
.pc-content .marker-yellow { background: #fdfd77; }
.pc-content .marker-green { background: #62f962; }
.pc-content .marker-pink { background: #fc7899; }
.pc-content .marker-blue { background: #72ccfd; }
.pc-content .pen-red { color: #e71313; background: none; }
.pc-content .pen-green { color: #128a00; background: none; }
.pc-embed { position: relative; margin: 32px 0; aspect-ratio: 16 / 9; background: #000; border-radius: 8px; overflow: hidden; }
.pc-embed iframe, .pc-embed video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pc-embed video { object-fit: cover; }

/* 正文里的影片卡片 */
.pc-content a.pc-media-card {
  display: flex; align-items: center; gap: 16px; margin: 24px 0; padding: 12px;
  border: 1px solid var(--line); border-radius: 12px; background: #fff;
  color: var(--ink); text-decoration: none;
}
.pc-media-card img { width: 60px; height: 88px; object-fit: cover; border-radius: 6px; background: var(--bg-soft); flex: none; }
.pc-media-card__title { font-weight: 700; line-height: 1.4; }
.pc-media-card__year { margin-left: auto; padding-right: 8px; font-size: 14px; color: var(--faint); }
.pc-media-card:hover { border-color: var(--purple); }

.pc-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; margin-top: 20px; }
.pc-gallery img { width: 100%; border-radius: 8px; display: block; }

.pc-tags { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 40px; }
.pc-tags a { font-size: 14px; font-weight: 600; color: var(--purple); }
.pc-tags a:hover { text-decoration: underline; }

/* ---------- 关联影片 / 影人 ---------- */
.pc-related { margin-top: 48px; }
.pc-related__list { display: flex; gap: 16px; margin-top: 16px; padding-bottom: 8px; overflow-x: auto; }
.pc-ref { display: flex; flex-direction: column; width: 104px; flex: none; }
.pc-ref__pic { display: block; width: 104px; height: 152px; border-radius: 8px; overflow: hidden; background: var(--bg-soft); }
.pc-ref__pic--round { height: 104px; border-radius: 50%; }
.pc-ref__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-ref__name {
  margin-top: 8px; font-size: 13px; font-weight: 600; line-height: 1.35; color: var(--text);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.pc-ref__sub { font-size: 12px; color: var(--faint); }
.pc-ref:hover .pc-ref__name { color: var(--purple); }

/* ---------- 评论 ---------- */
.pc-comments { margin-top: 56px; padding-top: 48px; border-top: 1px solid var(--line); }
.pc-comments__title { font-size: 24px; font-weight: 700; color: var(--text); margin-bottom: 24px; }
.pc-thread { padding: 20px 0; border-bottom: 1px solid #eee; }
.pc-comment { display: flex; gap: 12px; }
.pc-comment__main { flex: 1; min-width: 0; }
.pc-comment__head { display: flex; align-items: baseline; gap: 10px; }
.pc-comment__name { font-size: 15px; font-weight: 600; color: var(--muted); }
.pc-comment__date { font-size: 13px; color: var(--faint); }
.pc-comment__text { margin-top: 6px; font-size: 15px; line-height: 1.65; color: var(--text); overflow-wrap: break-word; }
.pc-comment__text a { color: var(--purple); }
.pc-comment__to { color: var(--faint); }
.pc-thread__replies { margin: 14px 0 0 48px; padding: 14px 16px; border-radius: 10px; background: var(--bg-panel); display: flex; flex-direction: column; gap: 14px; }
.pc-thread__more { display: flex; flex-direction: column; gap: 14px; }
.pc-thread__more summary { cursor: pointer; font-size: 14px; font-weight: 600; color: var(--purple); list-style: none; }
.pc-thread__more summary::-webkit-details-marker { display: none; }
.pc-thread__more[open] summary { display: none; }
.pc-thread__more[open] { gap: 14px; }

.pc-more { margin-top: 56px; }
.pc-more .pc-grid { margin-top: 16px; }

/* ---------- 片单 ---------- */
.pc-pickgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 32px 24px; }
.pc-pickcard { display: block; border: 1px solid var(--card-line); border-radius: 12px; overflow: hidden; background: #fff; transition: box-shadow .15s, transform .15s; }
.pc-pickcard:hover { box-shadow: 0 6px 20px rgba(0, 0, 0, .08); transform: translateY(-2px); }
.pc-pickcard__cover { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; background: #fff; }
.pc-pickcard__cover span { aspect-ratio: 2 / 3; background: var(--bg-soft); overflow: hidden; }
.pc-pickcard__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-pickcard__body { padding: 16px 20px 18px; }
.pc-pickcard__title {
  font-size: 16px; font-weight: 700; line-height: 22.4px; color: var(--text); min-height: 45px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.pc-pickcard__meta { display: flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 13px; }
.pc-pickcard__name { color: var(--text); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-pickcard__count { margin-left: auto; color: var(--faint); white-space: nowrap; }

.pc-container--pick { max-width: 920px; padding-top: 36px; }
.pc-pick__desc { margin-top: 24px; font-size: 16px; line-height: 1.75; color: var(--text); white-space: pre-line; }
.pc-pick { margin: 32px 0 0; padding: 0; list-style: none; }
.pc-pick__item { display: flex; gap: 20px; padding: 20px 0; border-bottom: 1px solid #eee; }
.pc-pick__num { width: 28px; flex: none; padding-top: 4px; font-size: 18px; font-weight: 800; color: var(--card-line); text-align: right; }
.pc-pick__pic { width: 88px; height: 130px; flex: none; border-radius: 8px; overflow: hidden; background: var(--bg-soft); }
.pc-pick__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-pick__info { min-width: 0; padding-top: 4px; }
.pc-pick__name { font-size: 18px; font-weight: 700; line-height: 1.35; color: var(--ink); }
.pc-pick__name:hover { color: var(--purple); }
.pc-pick__year { display: block; margin-top: 4px; font-size: 14px; color: var(--faint); }
.pc-pick__note { margin-top: 10px; font-size: 15px; line-height: 1.65; color: var(--muted); white-space: pre-line; }
.pc-pick__after { max-width: var(--column); }

/* ---------- 影评 ---------- */
.pc-reviews { display: flex; flex-direction: column; }
.pc-review { display: flex; gap: 20px; padding: 24px 0; border-bottom: 1px solid #eee; }
.pc-review__pic { width: 80px; height: 118px; flex: none; border-radius: 8px; overflow: hidden; background: var(--bg-soft); }
.pc-review__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-review__main { min-width: 0; flex: 1; }
.pc-review__media { display: block; font-size: 14px; font-weight: 600; color: var(--purple); margin-bottom: 8px; }
.pc-review__head { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.pc-review__name { font-weight: 600; color: var(--text); }
.pc-review__date { color: var(--faint); }
.pc-review__title { margin-top: 10px; font-size: 17px; font-weight: 700; line-height: 1.4; color: var(--ink); }
.pc-review__text { margin-top: 8px; font-size: 15px; line-height: 1.7; color: var(--text); overflow-wrap: break-word; }
.pc-spoiler { margin-top: 10px; }
.pc-spoiler summary { cursor: pointer; font-size: 14px; font-weight: 600; color: #fd4848; }

/* ---------- 影视库：海报和影人卡片 ---------- */
.pc-count { margin: -8px 0 24px; font-size: 14px; color: var(--faint); }
.pc-postergrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 28px 20px; }
/* 只显示一行：多出来的卡片落到高度为 0 的隐藏行里 */
.pc-postergrid--row { grid-template-rows: auto; grid-auto-rows: 0; overflow: hidden; row-gap: 0; }
.pc-poster { display: flex; flex-direction: column; min-width: 0; }
.pc-poster__pic { display: block; aspect-ratio: 2 / 3; border-radius: 8px; overflow: hidden; background: var(--bg-soft); }
.pc-poster__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-poster__name {
  margin-top: 10px; font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--text);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.pc-poster__sub { margin-top: 2px; font-size: 13px; color: var(--faint); }
a.pc-poster:hover .pc-poster__name { color: var(--purple); }
.pc-persongrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 28px 16px; }
.pc-personrow { display: flex; gap: 20px; overflow-x: auto; padding-bottom: 8px; }
.pc-personrow .pc-person { width: 104px; flex: none; }
.pc-person { display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; }
.pc-person__pic { display: block; width: 96px; height: 96px; border-radius: 50%; overflow: hidden; background: var(--bg-soft); }
.pc-person__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-person__name { margin-top: 10px; font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--text); }
.pc-person__role { margin-top: 2px; font-size: 13px; line-height: 1.3; color: var(--faint); }
a.pc-person:hover .pc-person__name { color: var(--purple); }

/* ---------- 影片详情 ---------- */
.pc-hero-dark { background: linear-gradient(120deg, #1a1524 0%, #121212 60%); color: #fff; }
.pc-hero-dark__inner { max-width: var(--container); margin: 0 auto; padding: 36px 20px; display: flex; gap: 40px; }
.pc-hero-dark__poster { width: 200px; height: 296px; flex: none; border-radius: 8px; overflow: hidden; background: #2a2a2a; }
.pc-hero-dark__poster img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-hero-dark__info { min-width: 0; max-width: 760px; }
.pc-hero-dark h1 { font-size: 26px; font-weight: 500; line-height: 1.3; }
.pc-hero-dark h1 span { font-weight: 400; }
.pc-rating { margin-left: 16px; font-style: normal; font-size: 18px; font-weight: 700; color: #ffdc7b; white-space: nowrap; }
.pc-rating small { font-size: 12px; font-weight: 400; color: #aaa; }
.pc-hero__orig { margin-top: 4px; font-size: 14px; color: #aaa; }
.pc-hero__meta { margin-top: 10px; font-size: 14px; color: #ddd; }
.pc-genres { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.pc-genres li { padding: 2px 12px; border: 1px solid rgba(255, 255, 255, .7); border-radius: 12px; font-size: 13px; line-height: 20px; }
.pc-hero__line { margin-top: 12px; font-size: 14px; color: #ccc; }
.pc-hero__line b { color: #fff; font-weight: 600; }
.pc-hero__line a:hover { color: #c0a8fe; }
.pc-hero__plot { margin-top: 16px; font-size: 14px; line-height: 1.6; color: #ddd; }
.pc-container--catalog { padding-top: 8px; }
.pc-tabs { display: flex; gap: 32px; border-bottom: 1px solid var(--line); overflow-x: auto; }
.pc-tabs a { padding: 16px 0 14px; font-size: 15px; font-weight: 500; color: var(--muted); border-bottom: 2px solid transparent; white-space: nowrap; }
.pc-tabs a.is-active { color: var(--ink); font-weight: 700; border-bottom-color: var(--purple); }
.pc-tabs a:hover { color: var(--purple); }
.pc-container--catalog .pc-block { margin-top: 40px; }

.pc-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.pc-video__pic { display: block; aspect-ratio: 16 / 9; border-radius: 8px; overflow: hidden; background: var(--bg-soft); }
.pc-video__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-video__name { display: block; margin-top: 8px; font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--text); }
.pc-videolist { display: grid; grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); gap: 12px 24px; margin-top: 32px; }
.pc-videolist .pc-embed { margin: 0; }

.pc-awards { display: flex; flex-direction: column; }
.pc-awards li { display: flex; gap: 16px; padding: 14px 0; border-bottom: 1px solid #eee; }
.pc-awards__badge {
  flex: none; align-self: flex-start; min-width: 76px; padding: 2px 10px; border-radius: 12px; text-align: center;
  font-size: 12px; font-weight: 600; line-height: 20px; background: var(--bg-soft); color: var(--muted);
}
.is-won > .pc-awards__badge { background: #fff4d1; color: #8a6200; }
.pc-awards__main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pc-awards__main > a { font-size: 15px; font-weight: 600; color: var(--ink); }
.pc-awards__main > a:hover { color: var(--purple); }
.pc-awards__cat { font-size: 14px; color: var(--muted); }
.pc-awards__for { font-size: 14px; color: var(--purple); }

.pc-pills--tight { margin: 28px 0 8px; }
.pc-pills--scroll { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 8px; }
.pc-pills--scroll li { flex: none; }
.pc-episodes { margin: 16px 0 0; padding: 0; list-style: none; }
.pc-episodes li { display: flex; gap: 16px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid #eee; }
.pc-episodes__n { width: 36px; flex: none; text-align: right; font-weight: 700; color: var(--card-line); }
.pc-episodes__name { flex: 1; min-width: 0; font-size: 15px; color: var(--text); }
.pc-episodes__date { font-size: 13px; color: var(--faint); white-space: nowrap; }

.pc-facts { display: grid; grid-template-columns: 180px 1fr; gap: 0; margin: 32px 0 0; max-width: 900px; }
.pc-facts dt { padding: 14px 0; font-size: 14px; font-weight: 600; color: var(--muted); border-bottom: 1px solid #eee; }
.pc-facts dd { margin: 0; padding: 14px 0; font-size: 15px; line-height: 1.6; color: var(--text); border-bottom: 1px solid #eee; }
.pc-releases { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 4px 16px; font-size: 14px; }
.pc-releases b { display: inline-block; width: 28px; color: var(--muted); }

/* ---------- 影人详情 ---------- */
.pc-people { display: flex; gap: 40px; padding: 28px 0 32px; }
.pc-people__pic { width: 200px; height: 200px; flex: none; border-radius: 50%; overflow: hidden; background: var(--bg-soft); }
.pc-people__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-people__info { min-width: 0; max-width: 820px; }
.pc-people h1 { font-size: 32px; font-weight: 800; line-height: 1.25; color: #000; }
.pc-people__jobs { margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--purple); }
.pc-people__facts { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 16px 0 0; font-size: 14px; }
.pc-people__facts dt { color: var(--faint); }
.pc-people__facts dd { margin: 0; color: var(--text); }
.pc-people__bio { margin-top: 16px; font-size: 15px; line-height: 1.7; color: var(--text); white-space: pre-line; }
.pc-credits { display: flex; flex-direction: column; }
.pc-credits li { display: flex; gap: 16px; align-items: baseline; padding: 11px 0; border-bottom: 1px solid #eee; }
.pc-credits__year { width: 44px; flex: none; font-size: 14px; color: var(--faint); }
.pc-credits__name { font-size: 15px; font-weight: 600; color: var(--ink); }
a.pc-credits__name:hover { color: var(--purple); }
.pc-credits__role { margin-left: auto; font-size: 14px; color: var(--muted); text-align: right; }

/* ---------- 奖项 ---------- */
.pc-awardlist { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.pc-awardlist a { display: block; padding: 14px 18px; border: 1px solid var(--line); border-radius: 10px; font-size: 15px; font-weight: 600; color: var(--ink); }
.pc-awardlist a:hover { border-color: var(--purple); color: var(--purple); }
.pc-awardlist small { display: block; margin-top: 2px; font-size: 12px; font-weight: 400; color: var(--faint); }
.pc-awardlist--big { grid-template-columns: 1fr; }
/* Catalog 首页固定列数：影片、剧集每行 7 个，影人每行 9 个，奖项每行 4 个（各 5 行）；窄屏时往下减，见下面的 @media */
.pc-postergrid--7 { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 24px 16px; }
.pc-persongrid--9 { grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 24px 12px; }
.pc-persongrid--9 .pc-person__pic { width: 100%; max-width: 96px; height: auto; aspect-ratio: 1; }
.pc-awardlist--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) {
  .pc-postergrid--7 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pc-persongrid--9 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .pc-awardlist--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .pc-postergrid--7 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 12px; }
  .pc-persongrid--9 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pc-awardlist--4 { grid-template-columns: 1fr; }
}
.pc-year { font-weight: 400; color: var(--faint); }
.pc-nomgroup { margin-top: 24px; }
.pc-nomgroup h3 { font-size: 15px; font-weight: 700; color: var(--muted); }
.pc-noms { margin-top: 8px; }
.pc-noms li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; padding: 10px 0; border-bottom: 1px solid #eee; font-size: 15px; }
.pc-noms li.is-won { font-weight: 600; }
.pc-noms__media { color: var(--ink); }
a.pc-noms__media:hover, .pc-noms__people a:hover { color: var(--purple); }
.pc-noms__people { color: var(--muted); font-size: 14px; }

@media (max-width: 900px) {
  .pc-hero-dark__inner { flex-direction: column; gap: 20px; padding: 20px 16px; }
  .pc-hero-dark__poster { width: 140px; height: 207px; }
  .pc-people { flex-direction: column; gap: 20px; }
  .pc-people__pic { width: 140px; height: 140px; }
  .pc-facts { grid-template-columns: 1fr; }
  .pc-facts dt { border-bottom: 0; padding-bottom: 0; }
  .pc-videolist { grid-template-columns: 1fr; }
}

/* ---------- 分页 ---------- */
.pc-loadmore { display: flex; justify-content: center; margin-top: 48px; }
.pc-loadmore a {
  padding: 10px 28px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); font-size: 15px;
}
.pc-loadmore a:hover { border-color: var(--purple); color: var(--purple); }
.pc-loadmore.is-loading a {
  display: inline-flex; align-items: center; gap: 10px;
  border-color: transparent; color: var(--muted); pointer-events: none;
}
/* 加载中：文字前面转圈（app.js 里至少显示 0.8 秒再接上新内容）。
   圆环是一条从透明渐变到紫色的弧线（锥形渐变），用遮罩挖空中间只留 3px 宽的环，转起来像拖着渐隐的尾巴 */
.pc-loadmore.is-loading a::before {
  content: ""; width: 22px; height: 22px; flex: none; border-radius: 50%;
  background: conic-gradient(from 0deg, rgba(129, 83, 254, 0) 0deg, rgba(129, 83, 254, .15) 60deg, var(--purple) 330deg, var(--purple) 360deg);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px));
  animation: pc-spin .8s linear infinite;
}
@keyframes pc-spin { to { transform: rotate(360deg); } }
/* 系统开了"减少动态效果"的也照样转，只是慢一些，免得看起来像卡住了 */
@media (prefers-reduced-motion: reduce) {
  .pc-loadmore.is-loading a::before { animation-duration: 2s; }
}
.pc-pages { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; margin-top: 48px; }
.pc-pages a, .pc-pages span {
  min-width: 36px; height: 36px; padding: 0 12px; border-radius: 18px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 500; color: var(--text);
}
.pc-pages a { border: 1px solid var(--line); }
.pc-pages a:hover { border-color: var(--purple); color: var(--purple); }
.pc-pages .is-active { background: var(--purple); color: #fff; font-weight: 700; }
.pc-pages__gap { color: var(--faint); min-width: 0 !important; padding: 0 2px !important; }

/* ---------- 首页 ---------- */
.pc-hero { padding: 40px 0 16px; max-width: 880px; }
.pc-hero h1 { font-size: 40px; font-weight: 800; line-height: 1.2; color: #000; }
/* 说明文字：英文一行放得下；西语、葡语更长要折两行时，两行均衡，不让最后一个词孤零零掉到下一行 */
.pc-hero p { margin-top: 14px; font-size: 17px; line-height: 1.6; color: var(--muted); text-wrap: balance; }
/* 每天换一句的经典台词：斜体，左边一条紫色竖线，片名是链接 */
.pc-quote { margin: 22px 0 6px; padding: 2px 0 2px 16px; border-left: 3px solid var(--purple); }
.pc-quote blockquote { font-size: 20px; font-style: italic; font-weight: 500; line-height: 1.45; color: var(--ink); }
.pc-quote figcaption { margin-top: 6px; font-size: 14px; color: var(--muted); }
.pc-quote figcaption a { font-weight: 600; color: var(--ink); }
.pc-quote figcaption a:hover { color: var(--purple); }
@media (max-width: 600px) { .pc-quote blockquote { font-size: 18px; } }
.pc-block { margin-top: 56px; }
.pc-block__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 20px; }
.pc-block__head a { font-size: 14px; font-weight: 600; color: var(--purple); }

/* ---------- 错误页 ---------- */
.pc-error { text-align: center; padding-top: 100px; }
.pc-error__code { font-size: 80px; font-weight: 800; line-height: 1; color: var(--purple-soft); }
.pc-error h1 { margin-top: 8px; font-size: 26px; font-weight: 800; color: #000; }
.pc-error p { margin-top: 10px; color: var(--muted); }
.pc-button {
  display: inline-block; margin-top: 28px; padding: 12px 28px; border-radius: 28px;
  background: var(--purple); color: #fff; font-weight: 700;
}

/* ---------- 页脚 ---------- */
.pc-footer { background: var(--dark); color: #888; }
.pc-footer__inner {
  max-width: var(--container); margin: 0 auto; padding: 22px 20px;
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px 24px; font-size: 13px; line-height: 1.5;
}
.pc-footer .pc-logo { font-size: 18px; }
.pc-footer p { flex: 1; min-width: 240px; }
.pc-footer a:not(.pc-logo) { color: #c0a8fe; }

/* ---------- 窄屏 ---------- */
@media (max-width: 900px) {
  .pc-header__line { height: auto; padding: 12px 16px; flex-wrap: wrap; gap: 8px 16px; }
  .pc-logo { font-size: 22px; }
  /* 导航项要在一行里放下：字号随屏宽缩小，项与项之间均分剩余空间。
     万一还是放不下，可以横向滑动，但不显示滚动条 */
  .pc-nav {
    order: 3; flex-basis: 100%; justify-content: space-between; gap: 6px;
    font-size: clamp(11px, 3.4vw, 15px);
    overflow-x: auto; scrollbar-width: none;
  }
  .pc-nav::-webkit-scrollbar { display: none; }
  .pc-lang { margin-left: auto; }
  .pc-container { padding: 16px 16px 80px; }
  .pc-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px 16px; }
  .pc-grid--narrow { grid-template-columns: 1fr; }
  .pc-post { padding: 24px 16px 0; }
  .pc-post__title { font-size: 26px; line-height: 36px; }
  .pc-hero h1 { font-size: 30px; }
  .pc-thread__replies { margin-left: 16px; }
}
/* 手机：西语、葡语的导航词更长，六项排不下。"首页"一项收起来，点左上角的站名同样回首页 */
@media (max-width: 600px) {
  .pc-nav a:first-child { display: none; }
}
