/**
 * @file leaderboard.css
 * @brief ggsp leaderboard + player-profile feature styles, themed via theme.css tokens.
 * @copyright Copyright (c) 2026 hoff.industries
*/

.leaderboard_container {
	display: grid;
	grid-template-areas: 'leaderboard latest';
	justify-content: space-between;
	gap: 10px;
	padding-left: 0.6vw;
	padding-right: 0.6vw;
	margin-top: 0.6em;
}

#div-leaderboard-section {
	grid-area: leaderboard;
	width: 50vw;
}

#div-latest-completion {
	grid-area: latest;
	align-self: start;
}

#div-map-times {
	grid-area: leaderboard;
	width: 50vw;
}

.latest-line {
	margin-top: 0px;
	padding: 0px;
	font-size: 1.4em;
	margin-bottom: var(--line-spacing);
}

.latest-date {
	margin-left: 2em;
	margin-bottom: 0.8em;
	font-size: 1.3em;
}

.latest-item,
.leaderboard-item {
	margin-top: 0px;
	padding: 0px;
	font-size: 1.3em;
	margin-left: 2em;
	margin-bottom: var(--line-spacing);
}

.leaderboard-item {
	display: block;
}

.leaderboard-table {
	border: none;
	vertical-align: top;
}

.leaderboard-button,
.leaderboard-more {
	cursor: pointer;
	background: none;

	font-family: var(--font-body);
	font-size: 1.4em;
	font-weight: bold;
	color: var(--text);
	border: none;
	display: block;
	margin-bottom: 0.5em;
}

.leaderboard-more {
	margin-left: 1em;
}

.leaderboard-first,
.leaderboard-second,
.leaderboard-third,
.leaderboard-misc,
.rank-one-text {
	text-decoration: none;
}

.leaderboard-first { color: var(--rank-1); }
.leaderboard-second { color: var(--rank-2); }
.leaderboard-third { color: var(--rank-3); }
.leaderboard-misc { color: var(--rank-misc); }
.rank-one-text { color: var(--text); }

/* frosted rounded bar: one around each achievement's earners, and one around the
   whole latest / top-players column. */
.achievement-players,
#div-latest-completion {
	padding: 0.7em 1.2em;
	border: var(--border-width) solid var(--accent);
	border-radius: var(--radius);
	background: rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(20px);
}

/* the earner bar fills the shrink-wrapped section so every bar shares one width
   tied to the longest row. */
.achievement-players {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 1.2em;
}

.achievement-players .leaderboard-item {
	margin-left: 0;
}

.profile_layout {
	gap: 0.2rem;
}

.profile_metadata {
	padding: 0.8rem;
	border: var(--border-width) solid var(--accent);
	border-radius: var(--radius);
	flex-shrink: 0;
}

.profile_top_maps_container {
	width: 100%;
	padding: 0px;
	background-size: cover;
	background-repeat: no-repeat;
	border: var(--border-width) solid var(--accent);
	border-radius: var(--radius);
}

.profile_top_maps {
	backdrop-filter: blur(20px);
	background: rgba(0, 0, 0, 0.7);
	border-radius: 0.2em;

	padding-left: 2em;
	padding-bottom: 1em;
	padding-right: 5em;
	padding-top: 0.6em;
	width: fit-content;
}

.profile-top-map-item {
	font-weight: bold;
	font-size: 1.4em;
}

@media (max-aspect-ratio: 1 / 1) {
	#div-leaderboard-section {grid-area: 2 / 1; width: auto;}
	#div-latest-completion {grid-area: 1 / 1;}
	#div-map-times {grid-area: 2 / 1; width: auto;}

	.profile_layout {
		min-height: 50vh;
	}

	.profile_metadata h2 {
		margin-top: 0.25em;
		margin-bottom: 0.25em;
	}
}
