/*
Theme Name:   Cocoon Child
Template:     cocoon-master
Version:      4.4
*/

/* ── Design Tokens ── */
:root {
  --bg:    #0d1117;
  --s1:    #161b22;
  --s2:    #1c2128;
  --s3:    #22272e;
  --bd:    #30363d;
  --red:   #c8312a;
  --cta:   #f59f00;
  --cta-h: #e09200;
  --t1:    #e6edf3;
  --t2:    #8b949e;
  --t3:    #484f58;
  --lk:    #4fa4c0;
  --serif: 'Shippori Mincho B1', 'Noto Serif JP', serif;
  --sans:  'Noto Sans JP', sans-serif;
  --r:     8px;
  --tr:    0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Base ── */
html { scroll-behavior: smooth; }
body.public-page {
  background: var(--bg) !important;
  color: var(--t1);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}

/* ── Scroll Progress Bar ── */
#scroll-progress {
  position: fixed;
  top: 0; left: 0;
  width: 0%;
  height: 3px;
  background: linear-gradient(90deg, var(--cta) 0%, var(--red) 100%);
  z-index: 10000;
  transition: width 0.1s linear;
  pointer-events: none;
}

/* ── Header ── */
#header {
  background: rgba(13,17,23,0.96) !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--bd);
}
#site-name a, .site-name a {
  font-family: var(--serif);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--t1) !important;
  text-decoration: none;
}
.navi-in > ul > li > a {
  color: var(--t2);
  transition: color var(--tr);
}
.navi-in > ul > li > a:hover { color: var(--cta); text-decoration: none; }

/* ── コンテナ背景 ── */
#container, .wrap, .content-area { background: transparent !important; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   アーカイブ カードグリッド
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* mainをflexコンテナ化（幅はCocoon準拠） */
.main {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  align-content: flex-start !important;
  box-sizing: border-box !important;
}

/* カード：3列 */
.main > .a-wrap {
  flex: 0 0 calc(33.333% - 11px) !important;
  width: calc(33.333% - 11px) !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
  background: var(--s1) !important;
  border: 1px solid var(--bd) !important;
  border-radius: var(--r) !important;
  overflow: hidden !important;
  text-decoration: none !important;
  transition: transform var(--tr), box-shadow var(--tr), border-color var(--tr) !important;
}
.main > .a-wrap:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.5), 0 0 24px rgba(245,159,0,0.12) !important;
  border-color: rgba(245,159,0,0.4) !important;
}

/* カード以外（ページネーション等）は全幅 */
.main > *:not(.a-wrap) {
  flex: 0 0 100% !important;
  width: 100% !important;
}

/* カード内：縦並びに強制 */
.main > .a-wrap .entry-card {
  display: flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
  color: var(--t1) !important;
}

/* サムネイル：上部・全幅 */
.main > .a-wrap .entry-card-thumb {
  width: 100% !important;
  float: none !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}
.main > .a-wrap .entry-card-thumb img {
  width: 100% !important;
  height: 160px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s cubic-bezier(0.4,0,0.2,1) !important;
}
.main > .a-wrap:hover .entry-card-thumb img {
  transform: scale(1.07) !important;
}

/* コンテンツ：画像の下 */
.main > .a-wrap .entry-card-content {
  margin-left: 0 !important;
  padding: 0.75rem 0.875rem !important;
  background: transparent !important;
  flex: 1 !important;
}

