:root {
	--pink: #ff2f92;
	--pink-light: #ff5bad;
	--pink-dark: #b80f5d;
	--black: #050407;
	--dark: #0b0710;
	--dark-purple: #160817;
	--white: #ffffff;
	--text: #f5edf3;
	--text-muted: #b9aab4;
	--green: #42d392;
	--red: #ff4d67;
	--yellow: #ffd21c;
	--line: #c41474;
	--panel-bg: linear-gradient(
		135deg,
		rgba(25, 8, 25, 0.96),
		rgba(5, 4, 7, 0.96)
	);
}

* {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	padding: 0;
}

body {
	font-family: "Manrope", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
	color: var(--text);
	background-image: url("./images/background.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

.container {
	width: 60%;
	max-width: 1128px;
	margin: 40px auto;
	padding: 0 16px;
}

h1 {
	padding-left: 1em;
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: 1px;

	color: var(--pink-light);

	text-shadow:
		0 0 8px rgba(255, 95, 173, 0.7),
		0 0 20px rgba(184, 15, 93, 0.35);

	margin: 24px 0 18px;
}

.countdown {
	margin: 0 0 16px auto;
	width: fit-content;
	max-width: 100%;
	padding: 10px 14px;
	background: var(--panel-bg);
	color: var(--white);
	border: 1px solid var(--pink-dark);
	border-radius: 8px;
	font-family: "Courier New", monospace;
	font-weight: 700;
	text-align: center;
}

.reward {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 64px;
	margin-bottom: 16px;
	padding: 12px 16px;
	border: 3px solid var(--white);
	border-radius: 10px;
	background: linear-gradient(135deg, #ffd900, #ffb800);
	color: #231a00;
	text-align: center;
	font-family: "Trebuchet MS", sans-serif;
	font-size: 1.08rem;
	font-weight: 700;
}

.info {
	width: 100%;
	height: 20%;
	margin-bottom: 16px;
	padding-left: 5.2em;
	padding-top: 1em;
	padding-bottom: 1em;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: linear-gradient(135deg, #010a42, #51aced);
	color: var(--white);
	font-family: "JetBrains Mono", "Consolas", monospace;
	font-size: 0.98rem;
}

.info ol {
	margin: 0;
	padding-left: 20px;
}

.info li,
li {
	padding: 0.5em;
}

.info a {
	color: #ffe16b;
}

.panel {
	margin-top: 20px;
	padding: 16px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: var(--panel-bg);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

.state {
	padding: 12px;
	border-radius: 8px;
	border: 1px solid var(--line);
	background: rgba(255, 255, 255, 0.92);
	color: #1f2937;
}

.state.error {
	color: var(--red);
	border-color: #fecaca;
	background: #fef2f2;
}

table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 8px;
}

thead th {
	padding: 11px 10px;
	text-align: left;
	border-bottom: 1px solid var(--line);
	color: var(--text-muted);
	font-size: 0.86rem;
	text-transform: uppercase;
	letter-spacing: 0.35px;
}

tbody td {
	padding: 12px 10px;
	border-bottom: 1px solid rgba(196, 20, 116, 0.45);
	color: var(--text);
}

tbody tr:hover {
	background: rgba(255, 47, 146, 0.08);
}

tbody tr:last-child td {
	border-bottom: 0;
}

tbody tr:nth-child(1) td {
	color: var(--yellow);
	font-weight: 700;
}

.wins {
	color: var(--green);
	font-weight: 600;
}

.losses {
	color: var(--red);
	font-weight: 600;
}

.winrate-positive,
.winrate-positive {
	color: var(--green);
	font-weight: 600;
}

.winrate-negative {
	color: var(--red);
	font-weight: 600;
}

.rank-cell {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.rank-icon {
	width: 22px;
	height: 22px;
	object-fit: contain;
	flex-shrink: 0;
	transform: scale(9.2);
	margin-right: 0.5em;
}

.player-icon {
	width: 22px;
	height: 22px;
	object-fit: contain;
	flex-shrink: 0;
	transform: scale(1.8);
	margin-right: 1.5em;
}

button {
	margin-top: 14px;
	padding: 9px 14px;
	border: 1px solid var(--pink);
	border-radius: 10px;
	background: transparent;
	color: var(--pink);
	font-weight: 600;
	cursor: pointer;
	transition: 0.22s ease;
}

button:hover {
	background: var(--pink);
	color: var(--white);
	box-shadow: 0 6px 16px rgba(255, 47, 146, 0.35);
}

@media (max-width: 900px) {
	.container {
		margin: 24px auto;
	}

	table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}

	thead th,
	tbody td {
		font-size: 0.83rem;
		padding: 10px 8px;
	}
}

@media (max-width: 560px) {
	.container {
		padding: 0 10px;
	}

	.reward {
		font-size: 0.96rem;
	}

	.info {
		font-size: 0.9rem;
	}

	button {
		width: 100%;
	}

	.rank-icon {
		width: 20px;
		height: 20px;
	}
}
