* {
    image-rendering: pixelated;
}

* {
    margin: 0;
}

* {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

body, html {
    width: 100%;
    height: 100%;
    overflow: hidden;
    font: 14pt verdana,"DejaVu Sans",sans-serif;
    color: #fff;
    text-shadow: #444 1px 1px;
}

body {
    position: absolute;
}

@property --color {
    syntax: "<color>";
    inherits: false;
    initial-value: #000000;
}

@property --color2 {
    syntax: "<color>";
    inherits: false;
    initial-value: #000000;
}

body {
    background: radial-gradient(
        ellipse at center,
        var(--color) 0%,
        var(--color2) 100%
    );
    transition: --color 1000ms, --color2 1000ms;
}

/* --- Piano Container --- */
#piano {
    width: 95%;
    height: 20%;
    margin: auto;
    position: relative;
    overflow: hidden;
    padding-left: 1%;
}

#piano .key {
    float: left;
    width: 1.8%;
    height: 90%;
    border: 1px solid #000;
    background: #fff;
    margin-left: -.5%;
    margin-bottom: 100%;
    box-shadow: 1px 2px 5px #000;
    -webkit-box-shadow: 1px 2px 5px #000;
    -moz-box-shadow: 1px 2px 5px #000;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    transition: background 4s ease-out;
    -webkit-transition: background 4s ease-out;
    -moz-transition: background 4s ease-out;
    -o-transition: background 4s ease-out;
    padding: 0;
    overflow: hidden;
}

#piano .key.c,#piano .key.f {
    margin-left: 0;
}

#piano .key.sharp {
    width: 1.2%;
    height: 50%;
    background: #000;
    margin-left: -.9%;
    position: relative;
}