/* タイトル */
.main > .a-wrap .entry-card-title {
  font-family: var(--serif) !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: var(--t1) !important;
  line-height: 1.5 !important;
  margin: 0.2rem 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* 抜粋 */
.main > .a-wrap .entry-card-snippet {
  color: var(--t2) !important;
  font-size: 0.75rem !important;
  margin-top: 0.35rem !important;
  line-height: 1.55 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* カテゴリバッジ */
.cat-label, .entry-card-category-label {
  background: var(--red) !important;
  color: #fff !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  padding: 2px 7px !important;
  border-radius: 3px !important;
}

/* ── レスポンシブ（グリッド） ── */
@media screen and (max-width: 1255px) {
  .main > .a-wrap {
    flex: 0 0 calc(50% - 8px) !important;
    width: calc(50% - 8px) !important;
  }
}
@media (max-width: 768px) {
  .main {
    gap: 12px !important;
  }
  .main > .a-wrap {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   記事ページ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.article {
  background: var(--s1);
  border: 1px solid var(--bd);
  border-radius: 12px;
  padding: 2rem 2.25rem;
}
.entry-title {
  font-family: var(--serif);
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--t1);
  border-left: 4px solid var(--cta);
  padding-left: 1rem;
  margin-bottom: 1.75rem;
  line-height: 1.4;
}
.article h2 {
  font-family: var(--serif);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--t1);
  border-bottom: 2px solid var(--bd);
  padding-bottom: 0.5rem;
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
  position: relative;
}
.article h2::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0;
  width: 56px; height: 2px;
  background: var(--cta);
}
.article h3 {
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--t1);
  padding-left: 0.75rem;
  border-left: 3px solid var(--red);
  margin-top: 2rem;
  margin-bottom: 1rem;
}
.article p { color: var(--t1); line-height: 1.85; }
.article a { color: var(--lk); text-decoration: none; border-bottom: 1px solid rgba(79,164,192,0.3); }
.article a:hover { color: #6bc4e0; }

/* ── 購入ボタン ── */
@keyframes cta-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(245,159,0,0.55); }
  70%  { box-shadow: 0 0 0 14px rgba(245,159,0,0); }
  100% { box-shadow: 0 0 0 0 rgba(245,159,0,0); }
}
@keyframes cta-shimmer {
  0%   { left: -80%; }
  100% { left: 120%; }
}
.btn-purchase, a.btn-purchase {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--cta) 0%, #d98b00 100%);
  color: #000 !important;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  padding: 0.9rem 2.25rem;
  border-radius: 6px;
  text-decoration: none !important;
  animation: cta-pulse 2.5s 1s infinite;
  transition: transform 0.15s ease;
  position: relative;
  overflow: hidden;
}
.btn-purchase::after {
  content: '';
  position: absolute;
  top: 0; left: -80%;
  width: 50%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.28), transparent);
  animation: cta-shimmer 3s 2s infinite;
  pointer-events: none;
}
.btn-purchase:hover {
  transform: translateY(-2px) scale(1.02);
  animation: none;
  box-shadow: 0 8px 28px rgba(245,159,0,0.45);
}

/* ── 購入ボックス ── */
.purchase-box {
  background: var(--s2);
  border: 1px solid var(--bd);
  border-radius: 10px;
  padding: 1.75rem;
  margin: 2rem 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.purchase-box::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--cta), var(--red));
}
.purchase-price {
  display: block;
  font-family: var(--serif);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--cta);
  margin-bottom: 0.875rem;
}

/* ── スコアバッジ ── */
.score-badge {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 80px; height: 80px;
  border-radius: 50%;
  border: 3px solid var(--t3);
  color: var(--t2);
  font-weight: 800;
  vertical-align: middle;
}
.score-badge[data-score="excellent"] { border-color: #3fb950; color: #3fb950; }
.score-badge[data-score="good"]      { border-color: var(--cta); color: var(--cta); }
.score-badge[data-score="average"]   { border-color: var(--t2); color: var(--t2); }
.score-badge[data-score="poor"]      { border-color: var(--red); color: var(--red); }
.score-badge .score-value { font-size: 1.65rem; line-height: 1; font-family: Georgia, serif; }
.score-badge .score-label { font-size: 0.58rem; letter-spacing: 0.04em; margin-top: 2px; }

/* ── ゲーム情報ボックス ── */
.game-info-box { background: var(--s2); border: 1px solid var(--bd); border-radius: 10px; overflow: hidden; margin: 1.5rem 0; }
.game-info-header { background: var(--s3); padding: 0.55rem 1rem; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--t2); border-bottom: 1px solid var(--bd); }
.game-info-row { display: grid; grid-template-columns: 110px 1fr; border-bottom: 1px solid rgba(48,54,61,0.5); }
.game-info-row:last-child { border-bottom: none; }
.game-info-key { background: rgba(22,27,34,0.4); color: var(--t2); padding: 0.6rem 1rem; font-weight: 600; font-size: 0.8rem; }
.game-info-val { color: var(--t1); padding: 0.6rem 1rem; font-size: 0.875rem; }

