/* =========================================
   旧百科テーブル・メモ
========================================= */

.encyclopedia-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 24px;
}

.encyclopedia-table th,
.encyclopedia-table td {
  border: 1px solid #ddd;
  padding: 12px 14px;
  vertical-align: top;
}

.encyclopedia-table th {
  width: 28%;
  background: #f7f7f7;
  font-weight: 700;
  text-align: left;
}

.encyclopedia-note {
  margin: 0 0 24px;
  padding: 16px;
  border: 1px solid #ddd;
  background: #fafafa;
}
/* 作品ページ：管理者専用 関与情報確認 */
.linknote-work-admin-credits {
	margin-top: 3rem;
	padding: 1.25rem;
	border: 1px solid #c9d7e7;
	border-radius: 10px;
	background: #f7fbff;
}

.linknote-work-admin-credits h2 {
	margin: 0 0 0.9rem;
	font-size: 1.15rem;
}

.linknote-work-admin-credits-note {
	margin-bottom: 0.9rem;
	color: #5b5b5b;
	font-size: 0.85rem;
}

.linknote-work-admin-credits-table-wrap {
	overflow-x: auto;
}

.linknote-work-admin-credits-table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
	font-size: 0.86rem;
}

.linknote-work-admin-credits-table th,
.linknote-work-admin-credits-table td {
	padding: 0.65rem 0.7rem;
	border: 1px solid #d8e1e8;
	text-align: left;
	vertical-align: top;
}

.linknote-work-admin-credits-table th {
	background: #edf4fa;
	white-space: nowrap;
}

.linknote-work-admin-credits-table tr.is-unlinked td {
	background: #fff8db;
}

.linknote-admin-credit-status {
	display: inline-block;
	padding: 0.2rem 0.45rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	white-space: nowrap;
}

.linknote-admin-credit-status.is-linked {
	background: #e7f5e8;
	color: #277235;
}

.linknote-admin-credit-status.is-unlinked {
	background: #fff0aa;
	color: #725800;
}

.linknote-work-admin-credits-empty {
	margin: 0;
	color: #666;
}

/* =========================================
   LinKnote: 作品・人物ページ 共通セクション
========================================= */

.work-basic-info,
.person-basic-info,
.related-works,
.related-people,
.work-youtube {
  margin-top: 2rem;
  padding: 1.5rem;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  background: #fff;
}

.work-basic-info h2,
.person-basic-info h2,
.related-works h2,
.related-people h2,
.work-youtube h2 {
  margin-top: 0;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e5e5e5;
  font-size: 1.35rem;
  line-height: 1.4;
}

.related-works h3,
.related-people h3 {
  margin-top: 1.4rem;
  margin-bottom: 0.5rem;
  font-size: 1.05rem;
  line-height: 1.4;
}

.work-basic-info dl,
.person-basic-info dl {
  display: grid;
  grid-template-columns: 8em 1fr;
  gap: 0.6rem 1rem;
  margin: 0;
}

.work-basic-info dt,
.person-basic-info dt {
  font-weight: 700;
  color: #555;
}

.work-basic-info dd,
.person-basic-info dd {
  margin: 0;
}

.related-works ul,
.related-people ul {
  margin: 0.4rem 0 0;
  padding-left: 1.2rem;
}

.related-works li,
.related-people li {
  margin: 0.3rem 0;
  line-height: 1.7;
}

.credit-note {
  color: #666;
  font-size: 0.92em;
}

.work-basic-info a,
.person-basic-info a,
.related-works a,
.related-people a {
  text-decoration: none;
}

.work-basic-info a:hover,
.person-basic-info a:hover,
.related-works a:hover,
.related-people a:hover {
  text-decoration: underline;
}

@media (max-width: 600px) {
  .work-basic-info,
  .person-basic-info,
  .related-works,
  .related-people,
  .work-youtube {
    padding: 1rem;
  }

  .work-basic-info dl,
  .person-basic-info dl {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .work-basic-info dt,
  .person-basic-info dt {
    margin-top: 0.8rem;
  }
}


/* =========================================
   作品ページ: YouTube埋め込み
========================================= */

.work-youtube-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 10px;
  background: #000;
}

.work-youtube-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
}


/* =========================================
   人物ページ: テーマ側タイトル・画像を非表示
========================================= */

.single-people .entry-title {
  display: none;
}

.single-people > .wp-post-image,
.single-people .post-thumbnail,
.single-people .featured-image {
  display: none;
}


/* =========================================
   人物ページ: 画像 + プロフィール
========================================= */

.person-hero-profile {
  display: grid;
  grid-template-columns: 280px minmax(0, 520px);
  gap: 1.5rem;
  align-items: start;
  justify-content: center;
  width: 100%;
  margin: 2rem auto;
}

.person-hero-side {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.person-hero-image img {
  display: block;
  width: 280px;
  height: 280px;
  max-width: 100%;
  border-radius: 12px;
  object-fit: cover;
}

.person-hero-profile .person-profile-items {
  margin: 0;
  padding: 1.5rem;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  background: #fff;
}

.person-hero-profile .person-profile-items h2 {
  margin-top: 0;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e5e5e5;
  font-size: 1.35rem;
  line-height: 1.4;
}

.person-hero-profile .person-profile-items dl {
  display: grid;
  grid-template-columns: 8em 1fr;
  gap: 0.6rem 1rem;
  margin: 0;
}

.person-hero-profile .person-profile-items dt {
  font-weight: 700;
  color: #555;
}

.person-hero-profile .person-profile-items dd {
  margin: 0;
  line-height: 1.7;
}

.profile-free-text {
  line-height: 1.8;
}

.person-hero-profile .person-inline-heading {
  margin: 0 0 1rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid #e5e5e5;
}

.person-hero-profile .person-inline-title {
  margin: 0;
  padding-bottom: 0;
  border-bottom: none;
  font-size: 1.8rem;
  line-height: 1.35;
}

.person-hero-profile .person-inline-kana {
  margin: 0.25rem 0 0;
  color: #666;
  font-size: 0.9rem;
  line-height: 1.5;
}

@media (max-width: 700px) {
  .person-hero-profile {
    grid-template-columns: 1fr;
  }

  .person-hero-image img {
    width: 100%;
    height: auto;
    max-width: 320px;
    margin: 0 auto;
  }

  .person-hero-profile .person-profile-items dl {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .person-hero-profile .person-profile-items dt {
    margin-top: 0.8rem;
  }
}


/* =========================================
   人物ページ: 基本情報コンパクト表示
========================================= */

.single-people .person-basic-info {
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  padding: 1rem 1.15rem;
  border-radius: 10px;
}

.single-people .person-basic-info h2 {
  margin-bottom: 0.7rem;
  padding-bottom: 0.35rem;
  font-size: 1.05rem;
}

.single-people .person-basic-info dl {
  grid-template-columns: 7em 1fr;
  gap: 0.35rem 0.8rem;
}

.single-people .person-basic-info dt {
  font-size: 0.9rem;
}

.single-people .person-basic-info dd {
  font-size: 0.9rem;
  line-height: 1.5;
}


/* =========================================
   人物別関連作品ページ
========================================= */

.person-related-work-page {
  margin-top: 2rem;
}

.person-related-work-page > h2 {
  margin-bottom: 1.5rem;
}

.person-related-role-heading {
  margin-top: 2rem;
  margin-bottom: 1rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid #e5e5e5;
  font-size: 1.25rem;
}


/* =========================================
   人物・作品カード一覧
========================================= */

.linknote-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1.5rem;
  margin: 2rem 0;
}

.linknote-card {
  overflow: hidden;
  border: 1px solid #e5e5e5;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.linknote-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.linknote-card-image {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f4f4f4;
  text-decoration: none;
}

.linknote-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.linknote-card-noimage {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #999;
  font-size: 0.9rem;
}

.linknote-card-body {
  padding: 1rem;
}

.linknote-card-title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  line-height: 1.4;
}

