ui/leaderboardpanel.razor.scss
@import "_theme.scss";

LeaderboardPanel {
    width: 100%;
    height: 85%;
    flex-direction: column;
    background-color: $white;
    border: 6px solid $ink;
    border-radius: 30px;
    box-shadow: 12px 12px 0 $ink;
    padding: 38px 40px 42px;
    color: $ink;
    font-family: $font-display;

    .sb-head {
        flex-direction: row;
        align-items: center;
        gap: 16px;
        margin-bottom: 20px;
        flex-shrink: 0;
    }

    .star {
        width: 64px;
        height: 64px;
        background-color: $gold;
        border: 5px solid $ink;
        border-radius: 18px;
        box-shadow: 5px 5px 0 $ink;
        align-items: center;
        justify-content: center;
        font-size: 64px;
        color: $ink;
        transform: rotate( -6deg );
        padding-bottom: 8px;
    }

    .sb-title {
        font-family: $font-display;
        font-weight: 800;
        font-size: 42px;
        color: $ink;
    }

    .tabs {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 12px;
        margin-bottom: 20px;
        flex-shrink: 0;
    }

    .tab {
        pointer-events: all;
        font-family: $font-body;
        font-weight: 700;
        font-size: 18px;
        letter-spacing: 1px;
        color: $ink;
        background-color: $cream;
        border: 4px solid $ink;
        border-radius: 14px;
        box-shadow: 4px 4px 0 $ink;
        padding: 9px 18px;
        cursor: pointer;
        transition: all 0.08s ease-out;

        &:hover {
            sound-in: "ui.button.over";
        }

        &:active {
            sound-in: "ui.button.press";
        }
    }

        .tab:hover {
            transform: translate( -2px, -2px );
            box-shadow: 6px 6px 0 $ink;
        }

        .tab.active {
            color: $white;
            background-color: $blue;
            transform: translate( -3px, -3px );
            box-shadow: 7px 7px 0 $ink;
        }

    .sb-list {
        flex-direction: column;
        gap: 12px;
        flex-grow: 1;
        overflow-y: visible;

    }

    .board-empty {
        font-family: $font-body;
        font-weight: 600;
        font-size: 22px;
        color: rgba( $ink, 0.55 );
        padding: 16px 0;
    }

    .row {
        flex-direction: row;
        align-items: center;
        gap: 20px;
        padding: 12px 22px;
        background-color: $white;
        border: 5px solid $ink;
        border-radius: 20px;
        box-shadow: 6px 6px 0 $ink;
        flex-shrink: 0;
    }

        .row.you,
        .row.me {
            background-color: $highlight;
        }

        .row.you {
            margin-bottom: 10px;
        }

    .medal {
        width: 54px;
        height: 54px;
        border: 4px solid $ink;
        border-radius: 14px;
        align-items: center;
        justify-content: center;
        font-family: $font-display;
        font-weight: 800;
        font-size: 28px;
        color: $ink;
    }

    .avatar {
        width: 54px;
        height: 54px;
        border: 4px solid $ink;
        border-radius: 50%;
        background-color: $sand;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        flex-shrink: 0;
    }

    .name {
        flex-grow: 1;
        font-family: $font-display;
        font-weight: 800;
        font-size: 28px;
        color: $ink;
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
    }

    .right {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }

    .country {
        font-family: $font-body;
        font-weight: 800;
        font-size: 15px;
        color: $ink;
        background-color: $sand;
        border: 3px solid $ink;
        border-radius: 9px;
        padding: 3px 9px;
    }

    .val {
        font-family: $font-display;
        font-weight: 800;
        font-size: 32px;
        color: $ink;
        width: 150px;
        justify-content: flex-end;
        text-align: right;
    }
}