/* ── レビューサマリー ── */
.review-summary { background: var(--s2); border: 1px solid var(--bd); border-radius: 10px; padding: 1.5rem 1.75rem; margin: 2rem 0; }
.review-summary-title { font-family: var(--serif); font-size: 1.05rem; font-weight: 700; color: var(--t1); padding-bottom: 0.625rem; border-bottom: 1px solid var(--bd); margin-bottom: 1rem; }
.review-summary ul { list-style: none; padding: 0; margin: 0 0 1.25rem; }
.review-summary ul li { padding: 0.4rem 0 0.4rem 1.5rem; position: relative; color: var(--t1); font-size: 0.9rem; }
.review-summary ul li::before { content: '▶'; position: absolute; left: 0; color: var(--cta); font-size: 0.62rem; top: 0.58rem; }

/* ── アフィリエイト開示 ── */
.affiliate-disclosure { background: rgba(22,27,34,0.7); border: 1px solid var(--bd); border-radius: 6px; padding: 0.6rem 1rem; font-size: 0.75rem; color: var(--t3); margin: 1rem 0; }

/* ── スクロールリビール ── */
.scroll-reveal { opacity: 0; transform: translateY(22px); transition: opacity 0.6s cubic-bezier(0.4,0,0.2,1), transform 0.6s cubic-bezier(0.4,0,0.2,1); }
.scroll-reveal.is-revealed { opacity: 1; transform: translateY(0); }