.linknote-card-title a {
  color: inherit;
  text-decoration: none;
}

.linknote-card-title a:hover {
  text-decoration: underline;
}

.linknote-card-meta {
  margin: 0 0 0.4rem;
  color: #666;
  font-size: 0.9rem;
  line-height: 1.5;
}

.linknote-card-desc {
  margin: 0;
  color: #555;
  font-size: 0.92rem;
  line-height: 1.6;
}

.linknote-card-artist {
  margin: 0 0 0.35rem;
  color: #555;
  font-size: 0.82rem;
  line-height: 1.5;
}

@media (max-width: 600px) {
  .linknote-card-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }

  .linknote-card-body {
    padding: 0.8rem;
  }

  .linknote-card-title {
    font-size: 0.98rem;
  }
}

@media (max-width: 420px) {
  .linknote-card-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================
   作品カード: YouTubeサムネイル
========================================= */

.linknote-work-thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #000;
}

.linknote-work-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.linknote-play-badge {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
  pointer-events: none;
}

.linknote-work-thumb:hover .linknote-play-badge {
  background: rgba(0, 0, 0, 0.8);
}


/* =========================================
   作品カード: カテゴリ・公開日
========================================= */

.linknote-card-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0.35rem 0 0.45rem;
}

.linknote-category-label {
  display: inline-flex;
  align-items: center;
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  background: #f2f2f2;
  color: #444;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}

.work-card .linknote-card-desc {
  font-size: 0.82rem;
  color: #666;
}

.work-card .linknote-card-bottom-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.35rem;
}

.work-card .linknote-card-bottom-row .linknote-card-desc {
  margin: 0;
  font-size: 0.82rem;
  color: #666;
  line-height: 1.4;
}

.work-card .linknote-card-bottom-row .linknote-card-categories {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0;
}

.work-card .linknote-card-body > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 420px) {
  .work-card .linknote-card-bottom-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .work-card .linknote-card-bottom-row .linknote-card-categories {
    justify-content: flex-start;
  }
}


/* =========================================
   人物・作品カード一覧: 検索フォーム
========================================= */

.linknote-card-search {
  margin: 1.5rem 0 2rem;
  padding: 1rem;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  background: #fff;
}

.linknote-card-search label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 700;
}

.linknote-card-search-row {
  display: flex;
  gap: 0.6rem;
  align-items: center;
}

.linknote-card-search input[type="search"] {
  flex: 1;
  min-width: 0;
  padding: 0.65rem 0.8rem;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
}

.linknote-card-search button,
.linknote-card-search-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.6rem;
  padding: 0 1rem;
  border-radius: 8px;
  text-decoration: none;
  white-space: nowrap;
}

.linknote-card-search button {
  background: #333;
  color: #fff;
  font-weight: 700;
  border: 1px solid #333;
  cursor: pointer;
}

.linknote-card-search button:hover {
  background: #555;
  border-color: #555;
  color: #fff;
}

.linknote-card-search-reset {
  border: 1px solid #d0d0d0;
}

@media (max-width: 600px) {
  .linknote-card-search-row {
    flex-direction: column;
    align-items: stretch;
  }

  .linknote-card-search button,
  .linknote-card-search-reset {
    width: 100%;
  }
}


/* =========================================
   修正：人物ページの画像＋プロフィール崩れ対策
========================================= */

/* 画像＋プロフィールの2カラムを安定させる */
.single-people .person-hero-profile {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 520px) !important;
  gap: 1.5rem !important;
  align-items: start !important;
  justify-content: center !important;
  max-width: 900px !important;
  width: calc(100% - 2rem) !important;
  margin: 2rem auto !important;
  box-sizing: border-box !important;
}

