html, body {
	font-family: "Segoe UI Variable", "Segoe UI", sans-serif;
	background-color: #284b94;
	font-size: 20px;
	display:grid;
	
}

a, .btn-link {
	color: #006bb7;
}

.btn-primary {
	color: #fff;
	background-color: #1b6ec2;
	border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
	box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
	padding-top: 1.1rem;
}

h1:focus {
	outline: none;
}

.valid.modified:not([type=checkbox]) {
	outline: 1px solid #26b050;
}

.invalid {
	outline: 1px solid #e50000;
}

.validation-message {
	color: #e50000;
}

.blazor-error-boundary {
	background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
	padding: 1rem 1rem 1rem 3.7rem;
	color: white;
}

	.blazor-error-boundary::after {
		content: "An error has occurred."
	}

.darker-border-checkbox.form-check-input {
	border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
	color: var(--bs-secondary-color);
	text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
	text-align: start;
}

.CGrid {
	background-color: #36667f;
	color: #FFFFFF;
	font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
	font-size: 30px;
	font-weight: bold;
	width: fit-content;
}

.CGridSmall {
	margin-top: 15px;
	background-color: #46768f;
	font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
	font-weight: bold;
}

	.CGridSmall .CCell {
		color:#fff;
		display: flex;
		width: 30px;
		height: 30px;
		border-style: none;
	}

.CRow {
	display: flex;
	align-content: flex-start;
	justify-content: center;
	flex-wrap: nowrap;
}

.CCell {
	padding: 0px;
	display: flex;
	width: 55px;
	height: 48px;
	border-width: 2px;
	border-style: groove;
	border-color: #6e84b3;
	border-radius: 3px;
}

	.CLetter .N {
		
	}
.CLetter.B {
	background-color: #EB422B;
	border-radius: 1px;
}

