/*-----------------------------------*/
/*  IWGP Gamelog Set - スコアボード
/*  すべて .wp-block-iwgp-gamelog-set 配下に
/*  スコープしているのでテーマと衝突しない
/*-----------------------------------*/

/* カスタムプロパティ：色は子テーマや別 CSS から
   .wp-block-iwgp-gamelog-set { --iwgp-color-men: #...; } で上書き可能
   どの色も白い文字を載せるため、白とのコントラスト比 4.5 以上（WCAG AA）にしている。
   変えるときは、この比を下回らない色にする（2026-10-29 に女子・混合・国際大会を濃く変更）。 */
.wp-block-iwgp-gamelog-set {
	--iwgp-color-gender-default:   #2271b1;  /* 性別バッジのデフォルト背景（比 5.17） */
	--iwgp-color-men:              #0942a6;  /* 比 8.97 */
	--iwgp-color-women:            #c8336a;  /* 比 5.08（旧 #de4d76 は 3.87） */
	--iwgp-color-mixed:            #b45309;  /* 比 5.02（旧 #ff8c00 は 2.33） */
	--iwgp-color-division-kokusai: #86650c;  /* 比 5.41（旧 #b8860b は 3.25） */
	--iwgp-color-won:              #666666;  /* won セルの既定背景 */
}

/* テーマ干渉対策：ブロック内テーブルの基本リセット
   テーマ側 CSS が border-spacing や margin を当ててくる場合の差異を吸収 */
.wp-block-iwgp-gamelog-set table {
	border-collapse: collapse;
	border-spacing: 0;
	margin: 0;
}

/* 垂直レイアウト得点テーブル：テーマの td 装飾(padding/border/background)を打ち消し
   table.{class} td で specificity 0,2,2 → 通常テーマの .entry-content td (0,2,1) に勝つ */
.wp-block-iwgp-gamelog-set table.setmatch-gameover-point-tb td {
	padding: 0;
	border: 0;
	background: transparent;
	vertical-align: middle;
}

.wp-block-iwgp-gamelog-set table.setmatch-gameover-point-tb tr + tr td {
	border-top: 1px solid rgba(255, 255, 255, 1);
}

/* 共通 */
.wp-block-iwgp-gamelog-set table.setmatch-gameover-point-tb,
.wp-block-iwgp-gamelog-set table.scoreset-tb-horizontal {
	width: 100%;
}

/* 未入力ガイドメッセージ（両ブロック共通） */
.wp-block-iwgp-gamelog-set .empty-message,
.wp-block-iwgp-tournament-section .empty-message {
	margin: 0;
	padding: 1em;
	color: #999;
	font-style: italic;
	text-align: center;
	border: 1px dashed #ccc;
	background-color: #fafafa;
}

/*---------------------------------*/
/*  大会一覧（セクション）ブロック
/*---------------------------------*/
.wp-block-iwgp-tournament-section {
	margin: 1em 0;
}

.wp-block-iwgp-tournament-section .section-heading {
	margin: 0 0 0.5em;
	padding: 0.3em 0.6em;
	font-size: 1.1em;
	font-weight: bold;
	border-left: 4px solid #000;
}

.wp-block-iwgp-tournament-section .match-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(var(--ts-cols-pc, 1), 1fr);
	gap: 0.75em 1em;
}

@media (max-width: 1024px) {
	.wp-block-iwgp-tournament-section .match-list {
		grid-template-columns: repeat(var(--ts-cols-tablet, 1), 1fr);
	}
}

@media (max-width: 767px) {
	.wp-block-iwgp-tournament-section .match-list {
		grid-template-columns: repeat(var(--ts-cols-sp, 1), 1fr);
	}
}

/* 件名モード：横並び＋区切り線 */
.wp-block-iwgp-tournament-section .match-list-title .match-item {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 0.5em 0;
	border-bottom: 1px solid #eee;
}

.wp-block-iwgp-tournament-section .match-list-title .match-link {
	font-weight: bold;
	text-decoration: none;
}

.wp-block-iwgp-tournament-section .match-date {
	flex-shrink: 0;
	margin-left: .8em;
	font-size: 0.85em;
	color: #666;
}

/* 件名モード：簡易スコア（得セット数 例 3-1） */
.wp-block-iwgp-tournament-section .match-score {
	flex-shrink: 0;
	margin-left: auto;
	padding-left: .8em;
	font-weight: bold;
	font-variant-numeric: tabular-nums;
}

.wp-block-iwgp-tournament-section .match-score.is-progress::after {
	content: "（試合中）";
	font-size: 0.8em;
	font-weight: normal;
	color: #666;
}

/* スコアボードモード：項目間に余白、リンクスタイルを継承リセット */
.wp-block-iwgp-tournament-section .match-list-scoreboard .match-item {
	margin-bottom: 1em;
}

.wp-block-iwgp-tournament-section .match-list-scoreboard .match-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

/* キーボード操作のときの枠（トーナメント表・リーグ戦表と同じ線） */
.wp-block-iwgp-tournament-section .match-link:focus-visible {
	outline: 3px solid #1a73e8;
	outline-offset: 2px;
}

.wp-block-iwgp-tournament-section .match-list-scoreboard .match-link:hover {
	opacity: 0.85;
}

.wp-block-iwgp-gamelog-set .won {
	color: #ffffff;
	background-color: var(--iwgp-color-won);
	/* 色だけに頼らない目印：取ったセットの数字に下線（色が見分けにくい人・高コントラスト表示でも分かる） */
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 2px;
}