/* 左側：画像とボタンは縦並び固定 */
.single-people .person-hero-side {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 280px !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* 画像 */
.single-people .person-hero-image {
  width: 280px !important;
  max-width: 100% !important;
}

.single-people .person-hero-image img {
  display: block !important;
  width: 280px !important;
  height: 280px !important;
  max-width: 100% !important;
  border-radius: 12px !important;
  object-fit: cover !important;
}

/* 画像下リンクの外側は必ず画像下に収める */
.single-people .person-hero-related-link,
.single-people .person-hero-linknote-link {
  display: block !important;
  width: 100% !important;
  max-width: 280px !important;
  margin-top: 0.45rem !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* ボタン本体だけを同じ幅にする */
.single-people .person-hero-related-link .related-works-button,
.single-people .person-hero-linknote-link .linknote-profile-button,
.single-people .person-hero-side .person-hero-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 8.5em !important;
  min-width: 8.5em !important;
  max-width: 8.5em !important;
  min-height: 2.15rem !important;
  padding: 0.38rem 0.65rem !important;
  box-sizing: border-box !important;
  border: 1px solid #d0d0d0 !important;
  border-radius: 999px !important;
  background: #f7f7f7 !important;
  color: #333 !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

/* スマホでは縦並び */
@media (max-width: 700px) {
  .single-people .person-hero-profile {
    grid-template-columns: 1fr !important;
    max-width: 420px !important;
  }

  .single-people .person-hero-side {
    width: 100% !important;
  }

  .single-people .person-hero-image {
    width: 100% !important;
    max-width: 320px !important;
  }

  .single-people .person-hero-image img {
    width: 100% !important;
    height: auto !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }
}


/* =========================================
   修正：プロフィール枠線を復活
========================================= */

/* 実際のHTMLがどちらでも効くように広めに指定 */
.single-people .person-hero-profile .person-profile-items,
.single-people .person-hero-profile .profile-free-text,
.single-people .person-profile-items {
  border: 1px solid #e5e5e5 !important;
  border-radius: 12px !important;
  background: #fff !important;
  padding: 1.5rem !important;
  box-sizing: border-box !important;
}

/* ただし profile-free-text が中身だけの場合に二重枠にならないよう補正 */
.single-people .person-profile-items .profile-free-text {
  border: none !important;
  padding: 0 !important;
}
/* =========================================
   人物ページ：画像下ボタンを大きめに戻す
========================================= */

.single-people .person-hero-related-link,
.single-people .person-hero-linknote-link {
  display: block !important;
  width: 100% !important;
  max-width: 280px !important;
  margin-top: 0.55rem !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.single-people .person-hero-related-link .related-works-button,
.single-people .person-hero-linknote-link .linknote-profile-button,
.single-people .person-hero-side .person-hero-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  max-width: 280px !important;
  min-height: 2.8rem !important;
  padding: 0.7rem 1.2rem !important;
  box-sizing: border-box !important;

  border: 1px solid #d0d0d0 !important;
  border-radius: 999px !important;
  background: #f7f7f7 !important;
  color: #333 !important;

  font-size: 0.9rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.single-people .person-hero-related-link .related-works-button:hover,
.single-people .person-hero-linknote-link .linknote-profile-button:hover,
.single-people .person-hero-side .person-hero-button:hover {
  background: #eeeeee !important;
  color: #000 !important;
  text-decoration: none !important;
}
/* 作品ページ：テーマ側のページタイトルを非表示 */
.single-works .entry-title {
  display: none;
}
/* 作品ページ：動画セクションの枠を消す */
.single-works .work-youtube {
  margin-top: 2rem;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

/* 作品ページ：動画上の作品タイトル */
.single-works .work-youtube h2,
.single-works .work-youtube .work-inline-title {
  margin: 0 0 1rem;
  padding: 0;
  border-bottom: none;
  font-size: 1.8rem;
  line-height: 1.35;
}
/* 作品ページ：タイトルと動画の間隔を詰める */
.single-works .work-inline-heading {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.35rem 0.7rem;
  margin: 0 0 0.45rem;
}

.single-works .work-inline-title {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: none !important;
}

.single-works .work-inline-artist {
  margin: 0;
}
/* 作品ページ：関係者の次に来る本文ブロックとの間隔調整 */
.single-works .related-people {
  margin-bottom: 2rem;
}
/* 作品ページ：タイトル上のカテゴリラベル */
.single-works .work-single-categories {
  margin: 0 0 0.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
/* 管理者用：関与情報一括作成フォーム */
.linknote-credit-bulk-form {
  max-width: 760px;
  margin: 2rem 0;
  padding: 1.5rem;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  background: #fff;
}

.linknote-credit-bulk-field {
  margin-bottom: 1.2rem;
}

.linknote-credit-bulk-field label {
  display: block;
  margin-bottom: 0.45rem;
  font-weight: 700;
}

.linknote-credit-bulk-field select,
.linknote-credit-bulk-field input[type="text"] {
  width: 100%;
  max-width: 100%;
  padding: 0.65rem 0.8rem;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  box-sizing: border-box;
}

.linknote-credit-role-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.45rem 0.8rem;
}

.linknote-credit-role-item {
  display: flex !important;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.6rem;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  background: #fafafa;
  font-weight: 500 !important;
}

.linknote-credit-bulk-form .description {
  margin: 0.35rem 0 0;
  color: #666;
  font-size: 0.85rem;
}

.linknote-credit-bulk-form button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.7rem;
  padding: 0 1.2rem;
  border: 1px solid #333;
  border-radius: 8px;
  background: #333;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.linknote-credit-bulk-form button[type="submit"]:hover {
  background: #555;
  border-color: #555;
}

.linknote-admin-message {
  max-width: 760px;
  margin: 1rem 0;
  padding: 0.9rem 1rem;
  border-radius: 8px;
  font-weight: 700;
}

.linknote-admin-message.success {
  border: 1px solid #cfe8d5;
  background: #f0fff4;
  color: #2f6b36;
}

.linknote-admin-message.error {
  border: 1px solid #f0c9c9;
  background: #fff5f5;
  color: #8a2f2f;
}
/* 管理者用：関与ロールを親ごとにグループ表示 */
.linknote-credit-role-groups {
  display: grid;
  gap: 1rem;
}

.linknote-credit-role-group {
  padding: 0.9rem 1rem;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  background: #fafafa;
}

.linknote-credit-role-group-title {
  margin: 0 0 0.7rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid #e5e5e5;
  font-size: 1rem;
  line-height: 1.4;
}

.linknote-credit-role-group .linknote-credit-role-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 0.45rem 0.8rem;
}

.linknote-credit-role-group .linknote-credit-role-item {
  display: flex !important;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.55rem;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  background: #fff;
  font-weight: 500 !important;
}
/* 編集提案ボタン */
.linknote-edit-button-wrap {
  margin: 0 0 1rem;
  text-align: right;
}

.linknote-edit-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.35rem 0.75rem;
  border: 1px solid #d0d0d0;
  border-radius: 999px;
  background: #f7f7f7;
  color: #333;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}

.linknote-edit-button:hover {
  background: #eeeeee;
  color: #000;
  text-decoration: none;
}

/* 編集提案フォーム */
.linknote-edit-proposal-form-wrap {
  max-width: 760px;
  margin: 2rem 0;
  padding: 1.5rem;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  background: #fff;
}

.linknote-edit-proposal-form-wrap h2 {
  margin-top: 0;
}

.linknote-edit-proposal-target,
.linknote-edit-proposal-note {
  color: #555;
}

.linknote-edit-proposal-field {
  margin-bottom: 1.2rem;
}

.linknote-edit-proposal-field label {
  display: block;
  margin-bottom: 0.45rem;
  font-weight: 700;
}

.linknote-edit-proposal-field textarea,
.linknote-edit-proposal-field input[type="url"] {
  width: 100%;
  max-width: 100%;
  padding: 0.75rem 0.85rem;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  box-sizing: border-box;
  font: inherit;
}

.linknote-edit-proposal-form button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.7rem;
  padding: 0 1.2rem;
  border: 1px solid #333;
  border-radius: 8px;
  background: #333;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.linknote-edit-proposal-form button[type="submit"]:hover {
  background: #555;
  border-color: #555;
}

.linknote-edit-message {
  margin: 0 0 1rem;
  padding: 0.9rem 1rem;
  border-radius: 8px;
  font-weight: 700;
}

.linknote-edit-message.success {
  border: 1px solid #cfe8d5;
  background: #f0fff4;
  color: #2f6b36;
}

.linknote-edit-message.error {
  border: 1px solid #f0c9c9;
  background: #fff5f5;
  color: #8a2f2f;
}
/* 編集提案レビュー画面 */
.linknote-proposal-review-page {
  max-width: 960px;
  margin: 2rem 0;
}

.linknote-proposal-review-item {
  margin-bottom: 2rem;
  padding: 1.5rem;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  background: #fff;
}

.linknote-proposal-review-item h3 {
  margin-top: 0;
}

.linknote-proposal-meta {
  display: grid;
  grid-template-columns: 7em 1fr;
  gap: 0.4rem 0.8rem;
  margin: 1rem 0;
}

.linknote-proposal-meta dt {
  font-weight: 700;
  color: #555;
}

.linknote-proposal-meta dd {
  margin: 0;
}

.linknote-proposal-note {
  margin: 1rem 0;
  padding: 1rem;
  border-radius: 8px;
  background: #fafafa;
}

.linknote-proposal-note h4,
.linknote-proposal-diff h4 {
  margin-top: 0;
}

.linknote-proposal-diff {
  margin-top: 1.2rem;
}

.linknote-proposal-diff table.diff {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.linknote-proposal-diff table.diff th,
.linknote-proposal-diff table.diff td {
  padding: 0.45rem 0.6rem;
  border: 1px solid #ddd;
  vertical-align: top;
}

.linknote-proposal-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.linknote-proposal-compare pre {
  white-space: pre-wrap;
  padding: 1rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fafafa;
}

.linknote-proposal-review-actions {
  margin-top: 1.2rem;
}

.linknote-reject-reason {
  margin-bottom: 1rem;
}

.linknote-reject-reason label {
  display: block;
  margin-bottom: 0.4rem;
  font-weight: 700;
}

.linknote-reject-reason textarea {
  width: 100%;
  max-width: 100%;
  padding: 0.65rem 0.8rem;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  box-sizing: border-box;
}

.linknote-approve-button,
.linknote-reject-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.6rem;
  padding: 0 1rem;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
}

.linknote-approve-button {
  border: 1px solid #333;
  background: #333;
  color: #fff;
}

.linknote-approve-button:hover {
  background: #555;
  border-color: #555;
}

.linknote-reject-button {
  margin-left: 0.5rem;
  border: 1px solid #ccc;
  background: #f2f2f2;
  color: #222;
}

.linknote-reject-button:hover {
  background: #e5e5e5;
}

.linknote-review-message {
  max-width: 960px;
  margin: 1rem 0;
  padding: 0.9rem 1rem;
  border-radius: 8px;
  font-weight: 700;
}

.linknote-review-message.success {
  border: 1px solid #cfe8d5;
  background: #f0fff4;
  color: #2f6b36;
}

.linknote-review-message.error {
  border: 1px solid #f0c9c9;
  background: #fff5f5;
  color: #8a2f2f;
}

@media (max-width: 700px) {
  .linknote-proposal-meta,
  .linknote-proposal-compare {
    grid-template-columns: 1fr;
  }

  .linknote-reject-button {
    margin-left: 0;
    margin-top: 0.5rem;
  }
}
/* プロフィール枠下部の編集提案ボタン */
.person-profile-items .linknote-edit-button-wrap {
  margin: 1.2rem 0 0;
  text-align: right;
}
/* 編集提案ボタン：本文下・動画下 */
.single-people .entry-content > .linknote-edit-button-wrap,
.single-works .entry-content > .linknote-edit-button-wrap,
.work-youtube .linknote-edit-button-wrap {
  margin-top: 1rem;
  text-align: right;
}
/* 編集提案フォーム：基本情報 */
.linknote-basic-info-edit-grid {
  display: grid;
  gap: 1rem;
}

.linknote-basic-info-edit-grid label {
  display: block;
  font-weight: 700;
}

.linknote-basic-info-edit-grid input,
.linknote-basic-info-edit-grid textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-top: 0.35rem;
  padding: 0.65rem 0.8rem;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  box-sizing: border-box;
  font: inherit;
}
/* 編集提案フォーム：現在画像プレビュー */
.linknote-current-image-preview {
  margin-bottom: 1rem;
}