.CLetter.M {
	background: radial-gradient(circle at center, #FFDE05 0%, #F2B705 47%, transparent 51%);
	border-radius: 1px;
}

.CLetter.S {
	background-color: #4ca3bf;
	border-radius: 3px;
}

.CLetter {
	width: 100%;
	/* justify-content: center; */
	/* align-items: center; */
	text-align: center;
	height: 100%;
}

.Lobby {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
}

	.Lobby .header {
		display: flex;
		font-size: 1.5rem;
		color: white;
		justify-content: center;
		/* border: 2px inset #283b84; */
		/* border-radius: 10px; */
		/* background-color: #183b84; */
		/* vertical-align: middle; */
	}
		.Lobby .header .Title {
			justify-content: center;
			width: 100%;
			border: 2px inset #283b84;
			border-radius: 10px;
			background-color: #183b84;
			vertical-align: middle;
			width: 50%;
			display: flex;
		}

@media (max-width: 1000px) {
	.Lobby .header {
		font-size: 1rem;
	}	
}

	.Lobby .body {
		display: flex;
		justify-content: center;
		padding-top: 20px;
	}

	.Lobby .tools {
		display: flex;
		font-size: 1.5rem;
		color: white;
		justify-content: center;
	}
.Lobby .tools button{
	display: flex;
}
.Lobby .table {
	display: block;
	min-width: 20%;
	/* max-width: 50%; */
	height: calc(40vh);
	background-color: #2a5da5;
	border-radius: 4px;
	padding: 5px;
	overflow-y: auto;
}

@media (max-width: 640px) {
	.Lobby .table {
		max-width: 100%;
		height: calc(50vh);
	}
}

.Lobby .table td {
	width: 2200px;
	border-radius: 7px;
}

		.Lobby .table div.player {
			width: 100%;
			background-color: white;
			color: #1861ac;
			width: 100%;
			font-family: monospace;
			font-size: xx-large;
			padding-left: 10px;
		}
@media (max-width: 640px) {
	.Lobby .table div.player {
		font-size: small;
	}
}

	.tools {
		text-transform: uppercase !important;
		font-size: 20px;
		width: 50%;
		margin-left: 25%;
		align-self: center;
	}

	.login {
		text-transform: uppercase;
		font-size: 20px;
	}

	.tdplayer {
		padding: 12px 16px;
		background-color: #258cfb;
		color: #333;
		text-align: left;
		vertical-align: middle;
	}

	.player {
		border: 1px solid #ccc;
		border-radius: 15px;
		background-color: #158cfb;
		text-align: left;
		vertical-align: middle;
		transition: background-color 0.3s ease;
	}

	.login input {
		margin-right: 10px;
		text-transform: uppercase;
	}

	.control {
		text-transform: uppercase;
	}


	.gamelayout {
		display: flex;
		min-height: calc(100vh - 200px);
		flex-direction: column;
		flex-wrap: nowrap;
	}

		.gamelayout .header {
			display: flex;
			flex-grow: 0;
			flex-direction: row;
			justify-content: space-between;
			background-color: #284b94;
			font-size: 1rem;
		}

		.gamelayout .body {
			flex-grow: 1;
			display: flex;
			flex-direction: row;
			max-height: calc(100vh - 156px);
		}

			.gamelayout .body .left {
				display: flex;
				flex-grow: 0;
				flex-direction: column;
				flex-shrink: 0;
				min-width: 270px;
				max-height: calc(100vh - 156px);
			}

			.gamelayout .body .middle {
				display: flex;
				flex-direction: column;
				flex-grow: 1;
				height: 100%;
				align-items: center;
				max-height: calc(100vh - 156px);
			}

			.gamelayout .body .right {
				display: flex;
				flex-grow: 0;
				flex-direction: row;
				flex-wrap: wrap;
				align-items: flex-start;
				justify-content: flex-start;
				align-content: flex-start;
				overflow-y: auto;
				max-height: calc(100vh - 156px);
				max-width: 330px;
				min-width: 270px;
			}

				.gamelayout .body .right .progress {
					width: 200px;
				}

		.gamelayout .keyboard {
			display: flex;
			flex-direction: column;
			justify-content: center;
			margin-top: 10px;
		}

		.gamelayout .keyboard-row {
			display: flex;
			flex-direction: row;
			justify-content: center;
		}

		.gamelayout .keyboard .key {
			width: 40px;
			height: 50px;
			margin: 5px;
			font-size: 21px;
			font-weight: bold;
			color: #fff;
			background-color: #1b6ec2;
			border: none;
			border-radius: 8px;
			cursor: pointer;
			transition: background-color 0.3s ease;
			display: flex;
			align-items: center;
			justify-content: center;
		}

			.gamelayout .keyboard .key.large {
				width: 74px;
			}

			.gamelayout .keyboard .key.used {
				background-color: #8888;
				color: #888888;
			}

			.gamelayout .keyboard .key.found {
				background-color: #EB422B;
				color: #CCCCCC;
			}

			.gamelayout .keyboard .key.misplaced {
				background-color: #F2B705;
				color: #FFF;
			}

			.gamelayout .keyboard .key:hover {
				background-color: #155fae;
			}

			.gamelayout .keyboard .key:active {
				background-color: #0f4f8e;
			}

		.gamelayout .status {
			display: flex;
			justify-content: center;
			margin-top: 10px;
			font-size: 1.5rem;
			color: white;
		}

			.gamelayout .status .status-item {
				margin: 0 15px;
			}

		.gamelayout .left .player-info {
			flex-grow: 0;
			text-align: center;
			color: white;
			font-size: 1.2rem;
			margin-bottom: 20px;
		}

			.gamelayout .left .player-info .label {
				font-weight: bold;
			}

			.gamelayout .left .player-info .value {
				margin-left: 10px;
			}

	.navbar-toggler {
		appearance: none;
		cursor: pointer;
		width: 3.5rem;
		height: 2.5rem;
		color: white;
		position: absolute;
		top: 0.5rem;
		right: 1rem;
		border: 1px solid rgba(255, 255, 255, 0.1);
		background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
	}

		.navbar-toggler:checked {
			background-color: rgba(255, 255, 255, 0.5);
		}

	.top-row {
		min-height: 3.5rem;
		background-color: rgba(0,0,0,0.4);
	}

	.navbar {
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: flex-end;
	}


	.navbar-brand {
		font-size: 1.1rem;
		margin-right:0px;
	}

		.navbar-brand img {
			width: 300px;
			margin-top: 0px;
		}


	.bi {
		display: inline-block;
		position: relative;
		width: 1.25rem;
		height: 1.25rem;
		margin-right: 0.75rem;
		top: -1px;
		background-size: cover;
	}

	.bi-house-door-fill-nav-menu {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
	}

	.bi-plus-square-fill-nav-menu {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
	}

	.bi-list-nested-nav-menu {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
	}

	.nav-item {
		font-size: 0.9rem;
		padding-bottom: 0.5rem;
	}

		.nav-item:first-of-type {
			padding-top: 1rem;
		}

		.nav-item:last-of-type {
			padding-bottom: 1rem;
		}

		.nav-item ::deep .nav-link {
			color: #d7d7d7;
			background: none;
			border: none;
			border-radius: 4px;
			height: 3rem;
			display: flex;
			align-items: center;
			line-height: 3rem;
			width: 100%;
		}

		.nav-item ::deep a.active {
			background-color: rgba(255,255,255,0.37);
			color: white;
		}

		.nav-item ::deep .nav-link:hover {
			background-color: rgba(255,255,255,0.1);
			color: white;
		}

	.nav-scrollable {
		display: none;
	}

	.navbar-toggler:checked ~ .nav-scrollable {
		display: block;
	}

	@media (min-width: 641px) {
		.navbar-toggler {
			display: none;
		}

		.nav-scrollable {
			/* Never collapse the sidebar for wide screens */
			display: block;
			/* Allow sidebar to scroll for tall menus */
			height: calc(100vh - 3.5rem);
			overflow-y: auto;
		}
	}

	.page {
		position: relative;
		display: flex;
		flex-direction: column;
	}

	main {
		flex: 1;
	}

	.sidebar {
		background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
	}

	.top-row {
		background-color: #1e3a8a;
		border-bottom: 1px solid #d6d5d5;
		justify-content: flex-start;
		height: 3rem;
		display: flex;
		align-items: center;
	}

		.top-row ::deep a, .top-row ::deep .btn-link {
			white-space: nowrap;
			margin-left: 1.5rem;
			text-decoration: none;
		}

			.top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
				text-decoration: underline;
			}

			.top-row ::deep a:first-child {
				overflow: hidden;
				text-overflow: ellipsis;
			}

	@media (max-width: 640.98px) {
		.top-row {
			justify-content: space-between;
		}

			.top-row ::deep a, .top-row ::deep .btn-link {
				margin-left: 0;
			}
	}

	@media (min-width: 641px) {
		.page {
			flex-direction: row;
		}

		.sidebar {
			width: 250px;
			height: 100vh;
			position: sticky;
			top: 0;
		}

		.top-row {
			position: sticky;
			top: 0;
			z-index: 1;
		}

			.top-row.auth ::deep a:first-child {
				flex: 1;
				text-align: right;
				width: 0;
			}

		.top-row, article {
			padding-left: 2rem !important;
			padding-right: 1.5rem !important;
		}
	}

	#blazor-error-ui {
		color-scheme: light only;
		background: lightyellow;
		bottom: 0;
		box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
		box-sizing: border-box;
		display: none;
		left: 0;
		padding: 0.6rem 1.25rem 0.7rem 1.25rem;
		position: fixed;
		width: 100%;
		z-index: 1000;
	}

		#blazor-error-ui .dismiss {
			cursor: pointer;
			position: absolute;
			right: 0.75rem;
			top: 0.5rem;
		}

