ui/lobbymenu.razor.scss
LobbyMenu {
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    padding: 10px;
    gap: 8px;
    //background-color: rgba(white, 0.01);
    font-family: "Cal Sans";
    color: white;
    font-size: 32px;
    font-weight: 800;
    //padding: 256px;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    pointer-events: all;
    cursor: default;
    transition: all 0.1s ease-in-out;
    z-index: 1000;

    .coin_display {
        position: absolute;
        top: 12px;
        left: 16px;
        flex-direction: row;
        align-items: center;
        gap: 6px;
        pointer-events: none;
        z-index: 10;

        .coin_display_icon {
            position: relative;
            width: 28px;
            height: 28px;
            background-image: url("/textures/ui/coin.png");
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
        }

        .coin_display_amount {
            position: relative;
            font-size: 24px;
            color: rgba(255, 220, 80, 0.95);
            text-shadow: 2px 2px 0px black;
        }
    }

    .blank {
        height: 650px;
    }

    .title {
        position: relative;
        font-size: 128px;
        text-shadow: 8px 8px 0px black;
        color: #449944;
    }

    .play_button {
        background-image: url("/textures/ui/panel/play_button.png");

        &.controller {
            background-image: url("/textures/ui/panel/play_button_controller.png");
        }

        &:hover {
            background-image: url("/textures/ui/panel/play_button_hover.png");
            sound-in: ui.button.over;
        }

        &:active {
            background-image: url("/textures/ui/panel/play_button_active.png");
            sound-in: ui.button.press;
        }

        &.controller.ctrl-held {
            background-image: url("/textures/ui/panel/play_button_controller_hover.png");
        }

        &.controller.ctrl-activated {
            background-image: url("/textures/ui/panel/play_button_controller_active.png");
        }
    }

    .play_button_client {
        background-image: url("/textures/ui/panel/play_button_disabled.png");
        pointer-events: none;
        opacity: 0.5;
    }

    .top_left_buttons {
        position: absolute;
        top: 52px;
        left: 16px;
        flex-direction: column;
        gap: 8px;

        button {
            position: relative;
            width: 200px;
            height: 52px;
            border-radius: 4px;
            text-align: center;
            font-size: 22px;
            cursor: pointer;
            align-items: center;
            justify-content: center;
            pointer-events: all;
        }
    }

    .quest_button {
        background-color: rgba(40, 80, 140, 0.85);
        border: 2px solid rgba(100, 160, 255, 0.5);
        color: white;
        font-size: 22px;
        border-radius: 4px;

        &:hover {
            background-color: rgba(60, 110, 190, 0.9);
            border: 2px solid rgba(130, 190, 255, 0.7);
            sound-in: ui.button.over;
        }

        &:active {
            background-color: rgba(80, 140, 220, 1.0);
            sound-in: ui.button.press;
        }

        .quest_badge {
            position: absolute;
            top: 6px;
            right: 8px;
            background-color: rgba(255, 210, 60, 0.9);
            color: black;
            font-size: 13px;
            min-width: 20px;
            height: 20px;
            border-radius: 10px;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 0 5px;
            pointer-events: none;
        }
    }

    .shop_button {
        background-color: rgba(120, 80, 40, 0.85);
        border: 2px solid rgba(220, 180, 80, 0.5);
        color: white;
        font-size: 22px;
        border-radius: 4px;

        &:hover {
            background-color: rgba(160, 110, 50, 0.9);
            border: 2px solid rgba(255, 210, 100, 0.7);
            sound-in: ui.button.over;
        }

        &:active {
            background-color: rgba(190, 140, 60, 1.0);
            sound-in: ui.button.press;
        }
    }

    .loadout_button {
        background-color: rgba(40, 120, 100, 0.85);
        border: 2px solid rgba(80, 200, 180, 0.5);
        color: white;
        font-size: 22px;
        border-radius: 4px;

        &:hover {
            background-color: rgba(55, 160, 135, 0.9);
            border: 2px solid rgba(100, 230, 210, 0.7);
            sound-in: ui.button.over;
        }

        &:active {
            background-color: rgba(70, 190, 160, 1.0);
            sound-in: ui.button.press;
        }
    }

    .perks_button {
        background-color: rgba(80, 40, 120, 0.85);
        border: 2px solid rgba(160, 100, 220, 0.5);
        color: white;
        font-size: 22px;
        border-radius: 4px;

        &:hover {
            background-color: rgba(110, 55, 160, 0.9);
            border: 2px solid rgba(190, 130, 255, 0.7);
            sound-in: ui.button.over;
        }

        &:active {
            background-color: rgba(140, 70, 200, 1.0);
            sound-in: ui.button.press;
        }
    }

    .quit_button {
        background-image: url("/textures/ui/panel/quit_button.png");

        &.controller {
            background-image: url("/textures/ui/panel/quit_button_controller.png");
        }

        &:hover {
            background-image: url("/textures/ui/panel/quit_button_hover.png");
            sound-in: ui.button.over;
        }

        &:active {
            background-image: url("/textures/ui/panel/quit_button_active.png");
            sound-in: ui.button.press;
        }

        &.controller.ctrl-held {
            background-image: url("/textures/ui/panel/quit_button_controller_hover.png");
        }

        &.controller.ctrl-activated {
            background-image: url("/textures/ui/panel/quit_button_controller_active.png");
        }
    }

    .version {
        position: absolute;
        right: 0px;
        top: 0px;
        font-size: 25px;
        color: #ffffff44;
        text-shadow: 0 0 0;
    }

    .wip {
        font-size: 80px;
        color: #ffffff44;
    }

    .upper_right {
        position: absolute;
        //width: 800px;
        //height: 100%;
        top: 5px;
        right: 5px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        //gap: 4px;
    }

    > .content {
        //position: relative;
        position: absolute;
        bottom: 218px;
        left: 12%;
        flex-grow: 1;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 8px;

        button {
            position: relative;
            width: 320px;
            height: 80px;
            //background-color: #4CAF50;
            border: none;
            color: white;
            //padding: 15px 32px;
            text-align: center;
            font-size: 32px;
            margin: 4px 2px;
            cursor: pointer;
            //box-shadow: 6px 6px 0px black;
            cursor: "select-cursor";
            pointer-events: all;
            cursor: pointer;
            background-position: center;
            background-size: 100% 100%; // or "cover" or "100% 100%" depending on look

            InputHint.inputbutton {
                position: absolute;
                //left: 4px;
                //top: -20px;
                left: 180px;
                top: 13px;
                pointer-events: none;
                font-size: 15px;
                width: 45px;
                aspect-ratio: 1;
                padding: 0px;
                opacity: 1;
                overflow: visible;
                //border: 1px solid green;

                img {
                    width: 100%;
                    height: 100%;
                    background-image-tint: rgba(255, 255, 255, 255);
                }
            }
        }
    }
}