.linknote-current-image-preview p {
  margin: 0 0 0.5rem;
  font-weight: 700;
}

.linknote-current-image-preview img {
  display: block;
  max-width: 240px;
  height: auto;
  border-radius: 10px;
}

/* 画像権利確認チェック */
.linknote-image-rights-check {
  display: flex;
  gap: 0.45rem;
  align-items: flex-start;
  margin-top: 0.8rem;
  font-weight: 700;
}

/* レビュー画面：画像比較 */
.linknote-image-proposal-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.2rem;
}

.linknote-image-proposal-compare img {
  display: block;
  max-width: 260px;
  height: auto;
  border-radius: 10px;
}

@media (max-width: 700px) {
  .linknote-image-proposal-compare {
    grid-template-columns: 1fr;
  }
}
/* 人物ページ：画像と画像編集ボタンの間隔 */
.person-hero-image-edit-link {
  margin-top: 1rem;
}
/* 人物ページ：画像と画像編集ボタンの間隔 */
.single-people .person-hero-image + .linknote-edit-button-wrap,
.single-people .person-hero-image + .person-hero-image-edit-link {
  margin-top: 0.8rem !important;
}
/* 関連作品ページ：ページタイトル非表示 */
body.page-id-427 h1.entry-title,
body.page-id-427 .entry-title,
body.page-id-427 .page-title {
  display: none !important;
}
/* 関連作品ページ：役割フィルター */
.person-related-role-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1.3rem;
  padding: 0.9rem 1rem;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  background: #fafafa;
}

.person-related-role-filter-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  border: 1px solid #d8d8d8;
  border-radius: 999px;
  background: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
}

.person-related-role-filter-item input {
  margin: 0;
}

.person-related-card-roles {
  margin: 0 0 0.45rem;
  color: #555;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.4;
}
/* 人物ページ：No Image表示 */
.single-people .person-hero-noimage {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 1px solid #ddd;
  border-radius: 12px;
  background: #f4f4f4;
  color: #888;
  font-size: 0.95rem;
  font-weight: 700;
  box-sizing: border-box;
}

/* 人物ページ：空プロフィール表示 */
.single-people .profile-empty-text {
  color: #777;
}

.single-people .profile-empty-text p {
  margin: 0;
}
/* 未入力項目の表示 */
.linknote-empty-text {
  margin: 0;
  color: #777;
  font-size: 0.95rem;
  line-height: 1.7;
}
/* 作品ページ：動画未登録表示 */
.single-works .work-youtube-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 180px;
  padding: 1rem;
  border: 1px dashed #d5d5d5;
  border-radius: 12px;
  background: #fafafa;
  color: #777;
  font-weight: 700;
  box-sizing: border-box;
}
/* 作品ページ：動画未登録時は動画埋め込み用の黒枠を解除 */
.single-works .work-youtube-empty-state .work-youtube-embed {
  position: static !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  padding-bottom: 0 !important;
  aspect-ratio: auto !important;
  background: transparent !important;
  overflow: visible !important;
  border-radius: 0 !important;
}

/* 未登録メッセージ枠 */
.single-works .work-youtube-empty-state .work-youtube-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 180px;
  width: 100%;
  padding: 1rem;
  border: 1px dashed #d5d5d5;
  border-radius: 12px;
  background: #fafafa;
  color: #777;
  font-weight: 700;
  box-sizing: border-box;
}

