#ingame_HUD_GameMenu {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    grid-auto-flow: column;

    > .menuButtons {
        position: relative;
        display: flex;
        flex-grow: 1;
        @include S(padding, 5px, 4px);
        justify-content: flex-end;
        @include S(margin-left, 20px);

        > .button {
            @include S(width, 30px);
            @include S(height, 30px);
            display: inline-block;
            background: center center / 60% no-repeat;
            pointer-events: all;
            cursor: pointer;
            transition: all 0.12s ease-in-out;
            transition-property: opacity, transform;
            opacity: 0.9;
            @include S(margin-left, 5px);
            position: relative;

            @include IncreasedClickArea(0px);

            @include DarkThemeInvert;

            &:hover {
                opacity: 0.8;
            }
            &.music {
                background-image: uiResource("icons/music_on.png");
                &.muted {
                    background-image: uiResource("icons/music_off.png");
                }
            }

            &.sfx {
                background-image: uiResource("icons/sound_on.png");
                &.muted {
                    background-image: uiResource("icons/sound_off.png");
                }
            }

            &.save {
                background-image: uiResource("icons/save.png");
                @include MakeAnimationWrappedEvenOdd(0.5s ease-in-out) {
                    0% {
                        transform: scale(1, 1);
                    }

                    70% {
                        transform: scale(1.5, 1.5) rotate(20deg);
                        opacity: 0.2;
                    }

                    85% {
                        transform: scale(0.9, 0.9);
                        opacity: 1;
                    }

                    90% {
                        transform: scale(1.1, 1.1);
                    }
                }
            }

            &.settings {
                background-image: uiResource("icons/settings.png");
            }
        }
    }

    .buttonContainer button {
        @include PlainText;
        color: #fff;
        border-color: rgba(0, 0, 0, 0.1);
        @include S(padding, 5px, 5px, 5px);

        @include S(padding-left, 30px);
        @include S(margin-right, 3px);
        @include IncreasedClickArea(0px);
        @include ButtonText;
        @include S(min-height, 40px);
        transition: all 0.12s ease-in-out;
        transition-property: opacity, transform;
        display: inline-flex;
        background: center #{D(13px)} / #{D(20px)} no-repeat;
        background-color: $colorGreenBright;

        &[data-button-id="shop"] {
            background-color: rgb(93, 103, 250);
            background-image: uiResource("icons/shop.png");
            background-size: #{D(18px)};
        }
        &[data-button-id="stats"] {
            background-color: rgb(85, 199, 138);
            background-image: uiResource("icons/statistics.png");
        }

        &:hover {
            opacity: 0.9;
        }

        .keybinding {
            border: 0;
            color: #fff;
            border-top-left-radius: 0;
            border-top-right-radius: 0;
            bottom: unset;
            background: transparent;
            @include S(top, 0px);
            right: unset;
            left: 50%;
            transform: translateX(-50%);
        }

        &:not(.hasBadge) .badge {
            display: none;
        }

        &.hasBadge {
            transform-origin: 50% 0%;
            @include InlineAnimation(1s ease-in-out infinite) {
                50% {
                    transform: scale(1.02);
                }
            }

            .badge {
                position: absolute;
                @include S(bottom, -8px);
                left: 50%;
                transform: translateX(-50%);

                background: #333;
                @include PlainText;
                display: flex;
                justify-content: center;
                align-items: center;
                @include S(min-width, 5px);
                @include S(height, 10px);
                @include S(padding, 1px, 3px, 2px);
                @include S(border-radius, $globalBorderRadius);
                border: #{D(1px)} solid #fff;
                @include InlineAnimation(1s ease-in-out infinite) {
                    50% {
                        transform: translateX(-50%) scale(1.05);
                    }
                }
            }
        }
    }
}
