/* the city committee(列表 /characters/ + 个人页 /characters/<name>/)。
   列表页 = Phase 2 全站唯一布局重做(00d Task 20:80 头像密网格 → 7 张宽卡);
   个人页骨架沿 dozo(数值源 analysis/06),黑色已收编 token。 */

/* ============ 列表页:7 张宽卡 ============ */

.committee-list {
  display: flex; flex-direction: column; gap: 40px;
  max-width: 980px; margin: 0 auto; padding: 53px 20px 161px;
}
@media (max-width: 768px) { .committee-list { gap: 28px; padding: 40px 20px 105px; } }

.committee-card { display: flex; overflow: hidden; background: var(--color-surface); border: 1px solid var(--color-ink); }
.committee-card:nth-child(even) { flex-direction: row-reverse; }

/* 大图:roster 竖裁 245×916。2026-08-02 角色图去背后改 contain ——
   原来 cover 会把模切角色拦腰裁掉(有绿底时看不出来,透明后就是断头断脚)。
   figure 仍定高,否则 img 回退自然高把卡撑到 1000px+。 */
.committee-card__figure { display: block; flex: 0 0 220px; height: 380px; overflow: hidden; padding: 18px 0; }
.committee-card__figure img {
  display: block; width: 100%; height: 100%;
  object-fit: contain; transition: transform .3s;
}
.committee-card:hover .committee-card__figure img { transform: scale(1.05); }

.committee-card__body {
  display: flex; flex: 1; flex-direction: column; gap: 10px; justify-content: center;
  padding: 34px 38px;
}
.committee-card__no { font-family: var(--font-mono); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--color-muted); }
.committee-card__name { font-family: var(--font-en); font-size: 34px; font-weight: 600; line-height: 1.1; }
.committee-card__role { font-size: 13px; font-weight: 700; letter-spacing: .06em; color: var(--color-main-ink); }
.committee-card__bio { font-size: 14px; line-height: 1.7; }
.committee-card__meta { font-size: 12px; line-height: 1.6; color: var(--color-muted); }
.committee-card__meta span { font-weight: 700; color: var(--color-ink); }
.committee-card__meta a { margin-left: 6px; color: var(--color-link); text-decoration: underline; }
.committee-card__meta a:hover { opacity: .7; }
.committee-card__link { margin-top: 8px; font-size: 13px; font-weight: 700; text-decoration: underline; }
.committee-card__link:hover { opacity: .7; }

@media (max-width: 768px) {
  .committee-card, .committee-card:nth-child(even) { flex-direction: column; }
  .committee-card__figure { flex: none; height: 300px; }
  .committee-card__figure img { min-height: 0; object-position: 50% 58%; }
  .committee-card__body { padding: 24px; }
  .committee-card__name { font-size: 28px; }
}

/* ============ 个人页 ============ */

/* 头部:桌面 2 列(md:grid-cols-2 items-center),移动堆叠 */
.artist-info { max-width: 980px; margin: 0 auto 133px; padding: 142px 20px 0; }
@media (min-width: 769px) {
  .artist-info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; }
  .artist-info__body { margin-left: 64px; } /* md:ml-16 */
}
@media (max-width: 768px) { .artist-info { margin-bottom: 80px; padding-top: 58px; } }

/* 2026-08-02 角色图去背后重做:原来是 440×440 圆形遮罩 + 描边 + cover(50% 40%),
   绿底填满圆时看着像头像;透明之后圆环会把角色拦腰切断、人悬在环里。
   改成跟原画同比例(245:916)的竖幅,contain 完整展示模切全身,去掉圆环与描边。 */
/* 定高而不是按原画比例(245:916):比例法在 300px 宽下会算出 1122px 高的空列,
   把头部区撑到 1264px。定高 440(沿用原圆形直径),contain 让角色在框里缩放。 */
.artist-info__image {
  width: 100%; max-width: 300px; height: 440px;
  margin: 0 30px 0 auto; /* 线上 mx-auto 被 margin-right:30 覆写 → 列内右对齐 */
}
@media (max-width: 768px) { .artist-info__image { max-width: 200px; height: 300px; margin: 0 auto 16px; } }
.artist-info__image img { width: 100%; height: 100%; object-fit: contain; }

.artist-info__name { font-size: 27px; font-weight: 500; line-height: 1.15; margin-bottom: 40px; }
@media (max-width: 768px) { .artist-info__name { font-size: 24px; text-align: center; } }