/* 黒いiframe用の指定が残っていても無効化 */
.single-works .work-youtube-empty-state .work-youtube-embed iframe {
  display: none !important;
}
/* 本文内の人物・作品リンク */
.linknote-internal-link {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

/* 作品ページ：基本情報内クレジット */
.single-works .work-credit-draft-text {
  white-space: normal;
  line-height: 1.8;
}
/* 本文内リンクタグ：存在するページ */
.linknote-wiki-link {
	color: #0645ad;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.linknote-wiki-link:visited {
	color: #0b0080;
}

.linknote-wiki-link:hover {
	color: #3366cc;
	text-decoration-thickness: 2px;
}

/* 本文内リンクタグ：ページ未作成 */
.linknote-wiki-link-missing {
	color: #ba0000;
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 2px;
	cursor: help;
}
/* 投稿フォームタブ：4タブ対応 */
.linknote-submit-tab-buttons {
	flex-wrap: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.linknote-submit-tab-button {
	flex: 0 0 auto;
}
/* 作品ページ：関係者カード */
.linknote-work-people-section {
	margin-top: 40px;
	padding-top: 28px;
	border-top: 1px solid #e5e5e5;
}

.linknote-work-people-header {
	margin-bottom: 18px;
}

.linknote-work-people-title {
	font-size: 24px;
	font-weight: 700;
	margin: 0;
}

.linknote-work-people-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 18px;
}

.linknote-work-person-card {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 14px;
	overflow: hidden;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.linknote-work-person-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.linknote-work-person-card-link {
	display: block;
	color: inherit;
	text-decoration: none;
	height: 100%;
}

.linknote-work-person-card-thumb {
	aspect-ratio: 1 / 1;
	background: #f4f4f4;
	overflow: hidden;
}

.linknote-work-person-card-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.linknote-work-person-card-noimage {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f1f1f1;
	color: #999;
	font-size: 14px;
	font-weight: 600;
}

.linknote-work-person-card-body {
	padding: 14px 14px 16px;
}

.linknote-work-person-card-name {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 6px;
}

.linknote-work-person-card-roles {
	font-size: 13px;
	font-weight: 600;
	color: #555;
	margin-bottom: 8px;
	line-height: 1.5;
}


@media (max-width: 600px) {
	.linknote-work-people-section {
		margin-top: 32px;
		padding-top: 24px;
	}

	.linknote-work-people-title {
		font-size: 21px;
	}

.linknote-work-people-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 16px;
}

	.linknote-work-person-card-body {
		padding: 12px;
	}

	.linknote-work-person-card-name {
		font-size: 15px;
	}

	
}
/* 作品ページ：関係者カードをコンパクト表示 */
.linknote-work-person-card-body {
	padding: 12px;
}

.linknote-work-person-card-name {
	font-size: 15px;
	line-height: 1.4;
	margin-bottom: 5px;
}

.linknote-work-person-card-roles {
	font-size: 12px;
	line-height: 1.5;
	margin-bottom: 6px;
}

/* 作品ページ：関係者カード 横4〜5枚に強制調整 */
.linknote-work-people-section .linknote-work-people-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
	gap: 14px !important;
}

.linknote-work-people-section .linknote-work-person-card-body {
	padding: 10px !important;
}

.linknote-work-people-section .linknote-work-person-card-name {
	font-size: 14px !important;
	line-height: 1.35 !important;
	margin-bottom: 4px !important;
}

.linknote-work-people-section .linknote-work-person-card-roles {
	font-size: 12px !important;
	line-height: 1.4 !important;
	margin-bottom: 4px !important;
}

.linknote-work-people-section 
/* 投稿フォームタブ：リンク型タブ */
.linknote-submit-tab-buttons {
	display: flex;
	gap: 8px;
	margin-bottom: 24px;
	border-bottom: 1px solid #ddd;
	overflow-x: auto;
}

.linknote-submit-tab-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	appearance: none;
	border: none;
	background: transparent;
	padding: 12px 18px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	color: #555;
	border-bottom: 3px solid transparent;
	white-space: nowrap;
	text-decoration: none;
}

.linknote-submit-tab-button:hover {
	color: #111;
	background: #f7f7f7;
	text-decoration: none;
}

.linknote-submit-tab-button.is-active {
	color: #111;
	border-bottom-color: #111;
	background: #fff;
	text-decoration: none;
}
/* LinKnote Works ヘッダー検索フォーム */
.linknote-works-search-form {
	display: flex;
	align-items: center;
	gap: 6px;
	width: 100%;
	max-width: 420px;
}

.linknote-works-search-select {
	flex: 0 0 auto;
	height: 38px;
	padding: 0 10px;
	border: 1px solid #d8d8d8;
	border-radius: 999px;
	background: #fff;
	font-size: 13px;
}

.linknote-works-search-input {
	flex: 1 1 auto;
	min-width: 120px;
	height: 38px;
	padding: 0 13px;
	border: 1px solid #d8d8d8;
	border-radius: 999px;
	background: #fff;
	font-size: 14px;
}

.linknote-works-search-button {
	flex: 0 0 auto;
	height: 38px;
	padding: 0 14px;
	border: none;
	border-radius: 999px;
	background: #111;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.linknote-works-search-button:hover {
	opacity: 0.85;
}

@media (max-width: 600px) {
	.linknote-works-search-form {
		max-width: 100%;
		gap: 4px;
	}

	.linknote-works-search-select {
		width: 76px;
		font-size: 12px;
		padding: 0 6px;
	}

	.linknote-works-search-input {
		min-width: 0;
		font-size: 13px;
	}

	.linknote-works-search-button {
		padding: 0 10px;
		font-size: 12px;
	}
}
/* 編集提案レビュー：基本情報差分 */
.linknote-review-basic-info-diff,
.linknote-review-diff-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 12px;
	table-layout: fixed;
}

.linknote-review-basic-info-diff th,
.linknote-review-basic-info-diff td,
.linknote-review-diff-table th,
.linknote-review-diff-table td {
	border: 1px solid #e2e2e2;
	padding: 10px 12px;
	vertical-align: top;
	text-align: left;
	line-height: 1.7;
	word-break: break-word;
}

.linknote-review-basic-info-diff thead th,
.linknote-review-diff-table thead th {
	background: #f5f5f5;
	font-weight: 700;
}

.linknote-review-basic-info-diff tbody th {
	width: 22%;
	background: #fafafa;
	font-weight: 700;
}

.linknote-review-empty {
	color: #999;
}
/* 編集提案：送信前確認 */
.linknote-edit-confirm-box {
	border: 1px solid #e2e2e2;
	background: #fafafa;
	border-radius: 12px;
	padding: 18px;
	margin: 0 0 28px;
}

.linknote-edit-confirm-box h3 {
	margin-top: 0;
}

.linknote-edit-confirm-diff {
	margin-top: 14px;
}

.linknote-edit-confirm-note {
	margin-top: 18px;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
}

.linknote-edit-confirm-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 18px;
}

.linknote-confirm-submit-button {
	border: none;
	background: #111;
	color: #fff;
	padding: 10px 18px;
	border-radius: 999px;
	font-weight: 700;
	cursor: pointer;
}

.linknote-confirm-back-button {
	border: 1px solid #ccc;
	background: #fff;
	color: #333;
	padding: 10px 18px;
	border-radius: 999px;
	font-weight: 700;
	cursor: pointer;
}
/* 新規投稿：送信前確認 */
.linknote-submission-confirm-wrap {
	max-width: 900px;
	margin: 0 auto;
}

.linknote-submission-confirm-preview {
	border: 1px solid #e3e3e3;
	border-radius: 12px;
	padding: 24px;
	background: #fff;
}

