*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    background-color: rgb(123, 105, 153);
    margin: 0;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.piano {
    display: flex;
}

.key {
    height: calc(var(--width)*4);
    width: var(--width);
}

.white {
    --width: 100px;
    background-color: white;
    border: 1px solid;
}

.white.active {
    background-color: #ccc;
}

.black {
    --width: 60px;
    background-color: black;
    margin-left: calc(var(--width)/-2);
    margin-right: calc(var(--width)/-2);
    z-index: 2
}

.black.active {
    background-color: #333;
}

@media only screen and (max-width: 720px) {
    .white {
      --width: 60px;
    }
    .black{
        --width: 40px;
    }
}

@media only screen and (max-width: 470px) {
    .white {
      --width: 40px;
    }
    .black{
        --width: 25px;
    }
}


