ui/medalstandingspanel.razor.scss
@import "Theme.scss";

MedalStandingsPanel, DailyTrophyStandingsPanel {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	font-family: $font;
	color: $white;
	z-index: 100;

	.standings-rail {
		position: absolute;
		top: 60px;
		bottom: 110px;
		flex-direction: column;
		overflow-y: scroll;
		pointer-events: all;
	}
	.standings-content { position: relative; flex-direction: column; }
	.medal-card {
		flex-shrink: 0;
		flex-direction: column;
		padding: 12px;
		background-color: rgba( 20, 25, 32, 0.9 );
		pointer-events: all;
	}
	.heading {
		position: relative;
		min-height: 32px;
		align-items: center;
		justify-content: center;
		margin-bottom: 12px;
	}
	.title { font-size: 28px; color: #f0df80; }
	.subtitle { font-size: 16px; color: #9ca7ae; margin-top: 4px; margin-bottom: 10px; }
	.columns { align-items: center; padding: 0 5px 7px; font-size: 19px; }
	// Share the heading's vertical space instead of leaving an empty row above it.
	.standings-rail .podium-card { position: relative; }
	.standings-rail .podium-card > .columns {
		position: absolute;
		top: 17px;
		left: 12px;
		right: 12px;
	}
	.column-spacer { flex-grow: 1; }
	.medal { width: 32px; flex-shrink: 0; justify-content: center; text-align: center; }
	.points { width: 100px; flex-shrink: 0; justify-content: center; text-align: center; margin-left: 12px; color: #f0df80; pointer-events: all; }
	.medal.zero { opacity: 0.25; }
	.gold { color: #edcf78; }
	.silver { color: #c6d3dc; }
	.bronze { color: #c88f68; }
	.medal-list { flex-direction: column; }
	.medal-row {
		height: 36px;
		flex-shrink: 0;
		align-items: center;
		padding: 0 5px;
		font-size: 22px;
		border-top: 1px solid rgba( 255, 255, 255, 0.05 );
		&.you { background-color: rgba( 79, 154, 160, 0.16 ); }
		&.personal { margin-top: 10px; }
	}
	.rank { width: 24px; flex-shrink: 0; color: #9ca7ae; }
	SteamAvatar { flex-shrink: 0; margin-right: 7px; }
	.name { flex-grow: 1; flex-shrink: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: $player-name; }
	.notice { padding: 20px 6px; font-size: 22px; color: #b4c0c5; }
	.freshness { margin-top: 10px; font-size: 17px; color: #7e898f; }
	.view-all, .compact-trigger {
		pointer-events: all;
		cursor: blank-hand;
		justify-content: center;
		padding: 9px 12px;
		font-size: 21px;
		color: #e3d5a0;
		background-color: rgba( 255, 255, 255, 0.05 );
		&:hover { background-color: rgba( 255, 255, 255, 0.12 ); color: $white; }
	}
	.view-all { margin-top: 12px; }
	.compact-trigger { position: absolute; left: 24px; top: 90px; border-bottom: 2px solid #d9bc6c; background-color: #202630; }
	.completion-trigger { top: 144px; border-bottom-color: #79c9c1; }
	// The daily screen's upper corners contain the level preview and character picker.
	&.daily-trophies .compact-trigger { top: 230px; }
	.completion-card { .title { color: #9cddd6; } .rank { width: 40px; } }
	.standings-rail .completion-card { margin-top: 18px; }
	.completion-count { width: 65px; flex-shrink: 0; justify-content: flex-end; text-align: right; color: #9cddd6; }
	.completion-count.complete { color: $score-victory; }
	.explanation { font-size: 21px; color: #9ca7ae; margin-top: 8px; }
	.close {
		position: absolute;
		top: 0;
		right: 0;
		width: 48px;
		height: 48px;
		.img { width: 28px; height: 28px; }
	}
	&.expanded {
		z-index: 2000;
		align-items: center;
		justify-content: center;
		pointer-events: all;
		.shade { position: absolute; width: 100%; height: 100%; background-color: rgba( 10, 14, 20, 0.92 ); pointer-events: all; }
		.medal-card { position: relative; top: 0; padding: 28px; max-height: 920px; background-color: #202630; border-top: 0; }
		.heading { min-height: 48px; padding: 0 60px; }
		.podium-card .heading { min-height: 96px; padding: 0 110px; }
		.medal-character-picker { position: absolute; left: 28px; top: 28px; z-index: 3000; }
		.completion-card .heading { margin-bottom: 20px; }
		.title { font-size: 40px; }
		.subtitle { font-size: 22px; }
		.notice.empty-medals { padding-top: 32px; }
		.columns { font-size: 25px; padding-right: 25px; }
		.medal { width: 64px; }
		.completion-count { width: 100px; }
		.rank { width: 42px; }
		.medal-list {
			overflow-y: scroll;
			max-height: 580px;
			min-height: 0;
			flex-shrink: 1;
			// Native bars follow wheel scrolling, dragging, and changes from Load More.
			// The 20px gutter leaves a 14px thumb after the engine's side insets.
			scrollbar-width: 20px;
			scrollbar-gutter: stable;
			scrollbar-color: #f8f5e6 transparent;
			> scrollbar {
				opacity: 1;
				cursor: blank-hand;
				> .thumb {
					border-radius: 0;
					opacity: 0.35;
				}
				> .thumb:hover, &.dragging > .thumb { opacity: 0.55; }
			}
		}
		.medal-row { height: 56px; font-size: 30px; }
	}
}