.linknote-submission-confirm-image,
.linknote-submission-confirm-video {
	margin: 0 0 24px;
}

.linknote-submission-confirm-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.linknote-submission-confirm-video iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
}

.linknote-submission-confirm-meta {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 0;
	margin: 24px 0;
	border-top: 1px solid #e6e6e6;
}

.linknote-submission-confirm-meta dt,
.linknote-submission-confirm-meta dd {
	margin: 0;
	padding: 10px 12px;
	border-bottom: 1px solid #e6e6e6;
}

.linknote-submission-confirm-meta dt {
	font-weight: 700;
	background: #fafafa;
}

.linknote-submission-confirm-section {
	margin-top: 28px;
}

.linknote-submission-confirm-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 24px;
}

.linknote-submission-confirm-send,
.linknote-submission-confirm-back {
	padding: 11px 18px;
	border-radius: 999px;
	font-weight: 700;
	cursor: pointer;
}

.linknote-submission-confirm-send {
	border: 0;
	background: #111;
	color: #fff;
}

.linknote-submission-confirm-back {
	border: 1px solid #ccc;
	background: #fff;
	color: #333;
}

.linknote-submission-confirm-success {
	padding: 24px;
	border: 1px solid #d7e7d5;
	border-radius: 12px;
	background: #f7fcf6;
}

@media (max-width: 640px) {
	.linknote-submission-confirm-meta {
		grid-template-columns: 1fr;
	}

	.linknote-submission-confirm-meta dt {
		padding-bottom: 2px;
		border-bottom: 0;
	}

	.linknote-submission-confirm-meta dd {
		padding-top: 2px;
	}
}
/* 未登録項目の新規作成案内 */
.linknote-create-missing-wrap {
	max-width: 720px;
	margin: 0 auto;
	padding: 28px;
	border: 1px solid #e3e3e3;
	border-radius: 12px;
	background: #fff;
}

.linknote-create-missing-wrap h2 {
	margin-top: 0;
}

.linknote-create-missing-buttons {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 24px;
}

.linknote-create-missing-button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 12px 16px;
	border: 1px solid #222;
	border-radius: 8px;
	color: #222;
	font-weight: 700;
	text-decoration: none;
}

.linknote-create-missing-button:hover {
	background: #222;
	color: #fff;
}

@media (max-width: 640px) {
	.linknote-create-missing-buttons {
		grid-template-columns: 1fr;
	}
}
/* =========================================
   WPUF投稿・修正フォーム：画像アップロードボタン
   新規投稿（作品・人物・グループ・カンパニー）と修正ページで共通
========================================= */

body .wpuf-form .wpuf-label,
body .wpuf-form .wpuf-label label,
body .wpuf-form .wpuf-label span,
body .wpuf-form label,
body .wpuf-edit-form .wpuf-label,
body .wpuf-edit-form .wpuf-label label,
body .wpuf-edit-form .wpuf-label span,
body .wpuf-edit-form label {
	color: #222 !important;
	text-shadow: none !important;
}

body .wpuf-form .wpuf-featured-image,
body .wpuf-form .wpuf-image-wrap,
body .wpuf-form .wpuf-attachment-area,
body .wpuf-form .wpuf-attachment-upload-filelist,
body .wpuf-form .wpuf-fields .wpuf-attachment-list,
body .wpuf-edit-form .wpuf-featured-image,
body .wpuf-edit-form .wpuf-image-wrap,
body .wpuf-edit-form .wpuf-attachment-area,
body .wpuf-edit-form .wpuf-attachment-upload-filelist,
body .wpuf-edit-form .wpuf-fields .wpuf-attachment-list {
	color: #222 !important;
	text-shadow: none !important;
}

body .wpuf-form .wpuf-featured-image .file-selector,
body .wpuf-form .wpuf-image-wrap .file-selector,
body .wpuf-form .wpuf-attachment-area .file-selector,
body .wpuf-form .wpuf-attachment-upload-filelist .file-selector,
body .wpuf-form .wpuf-featured-image .button,
body .wpuf-form .wpuf-image-wrap .button,
body .wpuf-form .wpuf-attachment-area .button,
body .wpuf-edit-form .wpuf-featured-image .file-selector,
body .wpuf-edit-form .wpuf-image-wrap .file-selector,
body .wpuf-edit-form .wpuf-attachment-area .file-selector,
body .wpuf-edit-form .wpuf-attachment-upload-filelist .file-selector,
body .wpuf-edit-form .wpuf-featured-image .button,
body .wpuf-edit-form .wpuf-image-wrap .button,
body .wpuf-edit-form .wpuf-attachment-area .button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 2.5rem !important;
	padding: 0.45rem 0.85rem !important;
	border: 1px solid #ccc !important;
	border-radius: 8px !important;
	background: #f2f2f2 !important;
	color: #222 !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	text-shadow: none !important;
	cursor: pointer !important;
}

body .wpuf-form .wpuf-featured-image .file-selector:hover,
body .wpuf-form .wpuf-image-wrap .file-selector:hover,
body .wpuf-form .wpuf-attachment-area .file-selector:hover,
body .wpuf-form .wpuf-attachment-upload-filelist .file-selector:hover,
body .wpuf-form .wpuf-featured-image .button:hover,
body .wpuf-form .wpuf-image-wrap .button:hover,
body .wpuf-form .wpuf-attachment-area .button:hover,
body .wpuf-edit-form .wpuf-featured-image .file-selector:hover,
body .wpuf-edit-form .wpuf-image-wrap .file-selector:hover,
body .wpuf-edit-form .wpuf-attachment-area .file-selector:hover,
body .wpuf-edit-form .wpuf-attachment-upload-filelist .file-selector:hover,
body .wpuf-edit-form .wpuf-featured-image .button:hover,
body .wpuf-edit-form .wpuf-image-wrap .button:hover,
body .wpuf-edit-form .wpuf-attachment-area .button:hover {
	background: #e5e5e5 !important;
	color: #000 !important;
}
/* 作品ページ：基本情報と本文の間隔 */
.single-works .work-basic-info {
	margin-bottom: 1.5rem;
}
.linknote-cover-source-field {
	margin: 0 0 1.2rem;
}

.linknote-cover-source-field label {
	display: block;
	margin-bottom: 0.45rem;
	font-weight: 700;
}

.linknote-cover-source-field .description {
	margin: 0 0 0.5rem;
	color: #666;
	font-size: 0.9rem;
	line-height: 1.6;
}

.linknote-cover-source-field select {
	width: 100%;
	max-width: 100%;
	padding: 0.65rem 0.8rem;
	border: 1px solid #d0d0d0;
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
	font: inherit;
}
/* カヴァー元作品：説明文を選択欄下で小さく表示 */
.linknote-cover-source-field .description {
	margin: 0.4rem 0 0;
	font-size: 0.8rem;
	line-height: 1.5;
}
/* カヴァー元作品：検索式選択欄 */
.linknote-cover-source-field {
	position: relative;
	margin: 0 0 1.2rem;
}

