.msmm-public-table{
	width:100%;
	color:#111827;
}
.msmm-title{
	margin:0 0 16px;
	text-align:center;
	font-size:28px;
	font-weight:800;
	color:#111827;
}
.msmm-table-scroll{
	width:100%;
	overflow-x:visible;
}
.msmm-table{
	width:100%;
	min-width:0;
	border-collapse:collapse;
	background:#fff;
	border:2px solid #111;
	table-layout:fixed;
}
.msmm-table th,
.msmm-table td{
	border:1px solid #111;
	padding:9px 6px;
	text-align:center;
	vertical-align:middle;
	font-size:13px;
	line-height:1.25;
	height:42px;
	box-sizing:border-box;
}
.msmm-table th{
	font-weight:800;
	background:#fff;
	color:#111827;
}
.msmm-team-head,
.msmm-row-head{
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.msmm-row-head{
	width:92px;
}
.msmm-corner,
.msmm-self{
	background-color:#fff;
	background-image:linear-gradient(to top right, transparent calc(50% - .7px), #111 50%, transparent calc(50% + .7px));
}
.msmm-result-cell{
	font-weight:700;
	white-space:nowrap;
}
.msmm-stat-start{
	border-left-width:3px!important;
}
.msmm-rank{
	font-weight:800;
}
.msmm-admin-note{
	max-width:1100px;
	margin:16px 0 22px;
	padding:12px 16px;
	background:#fff;
	border:1px solid #dcdcde;
}
.msmm-admin-note p{
	margin:5px 0;
}
.msmm-score-entry{
	max-width:1100px;
}
.msmm-score-inputs{
	white-space:nowrap;
}
.msmm-score-inputs input{
	width:72px;
	text-align:center;
	font-weight:700;
}
.msmm-score-inputs span{
	display:inline-block;
	padding:0 6px;
	font-weight:700;
}
.msmm-admin .msmm-public-table{
	max-width:1100px;
	background:#fff;
	padding:12px;
	box-sizing:border-box;
}
@media(max-width:760px){
	.msmm-table-scroll{
		overflow-x:auto;
		-webkit-overflow-scrolling:touch;
	}
	.msmm-table{
		min-width:820px;
	}
	.msmm-table th,
	.msmm-table td{
		padding:7px 5px;
		font-size:12px;
		height:38px;
	}
}


/* 公開対戦表：上段のチーム名・集計見出しは背景色なし */
.msmm-public-table .msmm-table thead th{
	background:#fff!important;
	background-color:#fff!important;
	color:#111827!important;
}

/* PCでは表をコンテンツ幅に収め、横スクロールを発生させない */
@media(min-width:761px){
	.msmm-public-table .msmm-table-scroll{
		overflow-x:visible!important;
	}
	.msmm-public-table .msmm-table{
		width:100%!important;
		min-width:0!important;
		max-width:100%!important;
	}
}


/* v1.0.3 管理画面：対戦と得点の関連を明確化 */
.msmm-matchup .msmm-vs{
	display:inline-block;
	margin:0 8px;
	font-weight:400;
}
.msmm-score-inputs{
	display:flex;
	align-items:center;
	gap:6px;
}
.msmm-score-side{
	display:inline-flex;
	align-items:center;
	margin:0;
}
.msmm-score-team-name{
	display:none;
}
.msmm-score-separator{
	display:inline-block;
	padding:0 2px;
	font-weight:700;
}

/* 管理画面スマホ版 */
@media(max-width:782px){
	.msmm-admin .msmm-score-entry{
		border:0;
		background:transparent;
		box-shadow:none;
	}
	.msmm-admin .msmm-score-entry thead{
		display:none;
	}
	.msmm-admin .msmm-score-entry tbody{
		display:block;
	}
	.msmm-admin .msmm-score-entry tbody tr{
		display:grid;
		grid-template-columns:52px minmax(110px,1fr) 60px;
		width:100%;
		margin:0 0 12px;
		border:1px solid #dcdcde;
		border-radius:8px;
		background:#fff!important;
		overflow:hidden;
		box-sizing:border-box;
	}
	.msmm-admin .msmm-score-entry tbody tr:nth-child(odd),
	.msmm-admin .msmm-score-entry tbody tr:nth-child(even){
		background:#fff!important;
	}
	.msmm-admin .msmm-score-entry td{
		display:flex;
		align-items:center;
		min-height:42px;
		padding:8px 10px;
		border:0;
		box-sizing:border-box;
		background:#fff!important;
	}
	.msmm-admin .msmm-score-entry td:nth-child(1){
		grid-column:1;
		grid-row:1;
		justify-content:center;
		font-weight:700;
		border-right:1px solid #e5e7eb;
	}
	.msmm-admin .msmm-score-entry td:nth-child(2){
		grid-column:2;
		grid-row:1;
		justify-content:center;
		border-right:1px solid #e5e7eb;
	}
	.msmm-admin .msmm-score-entry td:nth-child(3){
		grid-column:3;
		grid-row:1;
		justify-content:center;
		font-size:16px;
		font-weight:800;
	}
	.msmm-admin .msmm-score-entry .msmm-matchup{
		grid-column:1 / -1;
		grid-row:2;
		justify-content:center;
		gap:10px;
		padding:14px 10px 8px;
		border-top:1px solid #e5e7eb;
		font-size:16px;
		line-height:1.35;
		text-align:center;
	}
	.msmm-admin .msmm-score-entry .msmm-matchup .msmm-vs{
		margin:0;
		font-size:13px;
		font-weight:500;
		color:#64748b;
	}
	.msmm-admin .msmm-score-entry .msmm-score-inputs{
		grid-column:1 / -1;
		grid-row:3;
		display:grid;
		grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);
		align-items:end;
		gap:8px;
		padding:4px 14px 16px;
		white-space:normal;
	}
	.msmm-admin .msmm-score-entry .msmm-score-side{
		display:flex;
		flex-direction:column;
		align-items:stretch;
		gap:5px;
		min-width:0;
	}
	.msmm-admin .msmm-score-entry .msmm-score-team-name{
		display:block;
		overflow:hidden;
		text-overflow:ellipsis;
		white-space:nowrap;
		text-align:center;
		font-size:12px;
		font-weight:700;
		color:#475569;
	}
	.msmm-admin .msmm-score-entry .msmm-score-inputs input{
		width:100%;
		height:48px;
		min-width:0;
		margin:0;
		padding:6px;
		font-size:20px;
		text-align:center;
		box-sizing:border-box;
	}
	.msmm-admin .msmm-score-entry .msmm-score-separator{
		align-self:end;
		height:48px;
		display:flex;
		align-items:center;
		justify-content:center;
		padding:0;
		font-size:18px;
	}
}


/* v1.0.7 公開タイムスケジュール */
.msmm-public-schedule{
	width:100%;
	margin-top:30px;
	color:#111827;
}
.msmm-schedule-title{
	margin-top:0;
}
.msmm-schedule-scroll{
	width:100%;
	overflow-x:visible;
}
.msmm-schedule-table{
	width:100%;
	border-collapse:collapse;
	table-layout:fixed;
	background:#fff;
	border:2px solid #111;
}
.msmm-schedule-table th,
.msmm-schedule-table td{
	border:1px solid #111;
	padding:10px 8px;
	text-align:center;
	vertical-align:middle;
	font-size:14px;
	line-height:1.35;
	box-sizing:border-box;
}
.msmm-schedule-table th{
	background:#fff!important;
	color:#111827!important;
	font-weight:800;
}
.msmm-schedule-table th:nth-child(1),
.msmm-schedule-table td:nth-child(1){
	width:8%;
}
.msmm-schedule-table th:nth-child(2),
.msmm-schedule-table td:nth-child(2){
	width:20%;
	white-space:nowrap;
}
.msmm-schedule-table th:nth-child(3),
.msmm-schedule-table td:nth-child(3),
.msmm-schedule-table th:nth-child(4),
.msmm-schedule-table td:nth-child(4){
	width:36%;
}
.msmm-schedule-match{
	font-weight:700;
}
.msmm-break-row td{
	background:#faf7ef;
	font-weight:800;
}

@media(max-width:760px){
	.msmm-schedule-scroll{
		overflow-x:auto;
		-webkit-overflow-scrolling:touch;
	}
	.msmm-schedule-table{
		min-width:680px;
	}
	.msmm-schedule-table th,
	.msmm-schedule-table td{
		padding:8px 6px;
		font-size:12px;
	}
}