.TProgress {
	margin-top: 6px;
	display: flex;
	flex-direction: column;
	padding: 3px;
	border-width: 2px;
	margin-right: 3px;
	border-radius: 5px;
	border-style: solid;
	border-color: white;
	height: 95px;
	width: 130px;
}

	.TProgress .header {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		color: white;
		font-size: 12px;
		flex-wrap: nowrap;
		overflow: hidden;
	}

		.TProgress .header .round {
			display: flex;
			font-size: 8px;
			align-items: center;
			letter-spacing: -3px;
		}			

.TProgress .header .nickname {
	overflow: hidden;
	
	text-wrap-mode: nowrap;
}

		.TProgress .content {
			display: flex;
			flex-direction: column;
			padding: 0;
		}

			.TProgress .content .prow {
				display: flex;
				width: 100%;
				flex-direction: row;
				font-size: 6px;
				border-bottom-color: #065d80;
				border-bottom-width: 1px;
				border-bottom-style: solid;
			}

		.TProgress .letter {
			width: 100%;
			border-color: #518dbb;
		}

		.TProgress .B {
			background-color: #FF0000;
		}

	.TProgress .M {
		background-color: #ded46f;
	}

		.TProgress .N {
			background-color: #36667f;
		}



	.gamelayout .body .right .progress {
		width: 200px;
		height: 15px;
		margin-top: -19px;
	}



	/* States */
	.results-loading, .results-empty {
		padding: 18px 16px;
		border-radius: 14px;
		background: rgba(255,255,255,.10);
		border: 1px solid rgba(255,255,255,.18);
	}

	/* Card */
