.root {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	grid-template-areas:
		"header header header"
		"actions actions actions"
		"selection selection selection"
		"submit submit submit";
	justify-items: center;
	align-items: center;
	gap: var(--s-5);
	container-type: inline-size;

	@container (max-width: 599px) {
		grid-template-columns: 1fr;
		grid-template-areas:
			"header"
			"actions"
			"selection"
			"submit";
	}
}

.withPoints {
	grid-template-areas:
		"header header header"
		"actions actions actions"
		"selection selection selection"
		"ko ko ko"
		"submit submit submit";

	@container (max-width: 599px) {
		grid-template-areas:
			"header"
			"actions"
			"selection"
			"ko"
			"submit";
	}
}

.title {
	grid-area: header;
	font-size: var(--font-md);
	font-weight: var(--weight-semi);
	text-align: center;
	text-box: trim-start cap alphabetic;
}

.actionButtons {
	grid-area: actions;
	display: flex;
	gap: var(--s-6);
	margin-block-start: calc(-1 * var(--s-4));
}

.selectionRow {
	grid-area: selection;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	grid-template-areas:
		"alpha stage bravo"
		".     text  .";
	column-gap: var(--s-4);
	row-gap: var(--s-1);
	justify-items: center;
	align-items: center;
	width: 100%;

	@container (max-width: 599px) {
		column-gap: var(--s-2);
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-areas:
			"stage alpha"
			"stage bravo"
			"text  .";
	}
}

.teamRadioContainer {
	--label-margin: 0;
	width: 100%;
	height: 100%;
	max-width: 250px;

	@container (max-width: 599px) {
		max-width: unset;
	}
}

.alpha {
	grid-area: alpha;
	justify-self: end;

	@container (max-width: 599px) {
		justify-self: stretch;
		align-self: end;
	}
}

.bravo {
	grid-area: bravo;
	justify-self: start;

	@container (max-width: 599px) {
		justify-self: stretch;
		align-self: start;
	}
}

.stageImageWrapper {
	grid-area: stage;

	@container (max-width: 599px) {
		align-self: stretch;
		width: 90px;
	}
}

.stageImage {
	border-radius: var(--radius-box);
	display: block;

	@container (max-width: 599px) {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.stageLabel {
	grid-area: text;
	display: flex;
	align-items: center;
	gap: var(--s-1);
	font-size: var(--font-3xs);
	font-weight: var(--weight-semi);
	color: var(--color-text-high);
}

.ko {
	grid-area: ko;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--s-1);
}

.submit {
	grid-area: submit;
}

.checkCircle {
	width: 24px;
	height: 24px;
	border-radius: 100%;
	border: 2px solid var(--color-border-high);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.teamRadio {
	display: flex;
	align-items: center;
	gap: var(--s-3);
	padding: var(--s-1-5) var(--s-3);
	border-radius: var(--radius-field);
	border: 2px solid var(--color-border);
	cursor: pointer;
	background-color: var(--color-bg-high);
	min-width: 160px;
	transition: background-color 0.15s;
	height: 100%;

	&:hover .checkCircle {
		border-color: var(--color-accent-high);
	}

	@container (max-width: 599px) {
		min-width: unset;
	}
}

.selected {
	background-color: var(--color-bg-higher);
}

.focusVisible {
	outline: var(--focus-ring);
}

.teamAvatarInfo {
	display: flex;
	align-items: center;
	gap: var(--s-1-5);
	min-width: 0;
}

.checkCircleSelected {
	background-color: var(--color-accent-high);
	border-color: var(--color-accent-high);
	color: var(--color-text-inverse);

	& svg {
		stroke-width: 3px;
	}
}

.teamInfo {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
	min-width: 0;
}

.teamName {
	font-weight: var(--weight-semi);
	font-size: var(--font-sm);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.teamNameLong {
	font-size: var(--font-2xs);
}

.teamLabel {
	font-size: var(--font-3xs);
	font-weight: var(--weight-semi);
}

.myTeamLabel {
	color: var(--color-success-high);
}

.opponentLabel {
	color: var(--color-error-high);
}

.koLabel {
	display: flex;
	align-items: center;
	gap: var(--s-1-5);
	font-weight: var(--weight-semi);
	cursor: pointer;
}

.confirmationRoot {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--s-4);
}

.confirmationMessage {
	font-weight: var(--weight-semi);
	text-align: center;
	color: var(--color-warning);
	margin-block-end: var(--s-4);
}

.confirmationButtons {
	display: flex;
	gap: var(--s-3);
	margin-block-start: var(--s-4);
}
