.joystick {
    width: min(70vw, 300px);
    aspect-ratio: 1 / 1;

    border-radius: 50%;
    background: lightgray;

    position: relative;
    touch-action: none;


    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
}

.joystick-knob {
    width: 80px;
    height: 80px;

    border-radius: 50%;
    background: whitesmoke;

    position: absolute;

    left: 50%;
    top: 50%;

    margin-left: -40px;
    margin-top: -40px;
}

body {
    margin: 0;
    min-height: 100vh;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding-top: 30px;
    box-sizing: border-box;

    background: linear-gradient(
        135deg,
        rgb(180, 193, 232),
        rgb(127, 122, 202)
    );
}

.button-container {
    display: flex;
    justify-content: center;
    gap: 40px;

    margin-top: 30px;
}

.control-button {
    width: 70px;
    height: 70px;

    border-radius: 50%;
    background: lightgray;

    font-size: 20px;

    cursor: pointer;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
}

.control-button:active {
    background: gray;
}