.results-card {
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.16);
	min-width: 40%;
	max-width: 600px;
	width: 100%;
	background: linear-gradient(145deg, #1f3b76, #1f3b76);
	box-shadow: 0 18px 35px rgba(0, 0, 0, 0.35);
	color: #f0fafb;
}

	.results-header {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		padding: 18px 18px 14px 18px;
		border-bottom: 1px solid rgba(255,255,255,.14);
		background: rgba(255,255,255,.06);
	}

	.results-title {
		font-size: 1.15rem;
		font-weight: 800;
		letter-spacing: .2px;
	}

	.results-subtitle {
		font-size: .9rem;
		opacity: .85;
	}

	/* Table */
	.results-table {
		width: 100%;
		border-collapse: separate;
		border-spacing: 0;
	}

		.results-table thead th {
			text-align: left;
			font-size: .82rem;
			font-weight: 700;
			padding: 12px 16px;
			opacity: .9;
			background: rgba(0,0,0,.10);
			border-bottom: 1px solid rgba(255,255,255,.12);
		}

		.results-table tbody td {
			padding: 12px 16px;
			border-bottom: 1px solid rgba(255,255,255,.10);
			vertical-align: middle;
		}

	.col-rank {
		width: 90px;
	}

	.col-time {
		width: 220px;
		text-align: right;
	}

	.results-table thead .col-time {
		text-align: right;
	}

	.nick {
		font-weight: 700;
		letter-spacing: .2px;
	}

	.time {
		font-variant-numeric: tabular-nums;
		font-weight: 700;
	}

	/* Rows */
	.results-table tbody tr {
		transition: transform .15s ease, background .15s ease;
	}

		.results-table tbody tr:hover {
			background: rgba(255,255,255,.06);
		}

		.results-table tbody tr:last-child td {
			border-bottom: none;
		}

	/* Podium effect for top 3 */
	.podium {
		background: rgba(255,255,255,.06);
	}

		.podium td {
			padding-top: 16px;
			padding-bottom: 16px;
		}

		.podium .nick {
			font-size: 1.08rem;
		}

		.podium .time {
			font-size: 1.02rem;
		}

	.podium-1 {
		background: rgba(255, 215, 0, .12);
	}

	.podium-2 {
		background: rgba(192, 192, 192, .10);
	}

	.podium-3 {
		background: rgba(205, 127, 50, .10);
	}

	/* Rank badges */
	.rank-badge {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		height: 32px;
		padding: 0 10px;
		border-radius: 999px;
		font-weight: 900;
		font-variant-numeric: tabular-nums;
		background: rgba(255,255,255,.10);
		border: 1px solid rgba(255,255,255,.18);
	}

	.rank-gold {
		color: #1c1400;
		background: linear-gradient(180deg, rgba(255,215,0,.95), rgba(255,193,7,.85));
		border-color: rgba(255,215,0,.65);
		box-shadow: 0 6px 18px rgba(255,215,0,.18);
	}

	.rank-silver {
		color: #0d0d0d;
		background: linear-gradient(180deg, rgba(230,230,230,.95), rgba(190,190,190,.85));
		border-color: rgba(230,230,230,.55);
		box-shadow: 0 6px 18px rgba(220,220,220,.12);
	}

	.rank-bronze {
		color: #1a0f08;
		background: linear-gradient(180deg, rgba(205,127,50,.95), rgba(160,92,30,.85));
		border-color: rgba(205,127,50,.55);
		box-shadow: 0 6px 18px rgba(205,127,50,.12);
	}

	/* In-progress styling */
	.inprogress .time {
		opacity: .85;
	}

	.status-tag {
		margin-left: 10px;
		display: inline-block;
		padding: 3px 10px;
		border-radius: 999px;
		font-size: .72rem;
		font-weight: 800;
		letter-spacing: .2px;
		background: rgba(255,255,255,.12);
		border: 1px solid rgba(255,255,255,.16);
		opacity: .95;
	}

	.results-wrapper {
		align-items: center;
		display: flex;
		justify-content: center;
		color: #FFF;
	}

	.failed {
		color: #CCC;
		background-color: #FFFFFF66;
	}


