/* base*/

body {
	margin: 0;
	background-color: #000;
	color: #fff;
	line-height: 24px;
	overscroll-behavior: none;
	position: relative;
	overflow: hidden;
}

body,
button,
p,
input,
span {
	font-family: "Imprima", sans-serif;
	font-size: 20px;
	text-align: center;
}

h1 {
	font-family: "Imprima", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 32pt;
	margin: 0;
	padding: 0;
}

button {
	outline: none;
	background: none;
	border: none;
	color: #fff;
	cursor: pointer;
}


/* layout */


#main {
	position: absolute;
	right: 0;
	height: 100%;
	width: 50%;
	align-items: center;
	justify-content: center;
	gap: 30px;
}

#main>h1 {
	margin-top: 31vh;
	text-align: center;
}

#stat {
	position: absolute;
	width: 300px;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

#fade {
	position: fixed;
	inset: 0;
	background: black;
	opacity: 1;
	transition: opacity 0.6s ease;
	z-index: 99999;
}

#fade:not(.active) {
	opacity: 0;
	pointer-events: none;
}



/* screens */


#menu-screen,
#room-enter-screen,
#login-screen {
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin-top: 71px;
}

#loading-screen {
	margin-top: 100px;
}

#leaderboard-screen {
	height: 100vh;
	width: 100vw;
	position: absolute;
	align-items: center;
	justify-content: center;
	background: #000;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	opacity: 0;
	visibility: hidden;
	display: flex;
}

#login-screen p {
	margin: 0;
	padding: 0;
}

#lobby-screen {
	height: 100vh;
	width: 100vw;
	position: absolute;
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}


/* buttons */


#google-btn {
	margin: 0 80px 0 80px;
}

#btn-leaderboard,
#btn-create-lobby {
	margin-top: 45px;
}

#btn-enter-lobby:disabled {
	opacity: 0.5;
}

.btn:disabled svg {
	visibility: hidden;
}

#btn-back-menu-lb,
#btn-leave-lobby {
	position: absolute;
	top: 25px;
	left: 0;
	width: 155px;
}

#btn-logout,
#btn-back-menu-room,
#btn-start-game {
	position: absolute;
	bottom: 25px;
	left: 50%;
	width: 155px;
	transform: translateX(-50%);
}

.btn {
	position: relative;
	background: none;
	border: none;
	color: white;
	font-size: 20px;
	cursor: pointer;
}


/* enter to lobby */


#lobby-code-input {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
}

#lobby-code-input::before {
	content: 'enter room id';
	position: absolute;
	font-size: 16px;
	margin-bottom: 57px;
	color: #A3F5C8;
}

.otp-input {
	width: 17px;
	height: 20px;
	text-align: center;
	font-size: 21px;
	outline: none;
	border: none;
	border-bottom: #fff solid 2px;
	background: none;
	color: white;
}


/* stat */


#tables-wrap {
	display: flex;
	flex-direction: row;
	gap: 247px;
	margin-left: 25px;
	text-align: left;
}

#tables-wrap p {
	text-align: left !important;
}

.stat-names {
	text-align: center;
	margin-top: 23px;
	margin-bottom: 28px;
}

#user-stats>p {
	margin: 18px 0 18px 0;
}

#first-table {
	margin-bottom: 50px;
}

#leaderboard-body {
	margin-top: 10px;
}

#top-players {
	width: 420px;
	color: #e6f1f5;
}

.row {
	display: grid;
	grid-template-columns: 1fr auto;
	padding: 9px 0;
}

.header {
	margin: 0;
	padding: 0;
}

.place {
	width: 64px;
	font-weight: 700;
}

.nick {
	width: 1px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.score {
	text-align: right;
	width: 96px;
	font-feature-settings: "tnum";
}

.me {
	color: #A3F5C8;
}


/* lobby */


#lobby-code-display {
	letter-spacing: 7px;
	padding-left: 30px;
}


#players-markers {
	height: 440px;
	width: 440px;
	border-radius: 100%;
	margin-bottom: 100px;
	position: relative;
	font-size: 14px;

}

.marker {
	position: absolute;
	transform: translate(-50%, -50%);
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
}

#lobby-screen>p {
	margin-top: 25px;
}


/* decor */

.gradient-line {
	width: 100%;
	height: 1px;
	background: linear-gradient(to right, #ffffff, rgba(255, 255, 255, 0.356));
}

.line {
	position: absolute;
	left: 0;
	bottom: -6px;
	width: 100%;
	height: 40px;
}

.line path {
	stroke: white;
	stroke-width: 2;
	stroke-dasharray: 1652;
	stroke-dashoffset: -1652;
	transition: stroke-dashoffset 0.5s cubic-bezier(.4, 0, .2, 1);
}

.btn:hover .line path {
	stroke-dashoffset: -826;
}