/* 高コントラスト表示(OS が色を置き換える)のときは、背景色が消えるので枠でも示す */
@media (forced-colors: active) {
	.wp-block-iwgp-gamelog-set .won {
		outline: 2px solid CanvasText;
		outline-offset: -2px;
	}
}

/* 読み上げ用の文章（画面には出さない） */
.wp-block-iwgp-gamelog-set .gls-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* 不具合修正：縦レイアウトの得点表(setmatch-gameover-point-tb)は
   28行目付近で td に background: transparent を当てているため、
   性別区分が「指定なし」で .men/.women/.mixed が付かないときに
   上の .won の既定の背景色（グレー）が負けてしまい、
   白文字（color:#fff）が透明→白背景に消えて見えなくなっていた。
   ここで背景色だけを同じ強さで指定し直し、既定色を表示させる。
   （性別区分が決まっている場合は、下にある性別カラー指定が
   ソース順で後に来るため、そちらが優先されて正しく上書きされる） */
.wp-block-iwgp-gamelog-set .setmatch-gameover-point-tb .won {
	background-color: var(--iwgp-color-won);
}

/* 大会情報（スコアボード本体 .setmatch-gameover と同じ最大幅・中央寄せ） */
.wp-block-iwgp-gamelog-set .tournament-info,
.wp-block-iwgp-gamelog-set .game-info {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

/* 試合進行中レイアウト：スコアテーブルが左寄せ（width:auto）なので、大会情報も左寄せに揃える */
.wp-block-iwgp-gamelog-set.is-progress .tournament-info,
.wp-block-iwgp-gamelog-set.is-progress .game-info {
	margin-left: 0;
	margin-right: 0;
}

.wp-block-iwgp-gamelog-set .tournament-info {
	display: flex;
	margin-bottom: 10px;
}

.wp-block-iwgp-gamelog-set .tournament-info div {
	min-width: 6em;
	font-size: .8em;
	padding: 5px;
}

.wp-block-iwgp-gamelog-set .tournament-info .division {
	background-color: #000000;
	text-align: center;
	color: #fff;
	font-weight: bold;
}

.wp-block-iwgp-gamelog-set .tournament-info .gender {
	background-color: var(--iwgp-color-gender-default);
	text-align: center;
	color: #fff;
	font-weight: bold;
}

.wp-block-iwgp-gamelog-set .game-info {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}

.wp-block-iwgp-gamelog-set .tournament-name {
	font-size: 1.2em;
	font-weight: bold;
	margin-bottom: 5px;
}

.wp-block-iwgp-gamelog-set .game-info .game-title {
	font-size: 1em;
	font-weight: bold;
}

/* 試合番号(試合情報の前に出す小さな札) */
.wp-block-iwgp-gamelog-set .game-info .game-no {
	display: inline-block;
	margin-right: .5em;
	padding: 0 .5em;
	border: 1px solid currentColor;
	border-radius: 3px;
	font-size: .9em;
	font-weight: bold;
	line-height: 1.5;
}

.wp-block-iwgp-gamelog-set .game-info .game-date {
	font-size: .8em;
}

/*---------------------------------*/
/*  試合終了：垂直レイアウト
/*---------------------------------*/
.wp-block-iwgp-gamelog-set .setmatch-gameover,
.wp-block-iwgp-gamelog-set .scoreset-inprogress {
	margin: 0 auto;
	padding: 20px;
	background-color: #ffffff;
}

.wp-block-iwgp-gamelog-set .setmatch-gameover {
	max-width: 600px;
}

.wp-block-iwgp-gamelog-set .scoreset-inprogress {
	width: 100%;
	max-width: 600px;
	box-sizing: border-box;
}

.wp-block-iwgp-gamelog-set .setmatch-container {
	display: flex;
}

.wp-block-iwgp-gamelog-set .setmatch-container .box {
	flex: 2;
	text-align: center;
	font-weight: bold;
	margin: 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	min-height: 50px;
}

.wp-block-iwgp-gamelog-set .setmatch-gameover .box.team,
.wp-block-iwgp-gamelog-set .setmatch-gameover .box.set-cnt {
	flex: 3;
}

.wp-block-iwgp-gamelog-set .setmatch-gameover .box .team-name {
	font-size: 1.2em;
}

.wp-block-iwgp-gamelog-set .setmatch-gameover .box .sub-name {
	font-size: .9em;
}

.wp-block-iwgp-gamelog-set .setmatch-gameover .set-cnt {
	font-size: 4em;
}

.wp-block-iwgp-gamelog-set .setmatch-gameover-point-tb {
	font-size: .9em;
	font-weight: bold;
}

.wp-block-iwgp-gamelog-set .setmatch-gameover-point-tb .circle-number {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 1.3em;
	height: 1.3em;
	background-color: #000;
	color: #fff;
	border-radius: 50%;
	font-weight: bold;
	font-size: .8em;
	line-height: 1;
}

/*---------------------------------*/
/*  試合進行中：水平レイアウト
/*---------------------------------*/
.wp-block-iwgp-gamelog-set table.scoreset-tb-horizontal {
	width: 100%;
}

.wp-block-iwgp-gamelog-set .scoreset-tb-horizontal {
	border-collapse: collapse;
	background-color: #fff;
}

.wp-block-iwgp-gamelog-set .scoreset-tb-horizontal td,
.wp-block-iwgp-gamelog-set .scoreset-tb-horizontal th {
	width: 2em;
	text-align: center;
	padding: 5px;
	border: 1px solid #777;
}

.wp-block-iwgp-gamelog-set .scoreset-tb-horizontal .tb-title th {
	font-size: 0.9em;
	font-weight: bold;
	background-color: #000;
	color: #fff;
}

.wp-block-iwgp-gamelog-set .scoreset-tb-horizontal .td-setcnt {
	width: 2.5em;
	font-size: 1.2em;
	font-weight: bold;
	color: #ffffff;
	background-color: #000000;
}

.wp-block-iwgp-gamelog-set .scoreset-tb-horizontal .td-set5 {
	max-width: 2em;
	font-size: .9em;
}

/* チーム名のマスは行の見出し(th)。テーマの th の色・背景が付かないように、もとの td と同じ見た目にそろえる */
.wp-block-iwgp-gamelog-set .scoreset-tb-horizontal th.team-player-name {
	background-color: transparent;
	color: inherit;
}

.wp-block-iwgp-gamelog-set .scoreset-tb-horizontal .team-player-name {
	font-size: 1.2em;
	font-weight: bold;
	white-space: nowrap;
	min-width: 8em;
	padding: 0 10px;
}

.wp-block-iwgp-gamelog-set .scoreset-tb-horizontal .sub-name {
	font-size: .7em;
	font-weight: bold;
}

/*---------------------------------*/
/*  性別区分カラー
/*---------------------------------*/

/* 女子 */
.wp-block-iwgp-gamelog-set .women .won,
.wp-block-iwgp-gamelog-set .gender.women {
	background-color: var(--iwgp-color-women);
}

/* 男子 */
.wp-block-iwgp-gamelog-set .men .won,
.wp-block-iwgp-gamelog-set .gender.men {
	background-color: var(--iwgp-color-men);
}

/* 混合 */
.wp-block-iwgp-gamelog-set .mixed .won,
.wp-block-iwgp-gamelog-set .gender.mixed {
	background-color: var(--iwgp-color-mixed);
	color: #fff;
}

/*---------------------------------*/
/*  年代区分カラー
/*---------------------------------*/

/* 国際大会 */
.wp-block-iwgp-gamelog-set .tournament-info .division.kokusai {
	background-color: var(--iwgp-color-division-kokusai);
}

/*---------------------------------*/
/*  大会一覧：ページネーション
/*---------------------------------*/
.wp-block-iwgp-tournament-section .ts-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1em;
	margin-top: 1em;
	font-size: 0.9em;
}