.linknote-cover-source-field label {
	display: block;
	margin-bottom: 0.45rem;
	font-weight: 700;
}

.linknote-cover-source-field input[type="search"] {
	width: 100%;
	max-width: 100%;
	padding: 0.65rem 0.8rem;
	border: 1px solid #d0d0d0;
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
	font: inherit;
}

.linknote-cover-source-results {
	position: absolute;
	z-index: 20;
	top: 4.5rem;
	left: 0;
	right: 0;
	max-height: 260px;
	overflow-y: auto;
	border: 1px solid #d0d0d0;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.linknote-cover-source-result {
	display: block;
	width: 100%;
	padding: 0.7rem 0.8rem;
	border: 0;
	border-bottom: 1px solid #eee;
	background: #fff;
	color: #222;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.linknote-cover-source-result:last-child {
	border-bottom: 0;
}

.linknote-cover-source-result:hover {
	background: #f5f5f5;
}

.linknote-cover-source-empty {
	padding: 0.75rem 0.8rem;
	color: #777;
	font-size: 0.9rem;
}

.linknote-cover-source-selected {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.5rem;
	padding: 0.55rem 0.7rem;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	background: #fafafa;
	font-size: 0.88rem;
}

.linknote-cover-source-clear {
	flex: 0 0 auto;
	padding: 0.3rem 0.55rem;
	border: 1px solid #ccc;
	border-radius: 6px;
	background: #fff;
	color: #333;
	font-size: 0.8rem;
	cursor: pointer;
}

.linknote-cover-source-clear:hover {
	background: #f0f0f0;
}

.linknote-cover-source-field .description {
	margin: 0.4rem 0 0;
	color: #666;
	font-size: 0.8rem;
	line-height: 1.5;
}
/* 作品ページ：カヴァー関係 */
.linknote-work-cover-relations {
	margin-top: 2rem;
	padding-top: 1.75rem;
	border-top: 1px solid #e5e5e5;
}

.linknote-work-cover-relations-heading {
	margin: 0 0 1.25rem;
	font-size: 1.5rem;
	line-height: 1.4;
}

.linknote-work-cover-section + .linknote-work-cover-section {
	margin-top: 2rem;
}

.linknote-work-cover-title {
	margin: 0 0 0.9rem;
	font-size: 1.1rem;
	line-height: 1.4;
}

.linknote-work-cover-grid {
	margin: 0;
}

@media (max-width: 600px) {
	.linknote-work-cover-relations {
		margin-top: 1.5rem;
		padding-top: 1.4rem;
	}

	.linknote-work-cover-relations-heading {
		font-size: 1.3rem;
	}
}
/* 作品ページ：カヴァー関係・関係者タブ */
.linknote-work-relation-tabs {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid #e5e5e5;
}

.linknote-work-relation-tab-buttons {
	display: flex;
	gap: 0.4rem;
	margin-bottom: 1.25rem;
	border-bottom: 1px solid #ddd;
}

.linknote-work-relation-tab-button {
	padding: 0.7rem 1rem;
	border: 0;
	border-bottom: 3px solid transparent;
	background: transparent;
	color: #666;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.linknote-work-relation-tab-button:hover {
	color: #111;
	background: #f7f7f7;
}

.linknote-work-relation-tab-button.is-active {
	border-bottom-color: #111;
	color: #111;
}

.linknote-work-relation-tab-panel > .linknote-work-cover-relations,
.linknote-work-relation-tab-panel > .linknote-work-people-section {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

/* タブ名と重複する見出しは隠す */
.linknote-work-relation-tab-panel .linknote-work-cover-relations-heading,
.linknote-work-relation-tab-panel .linknote-work-people-header {
	display: none;
}

@media (max-width: 600px) {
	.linknote-work-relation-tab-button {
		flex: 1;
		padding: 0.65rem 0.5rem;
		font-size: 0.9rem;
	}
}
/* 関与情報一括作成：作品・人物の検索選択 */
.linknote-credit-search-field {
	position: relative;
}

.linknote-credit-search-field input[type="search"] {
	width: 100%;
	max-width: 100%;
	padding: 0.65rem 0.8rem;
	border: 1px solid #d0d0d0;
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
	font: inherit;
}

.linknote-credit-search-results {
	position: absolute;
	z-index: 30;
	top: 4.5rem;
	left: 0;
	right: 0;
	max-height: 260px;
	overflow-y: auto;
	border: 1px solid #d0d0d0;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.linknote-credit-search-result {
	display: block;
	width: 100%;
	padding: 0.7rem 0.8rem;
	border: 0;
	border-bottom: 1px solid #eee;
	background: #fff;
	color: #222;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.linknote-credit-search-result:last-child {
	border-bottom: 0;
}

.linknote-credit-search-result:hover {
	background: #f5f5f5;
}

.linknote-credit-search-empty {
	padding: 0.75rem 0.8rem;
	color: #777;
	font-size: 0.9rem;
}

.linknote-credit-search-selected {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.5rem;
	padding: 0.55rem 0.7rem;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	background: #fafafa;
	font-size: 0.88rem;
}

.linknote-credit-search-clear {
	flex: 0 0 auto;
	padding: 0.3rem 0.55rem;
	border: 1px solid #ccc;
	border-radius: 6px;
	background: #fff;
	color: #333;
	font-size: 0.8rem;
	cursor: pointer;
}

.linknote-credit-search-clear:hover {
	background: #f0f0f0;
}
/* 編集提案フォーム：カヴァー元作品の検索欄 */
.linknote-edit-cover-source-field {
	position: relative;
}

.linknote-edit-cover-source-field > label {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 700;
}

.linknote-edit-cover-source-field input[type="search"] {
	width: 100%;
	max-width: 100%;
	padding: 0.65rem 0.8rem;
	border: 1px solid #d0d0d0;
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
	font: inherit;
}

.linknote-edit-cover-source-results {
	position: absolute;
	z-index: 30;
	top: 4.7rem;
	left: 0;
	right: 0;
	max-height: 260px;
	overflow-y: auto;
	border: 1px solid #d0d0d0;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.linknote-edit-cover-source-result {
	display: block;
	width: 100%;
	padding: 0.7rem 0.8rem;
	border: 0;
	border-bottom: 1px solid #eee;
	background: #fff;
	color: #222;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.linknote-edit-cover-source-result:last-child {
	border-bottom: 0;
}

.linknote-edit-cover-source-result:hover {
	background: #f5f5f5;
}

.linknote-edit-cover-source-empty {
	padding: 0.75rem 0.8rem;
	color: #777;
	font-size: 0.9rem;
}

.linknote-edit-cover-source-selected {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.5rem;
	padding: 0.55rem 0.7rem;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	background: #fafafa;
	font-size: 0.88rem;
}

.linknote-edit-cover-source-selected button {
	flex: 0 0 auto;
	padding: 0.3rem 0.55rem;
	border: 1px solid #ccc;
	border-radius: 6px;
	background: #fff;
	color: #333;
	font-size: 0.8rem;
	cursor: pointer;
}

.linknote-edit-cover-source-selected button:hover {
	background: #f0f0f0;
}

.linknote-edit-cover-source-field .description {
	margin: 0.4rem 0 0;
	color: #666;
	font-size: 0.8rem;
	line-height: 1.5;
}
/* LinKnote コメント欄 */
.linknote-comments-section {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid #e5e5e5;
}

.linknote-comments-title {
	margin: 0 0 1.2rem;
	font-size: 1.4rem;
	line-height: 1.4;
}

.linknote-comments-list {
	display: grid;
	gap: 1rem;
}

.linknote-comment-item {
	padding: 1rem;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	background: #fff;
}

.linknote-comment-meta {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.7rem;
	font-size: 0.82rem;
}

.linknote-comment-author {
	font-weight: 700;
}

.linknote-comment-author a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.linknote-comment-meta time {
	color: #777;
	white-space: nowrap;
}

.linknote-comment-content {
	line-height: 1.75;
	word-break: break-word;
}

.linknote-comment-content p:first-child {
	margin-top: 0;
}

.linknote-comment-content p:last-child {
	margin-bottom: 0;
}

.linknote-comments-empty,
.linknote-comment-login-message {
	margin: 0;
	padding: 0.9rem 1rem;
	border-radius: 8px;
	background: #f7f7f7;
	color: #555;
}

.linknote-comment-form-wrap {
	margin-top: 1.5rem;
}

.linknote-comment-form-wrap .comment-reply-title {
	margin: 0 0 0.8rem;
	font-size: 1.1rem;
}

.linknote-comment-form-wrap textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.7rem 0.8rem;
	border: 1px solid #ccc;
	border-radius: 8px;
	font: inherit;
	resize: vertical;
}