.home-root {
	/* position: relative; */
	height: calc(100vh - 150px);
	display: flex;
	justify-content: normal;
	align-items: center;
	flex-direction: column;
}

	/* Grille en fond */
.home-grid {
	opacity: 1;
	transform: scale(0.7);
	margin-top: 24px;
}

.home-overlay {
	display: flex;
	/* justify-content: center; */
	align-items: center;
	flex-direction: column;
	/* padding: 5px; */
	/* margin: 5px; */
}

.home-button {
	width: 100%;
	font-size: 1.5rem;
	padding: 1px 32px;
	border-radius: 14px;
	z-index: 10;
	margin-bottom: 10px;
	box-shadow: 0 6px 0 #16346a, 0 10px 18px rgba(0, 0, 0, 0.35);
}

	.failed {
		opacity: 0.35;
		transform: scale(0.9);
	}
.win {
	opacity: 0.85;
	transform: scale(0.9);
}

	.navbar .version {
		color: white;
		font-size: 0.6rem;
	}

	/* Responsive */
	@media (max-width: 520px) {
		html, body {
			font-family: "Segoe UI Variable", "Segoe UI", sans-serif;
			background-color: #284b94;
			font-size: 10px;
			text-transform: uppercase;
		}

		.gamelayout .body .left {
			display: none;
		}

		.gamelayout .body .right {
			display: none;
		}

		.tools {
			text-transform: uppercase !important;
			font-size: 15px;
			width: unset;
			margin-left: unset;
		}

		.login {
			font-size: 15px;
		}

		.col-time {
			width: 140px;
		}

		.results-wrapper {
			padding: 16px;
		}

		.results-table thead th, .results-table tbody td {
			padding: 10px 12px;
		}

		.podium .nick {
			font-size: 1.02rem;
		}

		.CGrid {
			font-size: 24px;
			font-weight: bold;
		}

		.CRow {
			align-content: flex-start;
			justify-content: unset;
			flex-wrap: nowrap;
		}

		.CCell {
			width: 36px;
			height: 42px;
		}

		.gamelayout .keyboard .key {
			width: 25px;
			height: 36px;
			margin: 3px;
			font-size: 18px;
			cursor: pointer;
		}

			.gamelayout .keyboard .key.large {
				width: 60px;
			}
	}

	.results-toolbar {
		display: flex;
		justify-content: center;
		padding: 15px;
	}


	/* Bouton principal */
	.results-replay {
		font-size: 1rem;
		padding: 10px 25px;
		border-radius: 14px;
		z-index: 10;
	}


	.noselect {
		/*http://stackoverflow.com/questions/826782/css-rule-to-disable-text-selection-highlighting*/
		-webkit-touch-callout: none; /* iOS Safari */
		-webkit-user-select: none; /* Chrome/Safari/Opera */
		-moz-user-select: none; /* Firefox */
		-ms-user-select: none; /* IE/Edge */
		user-select: none; /* non-prefixed version, currently not supported by any browser */
	}

	.error {
		color: #ff0000;
		font-weight: 600;
		display: flex;
		justify-content: center;
	}