/* ── スティッキーCTAバー ── */
.sticky-cta-bar { position: fixed; left: 0; right: 0; z-index: 900; pointer-events: none; transition: transform 0.35s cubic-bezier(0.4,0,0.2,1); }
@media (min-width: 769px) {
  .sticky-cta-bar { top: 0; transform: translateY(-100%); }
  .sticky-cta-bar.is-visible { transform: translateY(0); pointer-events: auto; }
  .admin-bar .sticky-cta-bar { top: 32px; }
}
@media (max-width: 768px) {
  .sticky-cta-bar { bottom: 0; top: auto; transform: translateY(100%); }
  .sticky-cta-bar.is-visible { transform: translateY(0); pointer-events: auto; }
}
.sticky-cta-inner { display: flex; align-items: center; gap: 1rem; padding: 0.625rem 1.5rem; background: rgba(22,27,34,0.97); backdrop-filter: blur(12px); border-bottom: 1px solid var(--bd); }
@media (max-width: 768px) { .sticky-cta-inner { border-bottom: none; border-top: 1px solid var(--bd); padding: 0.75rem 1rem; } }
.sticky-cta-game { flex: 1; min-width: 0; overflow: hidden; }
.sticky-cta-label { display: inline-block; background: var(--s3); color: var(--t2); font-size: 0.63rem; font-weight: 700; letter-spacing: 0.08em; padding: 1px 6px; border-radius: 3px; margin-right: 0.5rem; }
.sticky-cta-title { font-family: var(--serif); font-size: 0.875rem; color: var(--t1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sticky-cta-price { font-family: var(--serif); font-size: 1rem; font-weight: 700; color: var(--cta); white-space: nowrap; padding: 0 0.5rem; }
.sticky-cta-btn { background: var(--cta); color: #000 !important; font-size: 0.85rem; font-weight: 800; padding: 0.5rem 1.25rem; border-radius: 5px; text-decoration: none !important; white-space: nowrap; flex-shrink: 0; transition: background var(--tr), transform 0.15s ease; }
.sticky-cta-btn:hover { background: var(--cta-h); transform: scale(1.03); }

/* ── トップに戻るボタン ── */
#go-to-top { display: none !important; }
.back-to-top { position: fixed; bottom: 2rem; right: 1.5rem; width: 44px; height: 44px; background: var(--s2); border: 1px solid var(--bd); border-radius: 50%; color: var(--t2); font-size: 1.1rem; display: flex; align-items: center; justify-content: center; cursor: pointer; opacity: 0; transform: translateY(16px); transition: opacity var(--tr), transform var(--tr), background var(--tr), color var(--tr); z-index: 800; }
.back-to-top.is-visible { opacity: 1; transform: translateY(0); }
.back-to-top:hover { background: var(--s3); color: var(--cta); }
@media (max-width: 768px) { .has-sticky-cta .back-to-top { bottom: 5rem; } }

/* ── Sidebar ── */
.widget { background: var(--s1); border: 1px solid var(--bd); border-radius: var(--r); padding: 1.25rem; margin-bottom: 1.25rem; }
.widget-title { font-family: var(--serif); font-size: 0.9rem; font-weight: 700; color: var(--t1); padding-bottom: 0.625rem; border-bottom: 1px solid var(--bd); margin-bottom: 0.875rem; position: relative; }
.widget-title::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 32px; height: 1px; background: var(--cta); }

/* ── Footer ── */
#footer { background: var(--s1) !important; border-top: 1px solid var(--bd); color: var(--t2); font-size: 0.8rem; }

/* ── ページネーション ── */
.pagination a, .pagination span { background: var(--s2) !important; border: 1px solid var(--bd) !important; color: var(--t2) !important; border-radius: 4px !important; }
.pagination .current { background: var(--cta) !important; color: #000 !important; border-color: var(--cta) !important; }

/* ── 記事ページ レスポンシブ ── */
@media (max-width: 768px) {
  .entry-title { font-size: 1.35rem; }
  .article { padding: 1rem; border-radius: 8px; }
  .btn-purchase { width: 100%; font-size: 1rem; padding: 1rem; }
  .gallery-sample { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .sticky-cta-price { display: none; }
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   グリッド確定版 v4.5
   実構造: .main > article > a.a-wrap
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* mainをgridに（articleが自動でgridアイテムになる） */
.main {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
  background: transparent !important;
}

/* article以外は全幅 */
.main > :not(article) {
  grid-column: 1 / -1 !important;
}

/* articleの白背景・余白をリセット */
.main > article {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* a.a-wrap をarticle内で全幅カード化 */
.main > article > .a-wrap {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  background: var(--s1) !important;
  border: 1px solid var(--bd) !important;
  border-radius: var(--r) !important;
  overflow: hidden !important;
  text-decoration: none !important;
  color: var(--t1) !important;
  transition: transform var(--tr), box-shadow var(--tr), border-color var(--tr) !important;
  box-sizing: border-box !important;
}
.main > article > .a-wrap:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.5), 0 0 24px rgba(245,159,0,0.12) !important;
  border-color: rgba(245,159,0,0.4) !important;
}
.main > article > .a-wrap:hover .entry-card-thumb img {
  transform: scale(1.07) !important;
}

/* サムネイル */
.entry-card-thumb {
  width: 100% !important;
  float: none !important;
  overflow: hidden !important;
}
.entry-card-thumb img {
  width: 100% !important;
  height: 160px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s ease !important;
}

/* コンテンツ */
.entry-card-content {
  margin-left: 0 !important;
  padding: 0.75rem 0.875rem !important;
  background: transparent !important;
  flex: 1 !important;
}

/* タイトル */
.entry-card-title {
  font-family: var(--serif) !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: var(--t1) !important;
  line-height: 1.5 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* 抜粋 */
.entry-card-snippet {
  color: var(--t2) !important;
  font-size: 0.75rem !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* レスポンシブ */
@media screen and (max-width: 1255px) {
  .main {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 768px) {
  .main {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}
/* ============================================================
 * style-additions.css
 * 既存の style.css の末尾にこの内容を追記してください
 * ============================================================ */
/* ============================================================
 * style-additions.css  v3.1
 * style.css の末尾の追記をこの内容で丸ごと置き換え
 * ============================================================ */

/* ── コンテナ背景の透過（Cocoonデフォルトの白を消す）── */
.sidebar,
.sidebar-in,
.main,
.content-in,
.article,
.article-body,
.entry-content,
#content,
#container,
.content-wrap,
.wrap {
  background: transparent !important;
}

/* ── ウィジェット ─────────────────────────────────────── */
.widget,
.widget-wrap {
  background: var(--s1) !important;
  border: 1px solid var(--bd) !important;
  border-radius: 8px !important;
  padding: 1rem !important;
  margin-bottom: 1rem !important;
  color: var(--t2) !important;
  box-sizing: border-box !important;
}

.widget-title,
.widgettitle {
  color: var(--t1) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  padding-bottom: .5rem !important;
  margin-bottom: .75rem !important;
  border-bottom: 1px solid var(--bd) !important;
  background: transparent !important;
}

/* 検索ウィジェット */
.widget .search-box,
.widget form {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.widget input[type="text"],
.widget input[type="search"] {
  background: var(--bg) !important;
  border: 1px solid var(--bd) !important;
  color: var(--t1) !important;
  border-radius: 4px !important;
  padding: 6px 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.widget input[type="submit"],
.widget button[type="submit"] {
  background: var(--s3) !important;
  color: var(--t2) !important;
  border: 1px solid var(--bd) !important;
  border-radius: 4px !important;
  padding: 6px 12px !important;
  cursor: pointer !important;
}

/* ウィジェット内リスト */
.widget ul {
  padding-left: 0 !important;
  list-style: none !important;
  margin: 0 !important;
}
.widget ul li {
  padding: 5px 0 !important;
  border-bottom: 1px solid var(--bd) !important;
  background: transparent !important;
}
.widget ul li:last-child { border-bottom: none !important; }
.widget ul li a {
  color: var(--t2) !important;
  text-decoration: none !important;
}
.widget ul li a:hover { color: var(--lk) !important; }

.widget select {
  background: var(--bg) !important;
  color: var(--t1) !important;
  border: 1px solid var(--bd) !important;
  border-radius: 4px !important;
  padding: 5px 8px !important;
  width: 100% !important;
}

/* カレンダーウィジェット */
.widget_calendar table {
  background: transparent !important;
  color: var(--t2) !important;
  width: 100% !important;
}
.widget_calendar th,
.widget_calendar td {
  border-color: var(--bd) !important;
  padding: 3px !important;
}
.widget_calendar caption {
  color: var(--t1) !important;
  margin-bottom: .5rem !important;
}

/* ── 記事内テーブル ──────────────────────────────────── */
.entry-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: var(--s1) !important;
  border: 1px solid var(--bd) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  margin-bottom: 1.5rem !important;
  box-sizing: border-box !important;
}
.entry-content th,
.entry-content td {
  padding: .6rem .75rem !important;
  border: 1px solid var(--bd) !important;
  color: var(--t2) !important;
  font-size: .9rem !important;
}
.entry-content th {
  background: var(--s2) !important;
  color: var(--t1) !important;
  font-weight: 600 !important;
  width: 30% !important;
  white-space: nowrap !important;
}

/* ── ゲーム情報ボックス ([game_info]) ───────────────── */
.game-info-box {
  background: var(--s1) !important;
  border: 1px solid var(--bd) !important;
  border-radius: 8px !important;
  padding: 1.25rem !important;
  margin: 1.5rem 0 !important;
  box-sizing: border-box !important;
}
.game-info-box table {
  margin-bottom: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  width: 100% !important;
}
.game-info-box th,
.game-info-box td {
  border-color: var(--bd) !important;
}

/* ── 購入ボタン ([purchase_button]) ─────────────────── */
.purchase-btn,
.purchase-button {
  display: block !important;
  text-align: center !important;
  margin: 1.5rem 0 !important;
}
.purchase-btn a,
.purchase-button a,
a.purchase-btn,
a.purchase-button {
  display: inline-block !important;
  background: var(--cta) !important;
  color: #0d1117 !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  padding: 14px 32px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  animation: cta-pulse 2s ease-in-out infinite !important;
}
.purchase-btn a:hover,
.purchase-button a:hover {
  background: var(--cta-h) !important;
  color: #0d1117 !important;
}

/* ── スコアバッジ ([game_score]) ─────────────────────── */
.game-score-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: .5rem !important;
  background: var(--s2) !important;
  border: 1px solid var(--bd) !important;
  border-radius: 8px !important;
  padding: .5rem 1rem !important;
  margin: .5rem 0 !important;
}
.game-score-badge .score-num {
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  font-family: monospace !important;
}
.game-score-badge[data-score="excellent"] .score-num { color: #f59f00 !important; }
.game-score-badge[data-score="good"]      .score-num { color: #3fb950 !important; }
.game-score-badge[data-score="average"]   .score-num { color: #8b949e !important; }
.game-score-badge[data-score="poor"]      .score-num { color: #c8312a !important; }

/* ── コメントエリア ──────────────────────────────────── */
.comment-area,
#comments,
.comments-area {
  background: var(--s1) !important;
  border: 1px solid var(--bd) !important;
  border-radius: 8px !important;
  padding: 1.25rem !important;
  margin-top: 2rem !important;
}
.comment-title,
.comments-title {
  color: var(--t1) !important;
  font-size: 1rem !important;
  border-bottom: 1px solid var(--bd) !important;
  padding-bottom: .5rem !important;
  margin-bottom: 1rem !important;
}
.comment-list .comment-body,
.comment-list article {
  background: var(--s2) !important;
  border: 1px solid var(--bd) !important;
  border-radius: 6px !important;
  padding: .75rem 1rem !important;
  margin-bottom: .75rem !important;
}
.comment-list .comment-author,
.comment-list .comment-metadata {
  color: var(--t2) !important;
  font-size: .8rem !important;
}
.comment-list .comment-content p {
  color: var(--t1) !important;
  font-size: .9rem !important;
}
.comment-form textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"] {
  background: var(--bg) !important;
  border: 1px solid var(--bd) !important;
  color: var(--t1) !important;
  border-radius: 4px !important;
  padding: 8px 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.comment-form input[type="submit"] {
  background: var(--s3) !important;
  color: var(--t1) !important;
  border: 1px solid var(--bd) !important;
  border-radius: 6px !important;
  padding: 8px 20px !important;
  cursor: pointer !important;
}
.comment-form input[type="submit"]:hover {
  background: var(--lk) !important;
  color: #fff !important;
}

/* ── 関連記事カード ──────────────────────────────────── */
.related-entry-card-wrap,
.related-entry-card {
  background: var(--s1) !important;
  border: 1px solid var(--bd) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}
.related-entry-card-title {
  color: var(--t1) !important;
  font-size: .85rem !important;
}
.related-entry-card-content {
  padding: .5rem .75rem !important;
}

/* ── ページネーション ─────────────────────────────────── */
.pagination .page-numbers,
.nav-links a {
  background: var(--s2) !important;
  border: 1px solid var(--bd) !important;
  color: var(--t2) !important;
  border-radius: 4px !important;
  padding: 6px 12px !important;
  text-decoration: none !important;
}
.pagination .page-numbers.current,
.pagination .current {
  background: var(--red) !important;
  color: #fff !important;
  border-color: var(--red) !important;
}
.pagination .page-numbers:hover { color: var(--lk) !important; }