.linknote-comment-form-wrap .form-submit {
	margin: 0.9rem 0 0;
}

.linknote-comment-form-wrap input[type="submit"] {
	padding: 0.65rem 1rem;
	border: 0;
	border-radius: 7px;
	background: #111;
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.linknote-comment-form-wrap input[type="submit"]:hover {
	opacity: 0.85;
}

.linknote-comment-form-wrap .form-allowed-tags,
.linknote-comment-form-wrap .logged-in-as {
	margin: 0.5rem 0;
	color: #666;
	font-size: 0.85rem;
}

/* 作品ページのタブ内ではタブ名と同じ見出しを隠す */
.linknote-work-relation-tab-panel .linknote-comments-title {
	display: none;
}

@media (max-width: 600px) {
	.linknote-comment-meta {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.25rem;
	}
}
/* LinKnote コメント通報 */
.linknote-comment-report-wrap {
	margin-top: 0.85rem;
	text-align: right;
}

.linknote-comment-report-details {
	display: inline-block;
	text-align: left;
}

.linknote-comment-report-details > summary {
	color: #777;
	font-size: 0.8rem;
	cursor: pointer;
}

.linknote-comment-report-details > summary:hover {
	color: #333;
	text-decoration: underline;
}

.linknote-comment-report-form {
	display: grid;
	gap: 0.65rem;
	width: min(100%, 330px);
	margin-top: 0.65rem;
	padding: 0.85rem;
	border: 1px solid #e1e1e1;
	border-radius: 8px;
	background: #fafafa;
}

.linknote-comment-report-form label {
	display: grid;
	gap: 0.3rem;
	font-size: 0.82rem;
	font-weight: 700;
}

.linknote-comment-report-form select,
.linknote-comment-report-form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.5rem 0.6rem;
	border: 1px solid #ccc;
	border-radius: 6px;
	background: #fff;
	font: inherit;
	font-weight: 400;
}

.linknote-comment-report-form textarea {
	resize: vertical;
}

.linknote-comment-report-form button {
	justify-self: start;
	padding: 0.45rem 0.75rem;
	border: 1px solid #bbb;
	border-radius: 6px;
	background: #fff;
	color: #333;
	font: inherit;
	font-size: 0.85rem;
	cursor: pointer;
}

.linknote-comment-report-form button:hover {
	background: #f0f0f0;
}

.linknote-comment-report-message {
	margin: 0 0 1rem;
	padding: 0.8rem 0.95rem;
	border-radius: 8px;
	font-size: 0.9rem;
}

.linknote-comment-report-message.is-success {
	background: #eef8ee;
	color: #216b2a;
}

.linknote-comment-report-message.is-notice {
	background: #f5f5f5;
	color: #555;
}

.linknote-comment-report-message.is-error {
	background: #fff0f0;
	color: #a11;
}
/* 投稿フォーム上部の注意 */
.linknote-submit-guide {
	margin: 0 0 1rem;
	padding: 0.9rem 1rem;
	border: 1px solid #e0d8bc;
	border-radius: 8px;
	background: #fffdf2;
	color: #5f552a;
	font-size: 0.9rem;
	line-height: 1.7;
}

.linknote-submit-guide p {
	margin: 0;
}

.linknote-submit-guide p + p {
	margin-top: 0.35rem;
}
/* 作品一覧の横幅・左右余白を人物一覧に合わせる */
.linknote-work-list-wrap {
	width: min(100% - 32px, 980px);
	margin-right: auto;
	margin-left: auto;
}

@media (max-width: 600px) {
	.linknote-work-list-wrap {
		width: min(100% - 24px, 980px);
	}
}
/* 人物一覧カードを作品カードに近いサイズへ */
.people-card-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1rem;
}

.people-card .linknote-card-body {
	padding: 0.8rem;
}

.people-card .linknote-card-title {
	font-size: 0.95rem;
}

.people-card .linknote-card-meta,
.people-card .linknote-card-desc {
	font-size: 0.82rem;
}

@media (max-width: 900px) {
	.people-card-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 650px) {
	.people-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.ln-review-actions .ln-publish-main-button {
	background: #1f9d55 !important;
	border-color: #1f9d55 !important;
	color: #fff !important;
	font-weight: 700;
	box-shadow: 0 2px 0 rgba(0,0,0,0.12);
}

.ln-review-actions .ln-publish-main-button:hover {
	background: #178246 !important;
	border-color: #178246 !important;
	color: #fff !important;
}

.ln-review-actions .ln-publish-sub-button {
	border-color: #1f9d55 !important;
	color: #16723e !important;
	font-weight: 700;
}

.ln-review-actions .ln-publish-sub-button:hover {
	background: #eef8f1 !important;
	color: #0f5c31 !important;
}

.ln-review-actions .ln-save-only-button {
	color: #555 !important;
}

/* 新規投稿レビュー：操作リンクをテーマのボタン色から独立 */
.ln-submission-review .ln-review-list-table a.ln-review-open-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 2.25rem !important;
	padding: 0.35rem 0.85rem !important;
	border: 1px solid #a8bfdc !important;
	border-radius: 7px !important;
	background: #edf5ff !important;
	color: #1f4f86 !important;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.ln-submission-review .ln-review-list-table a.ln-review-open-button:hover,
.ln-submission-review .ln-review-list-table a.ln-review-open-button:focus {
	border-color: #7898bf !important;
	background: #dfeeff !important;
	color: #163d69 !important;
	text-decoration: none !important;
}