.home-footer {
	display: flex;
	height: 100%;
	justify-content: center;
}

.DailyResult {
	display: flex;
	flex-direction: column;
	align-items: center;
	color:white;
}



.daily-result-container {
	display: flex;
	justify-content: center;
	padding: 2rem 1rem;
}

.daily-result-card {
	max-width: 600px;
	width: 100%;
	background: linear-gradient(145deg, #1f3b76, #1f3b76);
	border-radius: 18px;
	padding: 1.8rem 1.6rem;
	box-shadow: 0 18px 35px rgba(0, 0, 0, 0.35);
	color: #f9fafb;
	border: 1px solid rgba(156, 163, 175, 0.25);
}

.daily-result-title {
	margin: 0 0 1.4rem 0;
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-align: center;
	color: #facc15;
	text-shadow: 0 0 12px rgba(250, 204, 21, 0.35);
}

.daily-result-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	width:100%;
}

.daily-result-failed {
	margin-top: 0.5rem;
	padding: 1rem 1.2rem;
	border-radius: 14px;
	background: rgba(239, 68, 68, 0.08);
	border: 1px solid rgba(248, 113, 113, 0.35);
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	align-items: center;
}

.daily-result-failed-label {
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #fecaca;
}

.daily-result-word {
	font-size: 1.4rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #fee2e2;
}

@media (max-width: 640px) {
	.daily-result-card {
		padding: 1.4rem 1.1rem;
	}

	.daily-result-word {
		font-size: 1.2rem;
		letter-spacing: 0.14em;
	}
}

.help-page{
	color:white;
}


.help-page {
	max-width: 900px;
	margin: 40px auto;
	padding: 0 16px;
}

/* Bloc générique centré */
.tusmo-section {
	background-color: #2a5da5;
	border-radius: 12px;
	margin: 16px auto;
	padding: 24px 20px;
	text-align: center;
	box-shadow: 0 8px 16px rgba(0,0,0,0.25);
	border: 1px solid #1a4d85;
}

/* Titre de section */
.tusmo-section-title {
	font-size: 1.4rem;
	font-weight: 600;
	margin-bottom: 16px;
	color: #f9fafb;
}

/* Texte de base centré dans les blocs */
.tusmo-text {
	font-size: 0.95rem;
	line-height: 1.6;
	color: #e5e7eb;
}

/* Listes centrées, mais texte lisible (aligné à gauche) à l'intérieur */
.tusmo-list {
	list-style-position: inside;
	padding-left: 0;
	margin: 0 auto;
	max-width: 700px;
	text-align: left;
}

.tusmo-list-ordered {
	counter-reset: tusmo-counter;
}

	.tusmo-list-ordered > li {
		margin: 6px 0;
	}

.tusmo-list-unordered > li {
	margin: 4px 0;
}