/* SNS 行:80px 宽两端对齐(w-20 + justify-between);dd 个人页改 role/likes 行 */
.artist-info__social { display: flex; justify-content: space-between; align-items: center; width: 80px; margin-bottom: 36px; }
@media (max-width: 768px) { .artist-info__social { margin-inline: auto; margin-bottom: 40px; } }
.artist-info__role { margin-bottom: 28px; font-family: var(--font-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--color-muted); }
@media (max-width: 768px) { .artist-info__role { margin-bottom: 20px; text-align: center; } }
.artist-info__likes { margin-top: 18px; font-size: 13px; color: var(--color-muted); }
.artist-info__likes span { font-weight: 700; color: var(--color-ink); }
.artist-info__text { font-size: 15px; line-height: 27px; }

/* 担当テーマ位:\ appears in / */
.artist-theme { padding-bottom: 150px; }
@media (max-width: 768px) { .artist-theme { padding-bottom: 80px; } }
.theme-title { display: flex; align-items: center; justify-content: center; margin-bottom: 48px; }
@media (max-width: 768px) { .theme-title { margin-bottom: 36px; } }
/* 手码 slash svg 无内在尺寸,必须 CSS 定大小,否则撑爆页面 */
.theme-title img { width: 34px; height: 34px; flex: none; }
.theme-title h2 { padding: 0 8px 16px; font-size: 24px; font-weight: 500; line-height: 1.15; }
@media (max-width: 768px) { .theme-title h2 { font-size: 19px; } }

/* 画廊:复用 goods-item;单卡 = 居中 309px(线上 slick 单页实测);画廊→按钮 125px(移动 98px) */
.section--artist-gallery { padding: 60px 0 0; background: transparent; margin-bottom: 125px; } /* add-sectionGeneral 顶 60(移动 40) */
@media (max-width: 768px) { .section--artist-gallery { padding-top: 40px; margin-bottom: 98px; } }
.goods-row--single { justify-content: center; }
.goods-row--single > * { flex: 0 0 309px; }
@media (max-width: 768px) { .goods-row--single > * { flex: 0 0 296px; } }

/* 多卡横排(appears in 1-2 张) */
.goods-row { display: flex; flex-wrap: wrap; gap: 40px; justify-content: center; max-width: 980px; margin: 0 auto; padding: 0 20px; }
.goods-row > * { flex: 0 0 309px; }
@media (max-width: 768px) { .goods-row > * { flex: 0 0 296px; } }

/* 收藏 ♡(goods-detail 变体;样式同 themes 页 like-button) */
.goods-item__like {
  flex: none; display: grid; place-items: center; width: 38px; height: 38px;
  margin-left: 12px; background: var(--color-white); border: 1px solid var(--color-ink); border-radius: 50%;
}
.goods-item__like:hover { opacity: .7; }
.goods-item__like svg { display: block; }

/* Back / all / Next */
.artist-theme-btns {
  display: flex; justify-content: space-between; align-items: center;
  max-width: 980px; margin: 0 auto; padding: 0 20px;
}
.artist-theme-btns__edge {
  display: flex; align-items: center; color: inherit;
  font-family: var(--font-en); font-style: italic; font-weight: 500; font-size: 16px;
  transition: color .3s;
}
@media (max-width: 768px) { .artist-theme-btns__edge { font-size: 14px; } }
.artist-theme-btns__arrow {
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; background: var(--color-ink-soft); border-radius: 50%; color: var(--color-white); transition: background .5s, transform .5s;
}
.artist-theme-btns__edge--back .artist-theme-btns__arrow { margin-right: 15px; }
.artist-theme-btns__edge--next .artist-theme-btns__arrow { margin-left: 15px; }
.artist-theme-btns__edge:hover { color: var(--color-muted); }
.artist-theme-btns__edge:hover .artist-theme-btns__arrow { background: var(--color-muted); }
.artist-theme-btns__edge--back:hover .artist-theme-btns__arrow { transform: translateX(-5px); }
.artist-theme-btns__edge--next:hover .artist-theme-btns__arrow { transform: translateX(5px); }

.artist-theme-btns__main {
  display: block; width: 215px; padding: 22px 14px; margin: 0 auto; line-height: 1.15;
  text-align: center; color: var(--color-white); background: var(--color-ink-soft); border-radius: var(--radius-pill);
  transition: background .3s;
}
.artist-theme-btns__main:hover { background: var(--color-muted); }
.artist-theme-btns__main.sp { font-size: 15px; margin-top: 44px; }
/* dozo 的 .pc/.sp 显隐约定 */
@media (max-width: 768px) { .artist-theme-btns__main.pc { display: none; } }
@media (min-width: 769px) { .artist-theme-btns__main.sp { display: none; } }
