ui/podiumscreen.razor.scss
@import "theme";
@import "avatar";
@import "button";

PodiumScreen
{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 200;
}

.podium-screen
{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    flex-direction: column;
    padding: $deadzone-y $deadzone-x;
    font-family: $display-font;
    pointer-events: none;

    &.hidden
    {
        display: none;
    }

    .winner-section
    {
        position: absolute;
        bottom: $deadzone-y;
        align-self: center;
        flex-direction: column;
        align-items: center;
        gap: 16px;

        .race-over-pill
        {
            flex-direction: row;
            background-color: $text-default;
            color: white;
            font-family: $header-font;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 3px;
            padding: 5px 12px;
            border-radius: 14px;
        }

        .winner-tape
        {
            font-family: $header-font;
            font-size: 44px;
            font-weight: 800;
            color: $text-on-yellow;
            background-color: $accent-yellow;
            padding: 6px 14px;
            transform: rotate( -2deg );
            box-shadow: 0px 4px 10px rgba( 0, 0, 0, 0.18 );
        }
    }

    .standings
    {
        position: absolute;
        left: $deadzone-x;
        top: 50%;
        transform: translateY( -50% );
        width: 480px;
        flex-direction: column;
        gap: 5px;

        .standings-label
        {
            font-family: $header-font;
            font-size: 13px;
            font-weight: 800;
            color: $text-muted;
            letter-spacing: 4px;
            margin-bottom: 5px;
        }

        .row
        {
            flex-direction: row;
            align-items: center;
            gap: 10px;
            background-color: $surface-deep;
            border-radius: 12px;
            padding: 10px 14px;
            border: 2px solid transparent;
            box-shadow: 0px 2px 6px $shadow-soft;

            &.you
            {
                border-color: $accent-pink;
            }

            .pos-circle
            {
                width: 30px;
                height: 30px;
                border-radius: 15px;
                flex-shrink: 0;
                align-items: center;
                justify-content: center;
                font-family: $display-font;
                font-size: 15px;
                font-weight: 900;
                color: white;
                border: 2px solid rgba( 0, 0, 0, 0.15 );
            }

            &.pos-1 .pos-circle { background-image: linear-gradient( 180deg, #fff6a0 0%, #ffd700 40%, #b8860b 100% ); color: $text-on-yellow; }
            &.pos-2 .pos-circle { background-image: linear-gradient( 180deg, #f0f0f0 0%, #c0c0c0 40%, #808080 100% ); color: #3a3a3a; }
            &.pos-3 .pos-circle { background-image: linear-gradient( 180deg, #ffb87a 0%, #ff8c42 40%, #c55a11 100% ); color: white; }
            &.pos-4 .pos-circle, &.pos-5 .pos-circle, &.pos-6 .pos-circle,
            &.pos-7 .pos-circle, &.pos-8 .pos-circle { background-image: linear-gradient( 180deg, #aaaaaa 0%, #888888 40%, #555555 100% ); color: white; }

            .avatar-wrap { @include avatar( 32px ); }

            .initial
            {
                width: 32px;
                height: 32px;
                border-radius: 50%;
                flex-shrink: 0;
                align-items: center;
                justify-content: center;
                font-family: $display-font;
                font-size: 15px;
                font-weight: 800;
                color: white;
            }

            .info
            {
                flex-direction: column;
                flex-grow: 1;
                min-width: 90px;

                .name-line
                {
                    flex-direction: row;
                    align-items: center;
                    gap: 6px;

                    .name
                    {
                        font-family: $header-font;
                        font-size: 15px;
                        font-weight: 800;
                        color: $text-default;
                    }
                }
            }

            .times
            {
                flex-direction: column;
                align-items: flex-end;
                flex-shrink: 0;

                .total
                {
                    font-family: $display-font;
                    font-size: 15px;
                    font-weight: 700;
                    color: $text-default;
                }

                .delta
                {
                    font-family: $header-font;
                    font-size: 14px;
                    font-weight: 600;
                    color: $accent-red;
                }

                .delta.leader
                {
                    color: $accent-orange;
                    border: none;
                }
            }

            .best
            {
                flex-direction: column;
                align-items: flex-end;
                flex-shrink: 0;

                .best-label
                {
                    font-family: $header-font;
                    font-size: 9px;
                    font-weight: 700;
                    color: $text-muted;
                    letter-spacing: 1px;
                }

                .best-time
                {
                    font-family: $display-font;
                    font-size: 13px;
                    font-weight: 700;
                    color: $text-default;
                }
            }
        }
    }
}