/* Petits badges d'explication */
.tusmo-badge {
	display: inline-block;
	min-width: 80px;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 600;
	color: #111827;
	background-color: #e5e7eb;
	text-align: center;
	margin-right: 4px;
}

.tusmo-badge-correct {
	background-color: #FF2345;
	color: #052e16;
}

.tusmo-badge-present {
	background-color: #cdc26f;
	color: #422006;
}

.tusmo-badge-absent {
	background-color: #46768f;
	color: #f9fafb;
}

/* Grille d'exemples centrée */
.tusmo-grid-examples {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	margin-top: 16px;
}

.tusmo-card {
	background-color: #1a4da5;
	border-radius: 10px;
	padding: 16px 14px;
	width: 260px;
	max-width: 100%;
	text-align: center;
	border: 1px solid #1f2937;
}

/* Affichage des mots exemples */
.tusmo-word-example {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-bottom: 10px;
}

.tusmo-letter {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
	border: 1px solid #4b5563;
	font-weight: 700;
	font-size: 1.1rem;
	text-transform: uppercase;
	background-color: #020617;
	color: #f9fafb;
}

.tusmo-letter-correct {
	background-color: #22c55e;
	border-color: #16a34a;
	color: #052e16;
}

.tusmo-letter-present {
	background-color: #eab308;
	border-color: #ca8a04;
	color: #422006;
	background: radial-gradient(circle at center, #cdc26f 0%, #d5c500 47%, transparent 51%);
}

.tusmo-letter-absent {
	background-color: #4b5563;
	border-color: #374151;
	color: #f9fafb;
}

/* Petites lettres dans le texte */
.tusmo-letter-mini {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 4px;
	font-size: 0.75rem;
	font-weight: 700;
	margin-right: 4px;
}

.tusmo-letter-mini-correct {
	background-color: #FF2345;
	color: #052e16;
}

.tusmo-letter-mini-present {
	background-color: #cdc26f;
	color: #422006;
}

.tusmo-letter-mini-absent {
	background-color: #4b5563;
	color: #f9fafb;
}

/* FAQ */
.tusmo-faq-item {
	margin: 10px auto;
	max-width: 700px;
	text-align: left;
}

.tusmo-faq-question {
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 4px;
	color: #e5e7eb;
}

/* Footer centré */
.tusmo-text-center {
	text-align: center;
}

.tusmo-section-footer {
	margin-top: 24px;
}

/* Adaptation mobile */
@media (max-width: 640px) {
	.tusmo-section {
		padding: 18px 14px;
	}

	.tusmo-section-title {
		font-size: 1.2rem;
	}

	.tusmo-card {
		width: 100%;
	}
}

a.links {
	color:#fff;
}

.copy-notification {
	display: flex;
	justify-content: center;
	color: rgb(250, 204, 21);
	font-size: 1.1rem;
	font-weight: 200;
	text-shadow: rgba(250, 204, 21, 0.15) 0px 0px 12px;
}
wordsresults {
	display: flex;
	width:50%;
}
.wordresult {
	display: flex;
}

.highscore-item {
	display:flex;
		color: #1861ac;
		width: 100%;
		font-family: monospace;
		font-size: xx-large;
		padding-left: 10px;
}

.highscore-name {
	color: #FFFFFF;
	text-transform:uppercase;
}
.highscore-score {
	color: #FFFFFF;
	text-transform: uppercase;
}
.highscore-container {
		display: block;
		min-width: 20%;
		max-width: 40%;
		height: calc(20vh);
		background-color: #2a5da5;
		border-radius: 19px;
		padding: 5px;
		overflow-y: hidden;
}

@keyframes highscore-light {
	0% {
		transform: scale(0.7);
		opacity: 0.4;
	}

	100% {
		transform: scale(1);
		opacity: 1;
	}
}

@keyframes highscore-scroll {
	0% {
		transform: translateY(0);
	}

	100% {
		transform: translateY(-50%);
	}
}



@media (max-width: 900px) {
	.main-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}


.main-layout {
	display: flex;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 1.5rem;
	align-items: flex-start;
	flex-direction: row;
	justify-content: center;
}

.lobby-container {
	width: 400px;
	max-width: 600px;
	/* margin: 2rem auto; */
	border-radius: 16px;
	background: linear-gradient(145deg, #375495, #4d82c3);
	box-shadow: 0 8px 14px rgb(0 0 0 / 90%);
	color: #e5e7eb;
	padding: 1.75rem 1.5rem 2rem 1.5rem;
	border: 1px solid rgba(148, 163, 184, 0.25);
	position: relative;
	overflow: hidden;
}

	.lobby-container::before {
		content: "";
		position: absolute;
		inset: 0;
		background: radial-gradient(circle at top left, rgba(56, 189, 248, 0.18), transparent 55%), radial-gradient(circle at bottom right, rgba(129, 140, 248, 0.18), transparent 55%);
		pointer-events: none;
		mix-blend-mode: screen;
	}

.lobby-inner {
	position: relative;
	z-index: 1;
}

.lobby-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.25rem;
	border-bottom: 1px solid rgba(148, 163, 184, 0.35);
	padding-bottom: 0.75rem;
}

.lobby-title-block {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.lobby-main-title {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #f9fafb;
}

.lobby-subtitle {
	font-size: 0.875rem;
	color: #9ca3af;
}

.lobby-timer-pill {
	background: rgb(26 48 101 / 85%);
	border-radius: 17px;
	padding: 0.3rem 0.9rem;
	font-size: 0.8rem;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: #e5e7eb;
	border: 1px solid rgba(148, 163, 184, 0.6);
	width: 100%;
	justify-content: space-around;
}

.lobby-timer-label {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.7rem;
	color: #9ca3af;
}

.lobby-timer-value {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	color: #fff;
	font-size: 40px;
}

.lobby-body {
	margin-bottom: 1.25rem;
	background: rgba(15, 23, 42, 0.65);
	border-radius: 0.9rem;
	border: 1px solid rgba(31, 41, 55, 0.9);
	padding: 0.75rem 0.75rem 0.35rem 0.75rem;
	max-height: 260px;
	overflow-y: auto;
}

.lobby-table {
	width: 100%;
	border-collapse: collapse;
}

.lobby-player-row {
	transition: background-color 0.2s ease, transform 0.1s ease;
}

	.lobby-player-row:nth-child(odd) {
		/* background: rgba(255,255,255, 0.65); */
	}

	.lobby-player-row:nth-child(even) {
		/* background: rgba(255,255,255, 0.45); */
	}

.lobby-player-cell {
	padding: 0.45rem 0.65rem;
	border-bottom: 1px solid rgba(31, 41, 55, 0.9);
}

.lobby-player {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.92rem;
	color: #e5e7eb;
}

.lobby-player-badge {
	width: 24px;
	height: 24px;
	border-radius: 999px;
	background: radial-gradient(circle at 30% 20%, #38bdf8, #4f46e5);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.7rem;
	font-weight: 700;
	color: #0b1120;
	box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.9);
}

.lobby-player-name {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 260px;
	color: #442d69;
	font-weight: bold;
}

.lobby-tools {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.lobby-tools-top {
	display: flex;
	gap: 0.5rem;
}

.lobby-input {
	flex: 1;
}

.lobby-join-btn :global(button) {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.lobby-join-btn label {
	margin: 0;
	font-size: 0.8rem;
}

.lobby-error {
	margin-top: 0.3rem;
	font-size: 0.8rem;
	color: #fecaca;
}

.lobby-footer-note {
	margin-top: 0.75rem;
	font-size: 0.75rem;
	color: #6b7280;
	text-align: right;
}

@media (max-width: 1000px) {
	.HighScoreDaily-Container {
		display:none;
	}

}