.wp-block-iwgp-tournament-section .ts-page-link {
	display: inline-block;
	padding: 0.3em 0.8em;
	border: 1px solid #ccc;
	border-radius: 3px;
	text-decoration: none;
	color: inherit;
	background: #f9f9f9;
}

.wp-block-iwgp-tournament-section .ts-page-link:hover {
	background: #eee;
}

.wp-block-iwgp-tournament-section .ts-page-info {
	color: #555;
}

/*---------------------------------*/
/*  トーナメント表ブロック
/*  位置は --x（外側の端からの距離）と --w（幅）で指定。
/*  右半分は --mir:1 で左右反転する（スマホ幅では 0 に戻して縦に積む）。
/*---------------------------------*/
.wp-block-iwgp-tournament-bracket {
	/* 画面幅ではなく「ブロック自身の幅」で左右／縦積みを切り替える */
	container-type: inline-size;
	margin: 1em 0;
}

.wp-block-iwgp-tournament-bracket .section-heading {
	margin: 0 0 0.5em;
	padding: 0.3em 0.6em;
	font-size: 1.1em;
	font-weight: bold;
	border-left: 4px solid currentColor;
}

.wp-block-iwgp-tournament-bracket .bk-board {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	overflow-x: auto;
	padding-bottom: 8px;
}

.wp-block-iwgp-tournament-bracket .bk-half-wrap,
.wp-block-iwgp-tournament-bracket .bk-center {
	flex: 0 0 auto;
	position: relative;
}

.wp-block-iwgp-tournament-bracket .bk-block-title,
.wp-block-iwgp-tournament-bracket .bk-final-note {
	display: none;
}

.wp-block-iwgp-tournament-bracket .bk-half {
	--mir: 0;
	position: relative;
}

.wp-block-iwgp-tournament-bracket .bk-half--r {
	--mir: 1;
}

.wp-block-iwgp-tournament-bracket .bk-half > * {
	position: absolute;
	left: calc(var(--x) + var(--mir) * (var(--half-w) - 2 * var(--x) - var(--w)));
	width: var(--w);
}

.wp-block-iwgp-tournament-bracket .bk-ln,
.wp-block-iwgp-tournament-bracket .bk-cln {
	position: absolute;
	background: currentColor;
}

.wp-block-iwgp-tournament-bracket .bk-team {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 4px;
	font-size: 13px;
	line-height: 1.25;
}

.wp-block-iwgp-tournament-bracket .bk-half--r .bk-team {
	flex-direction: row-reverse;
}

.wp-block-iwgp-tournament-bracket .bk-name {
	flex: 1;
	letter-spacing: 0.08em;
	text-align: left;
}

.wp-block-iwgp-tournament-bracket .bk-half--r .bk-name {
	text-align: right;
}

.wp-block-iwgp-tournament-bracket .bk-no {
	flex: 0 0 auto;
	min-width: 1.4em;
	font-size: 11px;  /* 2026-10-29: 10px→11px、薄さ 0.6→0.75（読みやすさ） */
	text-align: center;
	opacity: 0.75;
}

