ui/leaderboardpage.razor.scss
@import "theme";
.leaderboard-page
{
width: 100%;
height: 100%;
flex-direction: column;
align-items: center;
justify-content: flex-start;
gap: 16px;
padding: $deadzone-y $deadzone-x;
padding-top: 128px;
}
.eyebrow
{
font-family: $display-font;
font-size: 13px;
font-weight: 800;
letter-spacing: 4px;
color: $accent-red;
}
.page-title
{
font-family: $header-font;
font-size: 44px;
font-weight: 800;
color: $text-bright;
margin-bottom: 8px;
}
.filter-row
{
flex-direction: row;
align-items: center;
justify-content: flex-start;
gap: 10px;
width: 100%;
max-width: 560px;
cursor: pointer;
.filter-label
{
font-family: $display-font;
font-size: 12px;
font-weight: 800;
letter-spacing: 2px;
text-transform: uppercase;
color: $hud-text-muted;
}
}
.checkbox
{
width: 26px;
height: 26px;
align-items: center;
justify-content: center;
border-radius: 8px;
background-color: $surface-mid;
border: 2px solid rgba( 0, 0, 0, 0.1 );
box-shadow: 0px 2px 0px $shadow-chunky;
transition: transform 0.12s ease-out;
&:hover { transform: translateY( -1px ); }
&:active { transform: translateY( 1px ); }
&.checked
{
background-color: $accent-green;
}
.check-glyph
{
font-size: 15px;
font-weight: 800;
color: white;
}
}
.board
{
flex-direction: column;
align-items: stretch;
gap: 6px;
width: 100%;
max-width: 560px;
max-height: 460px;
overflow-y: scroll;
}
.board-msg
{
font-family: $display-font;
font-size: 16px;
font-weight: 700;
color: $hud-text-muted;
align-items: center;
justify-content: center;
padding: 40px 0;
}
// Smoked-glass standings pills; the local player's row flips to a solid white pill.
.row
{
flex-direction: row;
align-items: center;
height: 44px;
gap: 10px;
.row-pos
{
min-width: 36px;
justify-content: flex-end;
font-family: $display-font;
font-size: 21px;
font-weight: 900;
color: $text-bright;
text-shadow: $hud-shadow;
}
.row-pill
{
flex-direction: row;
align-items: center;
justify-content: space-between;
flex-grow: 1;
height: 100%;
padding: 0 18px;
background-color: $pill-dark;
border-radius: $pill-radius;
backdrop-filter: blur( 4px );
.row-name
{
font-family: $header-font;
font-size: 16px;
font-weight: 700;
color: $text-bright;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
max-width: 320px;
}
.row-time
{
font-family: $display-font;
font-size: 16px;
font-weight: 800;
color: $text-bright;
}
}
&:not(.local)
{
opacity: 0.8;
}
&.local .row-pill
{
background-color: $surface-deep;
box-shadow: 0px 4px 12px $shadow-chunky;
.row-name,
.row-time
{
color: $text-default;
}
}
}
.footer-row
{
flex-direction: row;
align-items: center;
gap: 18px;
margin-top: 14px;
}
.back-btn
{
flex-direction: row;
align-items: center;
gap: 10px;
padding: 14px 22px 14px 18px;
border-radius: 28px;
background-color: $surface-mid;
border: 2px solid rgba( 0, 0, 0, 0.1 );
cursor: pointer;
box-shadow: 0px 3px 0px $shadow-chunky;
transition: transform 0.12s ease-out;
&:hover { transform: translateY( -2px ); }
&:active { transform: translateY( 2px ); }
.back-glyph
{
width: 24px;
height: 24px;
}
.back-label
{
font-family: $display-font;
font-size: 14px;
font-weight: 800;
letter-spacing: 2px;
color: $text-default;
}
}
.back-btn,
.filter-row
{
pointer-events: none;
}
.leaderboard-page.mouse .back-btn,
.leaderboard-page.mouse .filter-row
{
pointer-events: all;
}