.menu-header {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #eb2f2f;
    border: none;
    color: white;
    cursor: pointer;
    outline: none;
    overflow: hidden;
}
.menu-header > * {
    position: relative;
    pointer-events: none;
}
.menu-header::before {
    --size: 480px;
    content: '';
    position: absolute;
    left: calc( -1 * var(--size) / 2 );
    top: calc( -1 * var(--size) / 2 );
    width: var(--size);
    height: var(--size);
    background-image: radial-gradient(circle closest-side, #4405f7, #eb2f2f);
    -webkit-transition: opacity .25s linear;
    transition: opacity .25s linear;
    -webkit-transform: translate(var(--x), var(--y));
    transform: translate(var(--x), var(--y));
    opacity: 0;
}
.menu-header:hover::before {
    opacity: 1;
    visibility: visible
}