.wp-block-iwgp-tournament-bracket .bk-final-label {
	position: absolute;
	/* 勝ち上がりの赤線(z-index: 1)より前に出す。指定が無いと、赤線が「決勝」の文字の上を横切る(2026-11-02) */
	z-index: 2;
	transform: translate(-50%, -50%);
	padding: 0.15em 0.6em;
	border: 1px solid currentColor;
	background: var(--wp--preset--color--base, #fff);
	font-size: 12px;
	font-weight: bold;
}

/* ブロックの幅が狭いとき：左右を上下に積み、右半分も左から読む向きにする */
@container (max-width: 1100px) {
	.wp-block-iwgp-tournament-bracket .bk-board {
		flex-direction: column;
	}

	.wp-block-iwgp-tournament-bracket .bk-center {
		display: none;
	}

	.wp-block-iwgp-tournament-bracket .bk-half--r {
		--mir: 0;
	}

	.wp-block-iwgp-tournament-bracket .bk-half--r .bk-team {
		flex-direction: row;
	}

	.wp-block-iwgp-tournament-bracket .bk-half--r .bk-name {
		text-align: left;
	}

	.wp-block-iwgp-tournament-bracket .bk-half-wrap {
		max-width: 100%;
		overflow-x: auto;
	}

	.wp-block-iwgp-tournament-bracket .bk-block-title {
		display: block;
		margin: 1.2em 0 0.4em;
		padding-left: 0.5em;
		font-weight: bold;
		border-left: 4px solid currentColor;
	}

	.wp-block-iwgp-tournament-bracket .bk-block-title:first-child {
		margin-top: 0;
	}

	.wp-block-iwgp-tournament-bracket .bk-final-note {
		display: block;
		margin: 0.8em 0 0;
	}
}

/* ---------- トーナメント表：得点・勝ち上がり（赤線）・優勝 ---------- */
.wp-block-iwgp-tournament-bracket {
	--bk-win: #e60012;
}

/* 勝ち上がりの道筋（赤い太線）。黒い線より前に出す */
.wp-block-iwgp-tournament-bracket .bk-ln.win,
.wp-block-iwgp-tournament-bracket .bk-cln.win {
	z-index: 1;
	background: var(--bk-win);
}

/* 決勝がまだ始まっていないときの、準決勝の勝者の線は赤い破線(実線だと優勝したように見えるため)。
   印刷で背景色が消えても残るように、背景ではなく枠線で描く */
.wp-block-iwgp-tournament-bracket .bk-cln.win.pending {
	box-sizing: border-box;
	background: transparent;
	border-top: 4px dashed var(--bk-win);
}

/* 得点の枠（縦線の外側）。決勝の得点は中央に出す */
.wp-block-iwgp-tournament-bracket .bk-score,
.wp-block-iwgp-tournament-bracket .bk-final-score {
	z-index: 2;
	font-size: 11.5px;  /* 2026-10-29: 10.5px→11.5px。1行の高さ(13px)は、枠の大きさの計算(iwgp_bracket_score_size)と合わせているので変えない */
	line-height: 13px;
	text-align: center;
	background: var(--wp--preset--color--base, #fff);
}

.wp-block-iwgp-tournament-bracket .bk-final-score {
	position: absolute;
}

.wp-block-iwgp-tournament-bracket .bk-score-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.wp-block-iwgp-tournament-bracket a.bk-score-link:hover,
.wp-block-iwgp-tournament-bracket a.bk-score-link:focus-visible {
	text-decoration: underline;
}

/* キーボード操作のときの枠（背景との差を十分に取る） */
.wp-block-iwgp-tournament-bracket a.bk-score-link:focus-visible,
.wp-block-iwgp-tournament-bracket a.bk-row-link:focus-visible,
.wp-block-iwgp-tournament-bracket .bk-board:focus-visible,
.wp-block-iwgp-tournament-bracket .bk-search-input:focus-visible {
	outline: 3px solid #1a73e8;
	outline-offset: 2px;
}

.wp-block-iwgp-tournament-bracket .bk-sets {
	display: block;
}

.wp-block-iwgp-tournament-bracket .bk-score--2 .bk-sets {
	columns: 2;
	column-gap: 8px;
}

.wp-block-iwgp-tournament-bracket .bk-set {
	display: block;
	white-space: pre;
	font-variant-numeric: tabular-nums;
	break-inside: avoid;
}

.wp-block-iwgp-tournament-bracket .bk-live {
	display: block;
	column-span: all;
	font-size: 11px;  /* 2026-10-29: 9px→11px（「試合中」が読めるように） */
	font-weight: bold;
	color: #b3261e;
}

/* 読み上げ用の文章（画面には出さない） */
.wp-block-iwgp-tournament-bracket .bk-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* 優勝チーム */
.wp-block-iwgp-tournament-bracket .bk-champion {
	position: absolute;
	z-index: 2;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
}

.wp-block-iwgp-tournament-bracket .bk-champion-label {
	display: block;
	font-size: 11px;  /* 2026-10-29: 10px→11px */
	letter-spacing: 0.2em;
	color: var(--bk-win);
}

/* ---------- トーナメント表：優勝バナー・見方の説明・結果一覧・表示の切り替え・勝ち残りの太字 ---------- */

/* 勝ち残っているチーム（結果が出ていて、まだ負けていないチーム）の名前を太字にする */
.wp-block-iwgp-tournament-bracket .bk-team.is-alive .bk-name {
	font-weight: 700;
}

/* 優勝バナー（決勝が終わったら、表の上に出す） */
.wp-block-iwgp-tournament-bracket .bk-champion-banner {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.6em;
	margin: 0 0 0.6em;
	padding: 0.6em 0.9em;
	border-left: 6px solid var(--bk-win);
	background: rgba(230, 0, 18, 0.06);
}

.wp-block-iwgp-tournament-bracket .bk-champion-banner-label {
	font-size: 0.85em;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #b3000f;
}

.wp-block-iwgp-tournament-bracket .bk-champion-banner-name {
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.3;
}

/* 見方の説明（1行） */
.wp-block-iwgp-tournament-bracket .bk-legend {
	margin: 0 0 0.8em;
	font-size: 0.85em;
	line-height: 1.6;
	opacity: 0.8;
}

/* 3位決定戦（図の中央、決勝の下） */
.wp-block-iwgp-tournament-bracket .bk-third {
	/* 位置は指定せず、中央の欄の中に流して置く(中身の高さに合わせて、中央の欄が伸びるように。2026-11-02) */
	position: relative;
	z-index: 2;
	padding-top: 8px;
	border-top: 1px dashed currentColor;
	font-size: 11px;
	line-height: 14px;
	text-align: center;
}

.wp-block-iwgp-tournament-bracket .bk-third > span {
	display: block;
}

.wp-block-iwgp-tournament-bracket .bk-third-label,
.wp-block-iwgp-tournament-bracket .bk-third-winner {
	font-weight: bold;
}

.wp-block-iwgp-tournament-bracket .bk-third-wait {
	opacity: 0.7;
}

/* いま、どこまで結果が入っているか */
.wp-block-iwgp-tournament-bracket .bk-status {
	margin: 0 0 0.6em;
	font-weight: 700;
}

/* 決勝がまだ始まっていないとき（図の中央） */
.wp-block-iwgp-tournament-bracket .bk-final-wait {
	position: absolute;
	width: 100px;
	transform: translateX(-50%);
	font-size: 11px;
	line-height: 1.3;
	text-align: center;
	opacity: 0.7;
}

/* 切り替えと一覧は、パソコン幅では出さない（スマホ幅で出す） */
.wp-block-iwgp-tournament-bracket .bk-tabs,
.wp-block-iwgp-tournament-bracket .bk-listview,
.wp-block-iwgp-tournament-bracket .bk-scroll-hint {
	display: none;
}

/* 結果一覧 */
.wp-block-iwgp-tournament-bracket .bk-round-title {
	margin: 1.2em 0 0.3em;
	padding-left: 0.5em;
	font-size: 1em;
	font-weight: 700;
	border-left: 4px solid currentColor;
}

.wp-block-iwgp-tournament-bracket .bk-round[hidden],
.wp-block-iwgp-tournament-bracket .bk-row[hidden] {
	display: none;
}

.wp-block-iwgp-tournament-bracket .bk-rows {
	margin: 0;
	padding: 0;
	list-style: none;
}

.wp-block-iwgp-tournament-bracket .bk-row {
	border-bottom: 1px solid rgba(128, 128, 128, 0.3);
}

.wp-block-iwgp-tournament-bracket .bk-row-link {
	position: relative;
	display: block;
	padding: 0.7em 1.6em 0.7em 0.3em;
	color: inherit;
	text-decoration: none;
}

/* 押せることを示す矢印 */
.wp-block-iwgp-tournament-bracket a.bk-row-link::after {
	content: "\203A";
	position: absolute;
	top: 50%;
	right: 0.4em;
	transform: translateY(-50%);
	font-size: 1.4em;
	opacity: 0.5;
}

.wp-block-iwgp-tournament-bracket a.bk-row-link:hover,
.wp-block-iwgp-tournament-bracket a.bk-row-link:focus-visible {
	background: rgba(128, 128, 128, 0.1);
}

.wp-block-iwgp-tournament-bracket .bk-row-main {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 0.6em;
	align-items: baseline;
	font-size: 16px;
	line-height: 1.4;
}

.wp-block-iwgp-tournament-bracket .bk-t {
	min-width: 0;
	overflow-wrap: anywhere;
}

.wp-block-iwgp-tournament-bracket .bk-t:last-child {
	text-align: right;
}

.wp-block-iwgp-tournament-bracket .bk-t.is-win {
	font-weight: 700;
}

.wp-block-iwgp-tournament-bracket .bk-n {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.wp-block-iwgp-tournament-bracket .bk-row-sub {
	display: block;
	margin-top: 0.2em;
	font-size: 13px;
	opacity: 0.75;
}

.wp-block-iwgp-tournament-bracket .bk-row.is-wait {
	color: #595959;
}

.wp-block-iwgp-tournament-bracket .bk-row.is-wait .bk-row-sub {
	opacity: 1;
}

.wp-block-iwgp-tournament-bracket .bk-row.is-live .bk-row-sub {
	color: #b3261e;
	opacity: 1;
}

/* チーム名の検索 */
.wp-block-iwgp-tournament-bracket .bk-search {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6em;
	margin: 0.4em 0;
}

.wp-block-iwgp-tournament-bracket .bk-search[hidden] {
	display: none;
}

.wp-block-iwgp-tournament-bracket .bk-search-label {
	display: block;
	width: 100%;
	font-size: 0.95em;
}

.wp-block-iwgp-tournament-bracket .bk-search-input {
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	margin-top: 0.3em;
	padding: 0.4em 0.6em;
	font-size: 16px;
}

.wp-block-iwgp-tournament-bracket .bk-search-count {
	font-size: 0.9em;
}

/* 結果が取れないときは、図だけを出す */
.wp-block-iwgp-tournament-bracket .bk-views--board-only .bk-boardview {
	display: block;
}

/* ブロックの幅が狭いとき（スマホ）：標準は一覧。「図」に切り替えると図を出す */
@container (max-width: 1100px) {
	.wp-block-iwgp-tournament-bracket .bk-tabs {
		display: flex;
		width: 100%;
		box-sizing: border-box;
		margin: 0.6em 0;
		border: 2px solid var(--wp--preset--color--contrast, #111);
		border-radius: 8px;
		overflow: hidden;
	}

	.wp-block-iwgp-tournament-bracket .bk-tab {
		position: relative;
		display: flex;
		flex: 1 1 0;
		align-items: center;
		justify-content: center;
		min-height: 48px;
		padding: 0.5em 0.6em;
		white-space: nowrap;
		font-weight: 700;
		cursor: pointer;
	}

	/* ラジオボタン自体は見えなくして、「一覧」「図」の枠全体を押せるようにする */
	.wp-block-iwgp-tournament-bracket .bk-tab input {
		position: absolute;
		inset: 0;
		margin: 0;
		opacity: 0;
		cursor: pointer;
	}

	.wp-block-iwgp-tournament-bracket .bk-tab:has(input:checked) {
		background: var(--wp--preset--color--contrast, #111);
		color: var(--wp--preset--color--base, #fff);
	}

	.wp-block-iwgp-tournament-bracket .bk-tab:has(input:focus-visible) {
		outline: 3px solid #1a73e8;
		outline-offset: -3px;
	}

	.wp-block-iwgp-tournament-bracket .bk-listview {
		display: block;
	}

	.wp-block-iwgp-tournament-bracket .bk-boardview {
		display: none;
	}

	.wp-block-iwgp-tournament-bracket .bk-views:has(input[value="board"]:checked) .bk-listview {
		display: none;
	}

	.wp-block-iwgp-tournament-bracket .bk-views:has(input[value="board"]:checked) .bk-boardview {
		display: block;
	}

	.wp-block-iwgp-tournament-bracket .bk-views--board-only .bk-boardview {
		display: block;
	}

	.wp-block-iwgp-tournament-bracket .bk-scroll-hint {
		display: block;
		margin: 0.4em 0;
		font-size: 13px;
		opacity: 0.8;
	}

	/* 図を、スマホで読みやすい大きさに */
	.wp-block-iwgp-tournament-bracket .bk-team {
		font-size: 15px;
	}

	.wp-block-iwgp-tournament-bracket .bk-no {
		font-size: 12px;
		opacity: 1;
	}

	.wp-block-iwgp-tournament-bracket .bk-score,
	.wp-block-iwgp-tournament-bracket .bk-final-score {
		font-size: 12px;
	}

	.wp-block-iwgp-tournament-bracket .bk-live {
		font-size: 11px;
	}

	/* 横にスクロールできることを示す影（端に続きがあるときだけ見える） */
	.wp-block-iwgp-tournament-bracket .bk-half-wrap {
		background:
			linear-gradient(to right, var(--wp--preset--color--base, #fff) 30%, rgba(255, 255, 255, 0)) left center / 28px 100% no-repeat local,
			linear-gradient(to left, var(--wp--preset--color--base, #fff) 30%, rgba(255, 255, 255, 0)) right center / 28px 100% no-repeat local,
			radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0)) left center / 12px 100% no-repeat scroll,
			radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0)) right center / 12px 100% no-repeat scroll;
	}

	/* :has が使えない古いブラウザでは、切り替えを出さず、一覧と図の両方を縦に並べる */
	@supports not selector(:has(*)) {
		.wp-block-iwgp-tournament-bracket .bk-tabs {
			display: none;
		}

		.wp-block-iwgp-tournament-bracket .bk-boardview {
			display: block;
		}
	}
}

/* 強制カラー(高コントラスト)のとき、図の線が消えないようにする */
@media (forced-colors: active) {
	.wp-block-iwgp-tournament-bracket .bk-ln,
	.wp-block-iwgp-tournament-bracket .bk-cln {
		forced-color-adjust: none;
		background: CanvasText;
	}

	.wp-block-iwgp-tournament-bracket .bk-ln.win,
	.wp-block-iwgp-tournament-bracket .bk-cln.win {
		background: Highlight;
	}

	.wp-block-iwgp-tournament-bracket .bk-cln.win.pending {
		background: transparent;
		border-top-color: Highlight;
	}
}

/* ============================================================
   iwgp/league-table: リーグ戦表（順位表・総当たり表）
   ============================================================ */

.wp-block-iwgp-league-table .lg-group {
	margin: 0 0 2em;
}

.wp-block-iwgp-league-table .lg-group-title {
	margin: 1.2em 0 0.4em;
	padding-left: 0.5em;
	font-size: 1.2em;
	font-weight: 700;
	border-left: 4px solid currentColor;
}

.wp-block-iwgp-league-table .lg-sub-title {
	margin: 1em 0 0.3em;
	font-size: 1em;
	font-weight: 700;
}

.wp-block-iwgp-league-table .lg-note {
	margin: 0 0 0.4em;
	font-size: 0.85em;
	opacity: 0.8;
}

/* 読み上げ用の文章（画面には出さない） */
.wp-block-iwgp-league-table .lg-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* 横にスクロールできる表の入れ物 */
.wp-block-iwgp-league-table .lg-scroll {
	max-width: 100%;
	overflow-x: auto;
}

.wp-block-iwgp-league-table .lg-scroll:focus-visible {
	outline: 3px solid #1a73e8;
	outline-offset: 2px;
}

.wp-block-iwgp-league-table .lg-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
	line-height: 1.4;
}

.wp-block-iwgp-league-table .lg-table th,
.wp-block-iwgp-league-table .lg-table td {
	padding: 0.5em 0.6em;
	border: 1px solid rgba(128, 128, 128, 0.5);
	text-align: center;
	vertical-align: middle;
}

.wp-block-iwgp-league-table .lg-table thead th {
	font-weight: 700;
	background: rgba(128, 128, 128, 0.12);
	white-space: nowrap;
}

.wp-block-iwgp-league-table .lg-table .lg-team-col {
	min-width: 6em;
	text-align: left;
	font-weight: 700;
	white-space: normal;
}

.wp-block-iwgp-league-table .lg-table tbody th.lg-team-col {
	background: rgba(128, 128, 128, 0.08);
}

.wp-block-iwgp-league-table .lg-num {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.wp-block-iwgp-league-table .lg-empty {
	color: #595959;
	font-weight: 400;
}

/* 総当たり表 */
.wp-block-iwgp-league-table .lg-matrix .lg-cell {
	min-width: 5.5em;
	height: 3em;
}

.wp-block-iwgp-league-table .lg-matrix .lg-self {
	background: rgba(128, 128, 128, 0.2);
}

.wp-block-iwgp-league-table .lg-matrix .lg-corner {
	background: rgba(128, 128, 128, 0.12);
}

/* リーグ戦表: 総当たり表の結果の枠（○×の文字つき。色だけに頼らない） */
.wp-block-iwgp-league-table .lg-cell-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.wp-block-iwgp-league-table .lg-cell-link:hover {
	text-decoration: underline;
}

.wp-block-iwgp-league-table .lg-cell-link:focus-visible {
	outline: 3px solid #1a73e8;
	outline-offset: 2px;
}

.wp-block-iwgp-league-table .lg-mark {
	font-weight: 700;
}

.wp-block-iwgp-league-table .lg-score {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.wp-block-iwgp-league-table .lg-cell.is-win {
	background: rgba(230, 0, 18, 0.07);
	font-weight: 700;
}

.wp-block-iwgp-league-table .lg-cell.is-win .lg-mark {
	color: #b3000f;
}

.wp-block-iwgp-league-table .lg-cell.is-live {
	font-size: 0.9em;
	color: #b3261e;
}

.wp-block-iwgp-league-table .lg-cell.is-live .lg-mark {
	display: block;
	font-size: 0.85em;
}

/* リーグ戦表: 試合の一覧 */
.wp-block-iwgp-league-table .lg-rows {
	margin: 0;
	padding: 0;
	list-style: none;
}

.wp-block-iwgp-league-table .lg-row {
	margin: 0;
	border-bottom: 1px solid rgba(128, 128, 128, 0.35);
}

.wp-block-iwgp-league-table .lg-row-link {
	display: block;
	padding: 0.6em 0.4em;
	color: inherit;
	text-decoration: none;
}

.wp-block-iwgp-league-table a.lg-row-link:hover {
	background: rgba(128, 128, 128, 0.1);
}

.wp-block-iwgp-league-table a.lg-row-link:focus-visible {
	outline: 3px solid #1a73e8;
	outline-offset: -3px;
}

.wp-block-iwgp-league-table .lg-row-main {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 0.6em;
	align-items: baseline;
	font-size: 16px;
	line-height: 1.4;
}

.wp-block-iwgp-league-table .lg-row-main .lg-t:last-child {
	text-align: right;
}

.wp-block-iwgp-league-table .lg-t.is-win {
	font-weight: 700;
}

.wp-block-iwgp-league-table .lg-n {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.wp-block-iwgp-league-table .lg-row-sub {
	display: block;
	margin-top: 0.2em;
	font-size: 13px;
}

.wp-block-iwgp-league-table .lg-row.is-wait .lg-row-link {
	color: #595959;
}

.wp-block-iwgp-league-table .lg-row.is-live .lg-row-sub {
	color: #b3261e;
}

.wp-block-iwgp-league-table .lg-pending {
	margin-top: 0.6em;
}

.wp-block-iwgp-league-table .lg-pending > summary {
	padding: 0.5em 0;
	cursor: pointer;
	font-weight: 700;
}

/* リーグ戦表: 横にスクロールできることの案内（スクロールできるときだけ、スクリプトが表示する） */
.wp-block-iwgp-league-table .lg-scroll-hint {
	margin: 0.4em 0 0.2em;
	font-size: 13px;
	font-weight: 700;
}

.wp-block-iwgp-league-table .lg-scroll-hint[hidden] {
	display: none;
}

/* 総当たり表: 横にスクロールしても、チーム名の列は見えるまま（背景は不透明にして、下の文字が透けないようにする） */
.wp-block-iwgp-league-table .lg-matrix tbody th.lg-team-col {
	position: sticky;
	left: 0;
	z-index: 1;
	background:
		linear-gradient(rgba(128, 128, 128, 0.08), rgba(128, 128, 128, 0.08)),
		var(--wp--preset--color--base, #fff);
}

/* まだ行っていない試合のマス（空白ではなく、薄い印を出す） */
.wp-block-iwgp-league-table .lg-dot {
	color: #595959;
}

/* 順位表の下の説明 */
.wp-block-iwgp-league-table .lg-status {
	font-weight: 700;
}

/* 試合中のマスの文字が小さくなりすぎないように */
.wp-block-iwgp-league-table .lg-cell.is-live {
	font-size: 13px;
}

/* リンクリーグ表: 対戦しない組み合わせの枠（斜線。読み上げでは「対戦なし」） */
.wp-block-iwgp-league-table .lg-cell.is-none {
	background: repeating-linear-gradient(135deg, rgba(128, 128, 128, 0.3) 0 2px, transparent 2px 8px);
}

/* リーグ戦表・リンクリーグ表: 同率・凡例 */
.wp-block-iwgp-league-table .lg-tie {
	margin-left: 0.2em;
	font-size: 0.8em;
	white-space: nowrap;
}

.wp-block-iwgp-league-table .lg-legend {
	margin: 0 0 0.4em;
	font-size: 0.9em;
	line-height: 1.6;
}

/* 結果のマス: マス全体を押せる(押せる範囲を、44px以上に) */
.wp-block-iwgp-league-table .lg-matrix .lg-cell:has(.lg-cell-link) {
	padding: 0;
}

.wp-block-iwgp-league-table .lg-cell-link {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0 0.3em;
	box-sizing: border-box;
	min-height: 44px;
	padding: 0.5em 0.6em;
}

/* 順位表: 横にスクロールしても、順位とチーム名の列は見えるまま(背景は不透明にして、下の文字が透けないようにする) */
.wp-block-iwgp-league-table .lg-standings th:first-child,
.wp-block-iwgp-league-table .lg-standings td.lg-rank {
	position: sticky;
	left: 0;
	z-index: 2;
	width: 3.6em;
	min-width: 3.6em;
	background:
		linear-gradient(rgba(128, 128, 128, 0.08), rgba(128, 128, 128, 0.08)),
		var(--wp--preset--color--base, #fff);
}

.wp-block-iwgp-league-table .lg-standings thead th:first-child {
	background:
		linear-gradient(rgba(128, 128, 128, 0.12), rgba(128, 128, 128, 0.12)),
		var(--wp--preset--color--base, #fff);
}

.wp-block-iwgp-league-table .lg-standings th.lg-team-col {
	position: sticky;
	left: 3.6em;
	z-index: 1;
	box-shadow: 1px 0 0 rgba(128, 128, 128, 0.5);
	background:
		linear-gradient(rgba(128, 128, 128, 0.12), rgba(128, 128, 128, 0.12)),
		var(--wp--preset--color--base, #fff);
}

.wp-block-iwgp-league-table .lg-standings tbody th.lg-team-col {
	background:
		linear-gradient(rgba(128, 128, 128, 0.08), rgba(128, 128, 128, 0.08)),
		var(--wp--preset--color--base, #fff);
}

/* 順位表: 幅の狭い画面では、セット・点の細かい数字の列を、折りたたむ(ボタンで開く) */
.wp-block-iwgp-league-table .lg-detail-toggle {
	display: block;
	margin: 0 0 0.4em;
	padding: 0.5em 1em;
	min-height: 44px;
	font-size: 14px;
	font-weight: 700;
	color: inherit;
	background: transparent;
	border: 2px solid currentColor;
	border-radius: 8px;
	cursor: pointer;
}

.wp-block-iwgp-league-table .lg-detail-toggle[hidden] {
	display: none;
}

.wp-block-iwgp-league-table .lg-detail-toggle:focus-visible {
	outline: 3px solid #1a73e8;
	outline-offset: 2px;
}

.wp-block-iwgp-league-table .lg-group[data-lg-compact="1"] .lg-detail {
	display: none;
}

/* 強制カラー(高コントラスト)のとき、半透明の背景が消えても、枠で意味が分かるようにする */
@media (forced-colors: active) {
	.wp-block-iwgp-league-table .lg-cell.is-none {
		border-style: dashed;
	}

	.wp-block-iwgp-league-table .lg-cell.is-win {
		border: 2px solid Highlight;
	}
}

/* リンクリーグ表: 対戦図(チームを頂点、試合を辺にした図。SVG) */
.wp-block-iwgp-league-table .lg-figure {
	max-width: 520px;
	margin: 0 0 1em;
}

.wp-block-iwgp-league-table .lg-fig-svg {
	display: block;
	width: 100%;
	height: auto;
}

/* 辺: 灰色の細い線。まだ行っていない試合は、さらに細く。試合中は、点線 */
.wp-block-iwgp-league-table .lg-fig-line {
	stroke: #8a8a8a;
	stroke-width: 2.5;
}

.wp-block-iwgp-league-table .lg-fig-line.is-wait {
	stroke-width: 1.5;
}

.wp-block-iwgp-league-table .lg-fig-line.is-live {
	stroke-dasharray: 7 6;
}

/* 勝った側の半分: 赤い太線 */
.wp-block-iwgp-league-table .lg-fig-win {
	stroke: #e60012;
	stroke-width: 8;
	stroke-linecap: butt;
}

.wp-block-iwgp-league-table .lg-fig-node {
	fill: var(--wp--preset--color--base, #fff);
	stroke: currentColor;
	stroke-width: 2;
}

.wp-block-iwgp-league-table .lg-fig-num {
	font-size: 18px;
	font-weight: 700;
	fill: currentColor;
}

.wp-block-iwgp-league-table .lg-fig-name {
	font-size: 20px;
	font-weight: 700;
	fill: currentColor;
}

.wp-block-iwgp-league-table .lg-fig-no {
	font-size: 15px;
	fill: currentColor;
}

.wp-block-iwgp-league-table .lg-fig-score {
	font-size: 19px;
	fill: currentColor;
}

.wp-block-iwgp-league-table .lg-fig-score.is-done {
	font-weight: 700;
}

/* 強制カラー(高コントラスト)のとき、線の色が変わっても、意味が分かるようにする */
@media (forced-colors: active) {
	.wp-block-iwgp-league-table .lg-fig-line {
		stroke: CanvasText;
	}

	.wp-block-iwgp-league-table .lg-fig-win {
		stroke: Highlight;
	}
}
