/* ============================================================
   アスリート名鑑 - 記事の装飾（共通）
   このファイルは「フロント」と「投稿編集画面」の両方から読み込まれます。
   ここだけを直せば、書いているときと公開後の見た目が必ず一致します。

   色は var(--x, #既定値) 形式で書いています。
   編集画面ではテーマ変数が無いため、既定値（16進数）が使われます。
   ============================================================ */

/* ============================================================
   1. 文字装飾（ツールバーの「∨」から適用）
   ============================================================ */

/* --- アンダーマーカー（蛍光ペン風） --- */
mark.marker, .marker,
mark.marker-orange, .marker-orange,
mark.marker-green, .marker-green,
mark.marker-blue, .marker-blue,
mark.marker-pink, .marker-pink {
  color: inherit;
  font-weight: 700;
  padding: 0 2px;
  background-color: transparent;
}
mark.marker,        .marker        { background-image: linear-gradient(transparent 58%, #ffe08a 58%); }
mark.marker-orange, .marker-orange { background-image: linear-gradient(transparent 58%, #ffcdad 58%); }
mark.marker-green,  .marker-green  { background-image: linear-gradient(transparent 58%, #bfe0da 58%); }
mark.marker-blue,   .marker-blue   { background-image: linear-gradient(transparent 58%, #c5ddf2 58%); }
mark.marker-pink,   .marker-pink   { background-image: linear-gradient(transparent 58%, #f7cdd8 58%); }

/* --- 文字色つきの強調 --- */
.text-accent { color: var(--c-accent-d, #1546c8); font-weight: 700; }
.text-red    { color: #d02b3a; font-weight: 700; }
.text-green  { color: #12805e; font-weight: 700; }

/* --- 下線 --- */
.underline-dot   { border-bottom: 3px dotted var(--c-accent, #1f5eff); padding-bottom: 1px; font-weight: 700; }
.underline-solid { border-bottom: 2px solid var(--c-accent, #1f5eff); padding-bottom: 1px; font-weight: 700; }

/* --- 文字サイズ・ラベル --- */
.text-big   { font-size: 1.25em; font-weight: 700; }
.text-small { font-size: .84em; color: var(--c-ink-soft, #5d6b80); }
.text-badge {
  display: inline-block;
  background: var(--c-accent, #1f5eff);
  color: #fff;
  font-size: .8em;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 999px;
  margin: 0 2px;
  line-height: 1.6;
}

/* ============================================================
   2. ボックス（段落／グループの「スタイル」から適用）
   ============================================================ */
.box-point,   .is-style-box-point,
.box-memo,    .is-style-box-memo,
.box-warning, .is-style-box-warning,
.box-danger,  .is-style-box-danger,
.box-ok,      .is-style-box-ok,
.box-ng,      .is-style-box-ng,
.box-qa,      .is-style-box-qa,
.box-voice,   .is-style-box-voice,
.box-rule,    .is-style-box-rule,
.box-tactics, .is-style-box-tactics,
.box-data,    .is-style-box-data,
.box-drill,   .is-style-box-drill,
.box-injury,  .is-style-box-injury,
.box-plain,   .is-style-box-plain,
.box-fill,    .is-style-box-fill {
  border-radius: 10px;
  padding: 18px 20px;
  margin: 0 0 24px;
}

/* ボックス内の最後の要素は余白を詰める（グループブロック対応） */
.box-point > *:last-child,   .is-style-box-point > *:last-child,
.box-memo > *:last-child,    .is-style-box-memo > *:last-child,
.box-warning > *:last-child, .is-style-box-warning > *:last-child,
.box-danger > *:last-child,  .is-style-box-danger > *:last-child,
.box-ok > *:last-child,      .is-style-box-ok > *:last-child,
.box-ng > *:last-child,      .is-style-box-ng > *:last-child,
.box-qa > *:last-child,      .is-style-box-qa > *:last-child,
.box-voice > *:last-child,   .is-style-box-voice > *:last-child,
.box-rule > *:last-child,    .is-style-box-rule > *:last-child,
.box-tactics > *:last-child, .is-style-box-tactics > *:last-child,
.box-data > *:last-child,    .is-style-box-data > *:last-child,
.box-drill > *:last-child,   .is-style-box-drill > *:last-child,
.box-injury > *:last-child,  .is-style-box-injury > *:last-child,
.box-plain > *:last-child,   .is-style-box-plain > *:last-child,
.box-fill > *:last-child,    .is-style-box-fill > *:last-child { margin-bottom: 0; }

/* ラベル（ボックス上部の見出し。本文だけ書けば自動で付きます） */
.box-point::before,   .is-style-box-point::before,
.box-memo::before,    .is-style-box-memo::before,
.box-warning::before, .is-style-box-warning::before,
.box-danger::before,  .is-style-box-danger::before,
.box-ok::before,      .is-style-box-ok::before,
.box-ng::before,      .is-style-box-ng::before,
.box-qa::before,      .is-style-box-qa::before,
.box-voice::before,   .is-style-box-voice::before,
.box-rule::before,    .is-style-box-rule::before,
.box-tactics::before, .is-style-box-tactics::before,
.box-data::before,    .is-style-box-data::before,
.box-drill::before,   .is-style-box-drill::before,
.box-injury::before,  .is-style-box-injury::before {
  display: block;
  font-family: var(--font-round, "Zen Kaku Gothic New", sans-serif);
  font-weight: 700;
  font-size: .9rem;
  margin-bottom: 8px;
}

/* 💡 ポイント（コツ・おすすめ） */
.box-point, .is-style-box-point { background: #e9f0ff; border: 1.5px solid #bcd0ff; }
.box-point::before, .is-style-box-point::before { content: "ポイント"; color: var(--c-accent-d, #1546c8); }

/* 📝 メモ（補足・豆知識） */
.box-memo, .is-style-box-memo { background: #eaf6f1; border: 1.5px solid #bfe0d2; }
.box-memo::before, .is-style-box-memo::before { content: "メモ"; color: #12805e; }

/* ⚠️ 注意（気をつけること） */
.box-warning, .is-style-box-warning { background: #fdf0ef; border: 1.5px solid #f0c6c0; }
.box-warning::before, .is-style-box-warning::before { content: "注意"; color: #d02b3a; }

/* 🚨 重要・危険（けが・故障につながること） */
.box-danger, .is-style-box-danger {
  background: #fdeceb; border: 2px solid #d9544a;
}
.box-danger::before, .is-style-box-danger::before { content: "重要"; color: #b23b31; }

/* ✅ OK例 */
.box-ok, .is-style-box-ok { background: #eef7f0; border: 1.5px solid #c3e0cb; }
.box-ok::before, .is-style-box-ok::before { content: "OK例"; color: #3f8353; }

/* ❌ NG例 */
.box-ng, .is-style-box-ng { background: #fbf0f0; border: 1.5px solid #eec9c6; }
.box-ng::before, .is-style-box-ng::before { content: "NG例"; color: #d02b3a; }

/* ❓ Q&A */
.box-qa, .is-style-box-qa { background: #f2f2fb; border: 1.5px solid #d3d3ee; }
.box-qa::before, .is-style-box-qa::before { content: "よくある質問"; color: #5f5f9c; }

/* 💬 体験談 */
.box-voice, .is-style-box-voice { background: #f2f5fa; border: 1.5px dashed #b9c6da; }
.box-voice::before, .is-style-box-voice::before { content: "選手・監督の声"; color: #3c5273; }

/* 📖 ルール解説 */
.box-rule, .is-style-box-rule { background: #eef1ff; border: 1.5px solid #c6cdff; }
.box-rule::before, .is-style-box-rule::before { content: "ルール解説"; color: #3b45b5; }

/* 🧠 戦術ポイント */
.box-tactics, .is-style-box-tactics { background: #f1edff; border: 1.5px solid #cfc2f5; }
.box-tactics::before, .is-style-box-tactics::before { content: "戦術ポイント"; color: #6042c0; }

/* 📊 データ・記録 */
.box-data, .is-style-box-data { background: #eaf6f1; border: 1.5px solid #bfe0d2; }
.box-data::before, .is-style-box-data::before { content: "データ・記録"; color: #12805e; }

/* 🏃 練習ドリル */
.box-drill, .is-style-box-drill { background: #fff4ea; border: 1.5px solid #ffd0a8; }
.box-drill::before, .is-style-box-drill::before { content: "練習ドリル"; color: #c2600d; }

/* 🩹 ケガ予防・安全 */
.box-injury, .is-style-box-injury { background: #fff0f3; border: 1.5px solid #f8c3ce; }
.box-injury::before, .is-style-box-injury::before { content: "ケガ予防・安全"; color: #b81d47; }

/* 枠線だけ・背景だけ（ラベルなし） */
.box-plain, .is-style-box-plain { background: #fff; border: 1.5px solid var(--c-line, #e2e8f2); }
.box-fill,  .is-style-box-fill  { background: var(--c-bg, #f2f5fa); }

/* ============================================================
   3. 吹き出し（会話形式）
   ============================================================ */
.fukidashi-l,  .is-style-fukidashi-l,
.fukidashi-r,  .is-style-fukidashi-r,
.fukidashi-l2, .is-style-fukidashi-l2,
.fukidashi-r2, .is-style-fukidashi-r2 {
  position: relative;
  padding: 14px 18px;
  border-radius: 14px;
  margin: 0 0 28px;
  min-height: 54px;
}
.fukidashi-l,  .is-style-fukidashi-l,
.fukidashi-l2, .is-style-fukidashi-l2 { margin-left: 70px; }
.fukidashi-r,  .is-style-fukidashi-r,
.fukidashi-r2, .is-style-fukidashi-r2 { margin-right: 70px; }

.fukidashi-l,  .is-style-fukidashi-l  { background: #fff;    border: 1.5px solid var(--c-line, #e2e8f2); }
.fukidashi-r,  .is-style-fukidashi-r  { background: #e9f0ff; border: 1.5px solid #bcd0ff; }
.fukidashi-l2, .is-style-fukidashi-l2 { background: #eef1f6; border: 1.5px solid #d5dceb; }
.fukidashi-r2, .is-style-fukidashi-r2 { background: #eaf6f1; border: 1.5px solid #bfe0d2; }

/* アイコン（外観 > カスタマイズ > 記事の装飾 で画像・絵文字を変更できます） */
.fukidashi-l::before,  .is-style-fukidashi-l::before,
.fukidashi-r::before,  .is-style-fukidashi-r::before,
.fukidashi-l2::before, .is-style-fukidashi-l2::before,
.fukidashi-r2::before, .is-style-fukidashi-r2::before {
  position: absolute; top: -2px;
  width: 54px; height: 54px; border-radius: 50%;
  display: grid; place-items: center;
  font-size: 27px;
  border: 1.5px solid var(--c-line, #e2e8f2);
}
.fukidashi-l::before,  .is-style-fukidashi-l::before  { content: "🙋"; left: -70px;  background: #eaf6f1; }
.fukidashi-r::before,  .is-style-fukidashi-r::before  { content: "🎙"; right: -70px; background: #e9f0ff; }
.fukidashi-l2::before, .is-style-fukidashi-l2::before { content: "🧢"; left: -70px;  background: #eef1f6; }
.fukidashi-r2::before, .is-style-fukidashi-r2::before { content: "🧑‍🏫"; right: -70px; background: #eaf6f1; }

/* しっぽ */
.fukidashi-l::after,  .is-style-fukidashi-l::after,
.fukidashi-r::after,  .is-style-fukidashi-r::after,
.fukidashi-l2::after, .is-style-fukidashi-l2::after,
.fukidashi-r2::after, .is-style-fukidashi-r2::after {
  content: ""; position: absolute; top: 18px;
  border: 8px solid transparent;
}
.fukidashi-l::after,  .is-style-fukidashi-l::after  { left: -15px;  border-right-color: #fff; }
.fukidashi-r::after,  .is-style-fukidashi-r::after  { right: -15px; border-left-color: #e9f0ff; }
.fukidashi-l2::after, .is-style-fukidashi-l2::after { left: -15px;  border-right-color: #eef1f6; }
.fukidashi-r2::after, .is-style-fukidashi-r2::after { right: -15px; border-left-color: #eaf6f1; }

/* スマホではアイコンを小さくして本文幅を確保 */
@media (max-width: 600px) {
  .fukidashi-l,  .is-style-fukidashi-l,
  .fukidashi-l2, .is-style-fukidashi-l2 { margin-left: 56px; }
  .fukidashi-r,  .is-style-fukidashi-r,
  .fukidashi-r2, .is-style-fukidashi-r2 { margin-right: 56px; }
  .fukidashi-l::before,  .is-style-fukidashi-l::before,
  .fukidashi-r::before,  .is-style-fukidashi-r::before,
  .fukidashi-l2::before, .is-style-fukidashi-l2::before,
  .fukidashi-r2::before, .is-style-fukidashi-r2::before {
    width: 44px; height: 44px; font-size: 22px;
  }
  .fukidashi-l::before,  .is-style-fukidashi-l::before,
  .fukidashi-l2::before, .is-style-fukidashi-l2::before { left: -56px; }
  .fukidashi-r::before,  .is-style-fukidashi-r::before,
  .fukidashi-r2::before, .is-style-fukidashi-r2::before { right: -56px; }
}

/* ============================================================
   4. リスト（リストブロックの「スタイル」から適用）
   ============================================================ */
.is-style-check-list, .check-list,
.is-style-good-list,  .good-list,
.is-style-bad-list,   .bad-list,
.is-style-arrow-list, .arrow-list {
  list-style: none !important;
  margin: 24px 0 !important;
  padding: 0 !important;
}
.is-style-check-list li, .check-list li,
.is-style-good-list li,  .good-list li,
.is-style-bad-list li,   .bad-list li,
.is-style-arrow-list li, .arrow-list li {
  position: relative;
  padding: 0 0 0 30px;
  margin-bottom: 10px;
  list-style: none;
}
.is-style-check-list li::before, .check-list li::before,
.is-style-good-list li::before,  .good-list li::before,
.is-style-bad-list li::before,   .bad-list li::before,
.is-style-arrow-list li::before, .arrow-list li::before {
  position: absolute; left: 0; top: 0;
  font-weight: 700;
}
.is-style-check-list li::before, .check-list li::before { content: "✔"; color: #12805e; }
.is-style-good-list li::before,  .good-list li::before  { content: "◯"; color: #3f8353; }
.is-style-bad-list li::before,   .bad-list li::before   { content: "×"; color: #d02b3a; font-size: 1.1em; }
.is-style-arrow-list li::before, .arrow-list li::before { content: "→"; color: var(--c-accent, #1f5eff); }

/* ① 手順（ステップ）リスト */
.is-style-step-list, .step-list {
  counter-reset: step;
  list-style: none !important;
  margin: 24px 0 !important;
  padding: 0 !important;
}
.is-style-step-list li, .step-list li {
  counter-increment: step;
  position: relative;
  padding: 0 0 22px 56px;
  margin: 0;
  list-style: none;
}
.is-style-step-list li::before, .step-list li::before {
  content: counter(step);
  position: absolute; left: 0; top: -2px;
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--c-accent, #1f5eff); color: #fff;
  font-family: var(--font-round, "Zen Kaku Gothic New", sans-serif);
  font-weight: 700; font-size: .95rem;
  display: grid; place-items: center;
}
.is-style-step-list li:not(:last-child)::after, .step-list li:not(:last-child)::after {
  content: "";
  position: absolute; left: 16px; top: 36px; bottom: 6px;
  width: 2px; background: var(--c-line, #e2e8f2);
}
.is-style-step-list li:last-child, .step-list li:last-child { padding-bottom: 0; }

/* ============================================================
   5. 表（テーブルブロックの「スタイル」から適用）
   ============================================================ */
/* .post-body       … 公開ページ
   #tinymce         … クラシックエディターのビジュアル画面
   .editor-styles-wrapper … ブロックエディター
   .sn-deco-wrap    … 管理画面の「装飾の見本」 */
.wp-block-table table,
.post-body table,
#tinymce table,
.editor-styles-wrapper table,
.sn-deco-wrap table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  font-size: .92rem;
  background: #fff;
}
#tinymce table, .sn-deco-wrap table { margin: 24px 0; }
.wp-block-table { margin: 24px 0; overflow-x: auto; }
.wp-block-table th, .wp-block-table td,
.post-body th, .post-body td,
#tinymce th, #tinymce td,
.editor-styles-wrapper th, .editor-styles-wrapper td,
.sn-deco-wrap th, .sn-deco-wrap td {
  border: 1px solid var(--c-line, #e2e8f2);
  padding: 10px 14px;
  text-align: left;
  vertical-align: top;
}
.wp-block-table th, .post-body th,
#tinymce th, .editor-styles-wrapper th, .sn-deco-wrap th {
  background: var(--c-bg, #f2f5fa);
  font-weight: 700;
}
.wp-block-table tbody tr:nth-child(even) td,
.post-body tbody tr:nth-child(even) td,
#tinymce tbody tr:nth-child(even) td,
.sn-deco-wrap tbody tr:nth-child(even) td { background: #f8fafd; }
.wp-block-table figcaption { margin-top: 8px; }

/* 比較表：1列目を見出しとして色分け */
.is-style-sn-table-comp tbody th,
.is-style-sn-table-comp tbody td:first-child {
  background: var(--c-bg, #f2f5fa);
  font-weight: 700;
  white-space: nowrap;
}
.is-style-sn-table-comp thead th {
  background: var(--c-accent, #1f5eff);
  color: #fff;
  text-align: center;
}
.is-style-sn-table-comp td { text-align: center; }
.is-style-sn-table-comp td:first-child { text-align: left; }

/* コンパクト表 */
.is-style-sn-table-slim table,
table.is-style-sn-table-slim { font-size: .84rem; }
.is-style-sn-table-slim th, .is-style-sn-table-slim td { padding: 6px 10px; }

/* スマホで横スクロールさせる（列が多い表向け） */
.is-style-sn-table-scroll,
.sn-scroll-table { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 24px 0; }
.is-style-sn-table-scroll table,
.sn-scroll-table table { min-width: 620px; margin: 0; }

/* ============================================================
   6. 見出し（見出しブロックの「スタイル」から適用）
   ============================================================ */
.is-style-head-fill {
  background: var(--c-bg, #f2f5fa);
  border-left: 6px solid var(--c-accent, #1f5eff);
  border-radius: 0 10px 10px 0;
  padding: 12px 18px !important;
}
.is-style-head-fill::after { display: none !important; }

.is-style-head-border {
  border-left: 6px solid var(--c-sub, #ff6b1a);
  padding: 2px 0 2px 16px !important;
}
.is-style-head-border::after { display: none !important; }

.is-style-head-num {
  counter-increment: sn-head;
  position: relative;
  padding-left: 46px !important;
}
.is-style-head-num::after { display: none !important; }
.is-style-head-num::before {
  content: counter(sn-head);
  position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--c-accent, #1f5eff); color: #fff;
  font-size: .95rem; font-weight: 700;
  display: grid; place-items: center;
}

.is-style-head-plain { padding-bottom: 0 !important; }
.is-style-head-plain::after { display: none !important; }

/* ============================================================
   7. 画像・引用・ボタン・区切り線
   ============================================================ */
.is-style-img-round img,  img.is-style-img-round  { border-radius: 18px; }
.is-style-img-frame img,  img.is-style-img-frame  { border: 6px solid #fff; box-shadow: 0 0 0 1px var(--c-line, #e2e8f2); border-radius: 6px; }
.is-style-img-shadow img, img.is-style-img-shadow { border-radius: 14px; box-shadow: 0 10px 28px rgba(80, 66, 48, .18); }
.is-style-img-circle img, img.is-style-img-circle { border-radius: 50%; aspect-ratio: 1 / 1; object-fit: cover; }

.is-style-quote-voice {
  position: relative;
  background: var(--c-bg, #f2f5fa);
  border: none !important;
  border-radius: 14px;
  padding: 22px 24px 18px !important;
  margin: 24px 0;
}
.is-style-quote-voice cite { color: var(--c-ink-soft, #5d6b80); font-size: .84rem; font-style: normal; }
.is-style-quote-voice { border-left: 4px solid var(--c-accent, #1f5eff) !important; }

.is-style-quote-plain {
  background: none !important;
  border-left: 3px solid var(--c-line, #e2e8f2) !important;
  border-radius: 0 !important;
  padding: 4px 0 4px 20px !important;
  color: var(--c-ink-soft, #5d6b80);
}

.is-style-btn-big .wp-block-button__link,
.wp-block-button.is-style-btn-big .wp-block-button__link {
  font-size: 1.05rem;
  font-weight: 700;
  padding: 18px 44px;
  border-radius: 999px;
}
.is-style-btn-outline .wp-block-button__link,
.wp-block-button.is-style-btn-outline .wp-block-button__link {
  background: transparent;
  color: var(--c-accent-d, #1546c8);
  border: 2px solid var(--c-accent, #1f5eff);
  border-radius: 999px;
}

.is-style-sep-dot {
  border: none !important;
  border-top: 3px dotted var(--c-line, #e2e8f2) !important;
  background: none !important;
  height: 0 !important;
  max-width: 220px;
  margin: 40px auto !important;
}
.is-style-sep-wave {
  border: none !important;
  background: none !important;
  height: 12px !important;
  max-width: 220px;
  margin: 40px auto !important;
  -webkit-mask: repeating-linear-gradient(90deg, #000 0 12px, transparent 12px 24px);
  background-color: var(--c-line, #e2e8f2) !important;
}

/* ============================================================
   8. スポーツ専用パーツ
   （試合結果・選手プロフィール・スタッツ表・ランキング）
   ============================================================ */

/* --- 🥇 ランキングリスト --- */
.is-style-medal-list, .medal-list {
  counter-reset: medal;
  list-style: none !important;
  margin: 24px 0 !important;
  padding: 0 !important;
}
.is-style-medal-list li, .medal-list li {
  counter-increment: medal;
  position: relative;
  list-style: none;
  padding: 12px 0 12px 52px;
  margin: 0;
  border-bottom: 1px solid var(--c-line, #e2e8f2);
  font-weight: 500;
}
.is-style-medal-list li:last-child, .medal-list li:last-child { border-bottom: none; }
.is-style-medal-list li::before, .medal-list li::before {
  content: counter(medal);
  position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 34px; height: 34px; border-radius: 4px;
  background: #48586f; color: #fff;
  font-family: var(--font-num, "Barlow Condensed", sans-serif);
  font-weight: 700; font-size: 1.05rem;
  display: grid; place-items: center;
}
.is-style-medal-list li:nth-child(1)::before, .medal-list li:nth-child(1)::before { background: #d4a017; }
.is-style-medal-list li:nth-child(2)::before, .medal-list li:nth-child(2)::before { background: #94a3b8; }
.is-style-medal-list li:nth-child(3)::before, .medal-list li:nth-child(3)::before { background: #b0703a; }

/* --- 📊 スタッツ表（数値を右そろえ） --- */
.is-style-sn-table-stats thead th {
  background: #16243d;
  color: #fff;
  text-align: center;
}
.is-style-sn-table-stats td { text-align: right; font-family: var(--font-num, "Barlow Condensed", sans-serif); font-size: 1.05em; letter-spacing: .02em; }
.is-style-sn-table-stats td:first-child { text-align: left; font-family: inherit; font-size: 1em; font-weight: 700; }
.is-style-sn-table-stats tbody tr:nth-child(even) td { background: #f4f7fc; }

/* --- 🏟 試合結果（スコアボード） --- */
.sn-score {
  background: linear-gradient(150deg, #0d1526 0%, #1b2f52 100%);
  color: #fff;
  border-radius: 12px;
  padding: 20px 22px 18px;
  margin: 28px 0;
  text-align: center;
}
.sn-score > *:last-child { margin-bottom: 0 !important; }
.sn-score .sn-score-meta {
  font-size: .78rem;
  color: rgba(255, 255, 255, .7);
  margin: 0 0 14px !important;
  letter-spacing: .02em;
}
.sn-score .sn-score-row,
.sn-score .wp-block-columns {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
}
.sn-score .sn-score-team,
.sn-score .wp-block-column { flex: 1 1 0; min-width: 0; margin: 0; }
.sn-score .sn-score-vs {
  flex: 0 0 70px;
  font-family: var(--font-num, "Barlow Condensed", sans-serif);
  font-size: 1.1rem;
  letter-spacing: .12em;
  color: rgba(255, 255, 255, .55);
}
.sn-score .sn-score-vs p { margin: 0 !important; }
.sn-score .sn-score-name {
  font-size: .92rem;
  font-weight: 700;
  margin: 0 0 2px !important;
  line-height: 1.4;
}
.sn-score .sn-score-num {
  font-family: var(--font-num, "Barlow Condensed", sans-serif);
  font-size: 3.1rem;
  font-weight: 700;
  line-height: 1;
  margin: 0 !important;
  color: #fff;
}
.sn-score .sn-score-note {
  font-size: .8rem;
  color: rgba(255, 255, 255, .74);
  border-top: 1px solid rgba(255, 255, 255, .18);
  padding-top: 10px;
  margin: 0 !important;
  text-align: left;
}
@media (max-width: 600px) {
  .sn-score .sn-score-num { font-size: 2.4rem; }
  .sn-score .sn-score-vs { flex: 0 0 46px; font-size: .95rem; }
}

/* --- 🧍 選手プロフィール --- */
.sn-profile {
  border: 2px solid var(--c-line, #e2e8f2);
  border-top: 4px solid var(--c-accent, #1f5eff);
  border-radius: 10px;
  padding: 18px 20px 6px;
  margin: 28px 0;
  background: #fff;
}
.sn-profile .sn-profile-name {
  font-size: 1.15rem !important;
  font-weight: 900;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: none !important;
  line-height: 1.4;
}
.sn-profile .sn-profile-name::before,
.sn-profile .sn-profile-name::after { display: none !important; }
.sn-profile .sn-profile-name span {
  font-size: .82rem;
  font-weight: 500;
  color: var(--c-ink-soft, #5d6b80);
}
.sn-profile table { margin: 0 0 16px !important; }
.sn-profile figure { margin-bottom: 16px !important; }

/* 選手プロフィールの表は、値を左そろえにして読みやすくする */
.sn-profile table td:not(:first-child),
.sn-profile table th:not(:first-child) { text-align: left; }
