html {
box-sizing: border-box;
}
*,
*:before,
*:after {
box-sizing: inherit;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}
body {
margin: 0;
}
:root {
--keyboard: hsl(300, 100%, 16%);
--keyboard-shadow: hsla(19, 50%, 66%, 0.2);
--keyboard-border: hsl(20, 91%, 5%);
--black-10: hsla(0, 0%, 0%, 0.1);
--black-20: hsla(0, 0%, 0%, 0.2);
--black-30: hsla(0, 0%, 0%, 0.3);
--black-50: hsla(0, 0%, 0%, 0.5);
--black-60: hsla(0, 0%, 0%, 0.6);
--white-20: hsla(0, 0%, 100%, 0.2);
--white-50: hsla(0, 0%, 100%, 0.5);
--white-80: hsla(0, 0%, 100%, 0.8);
}
.white,
.black {
position: relative;
float: left;
display: flex;
justify-content: center;
align-items: flex-end;
padding: 0.5rem 0;
user-select: none;
}
#keyboard li:first-child {
border-radius: 5px 0 5px 5px;
}
#keyboard li:last-child {
border-radius: 0 5px 5px 5px;
}
#keyboard {
justify-content: center;
display: flex;
grid-column: 1 / -1;
}
.white {
height: 4rem;
width: 1rem;
z-index: 1;
border-left: 1px solid hsl(0, 0%, 73%);
border-bottom: 1px solid hsl(0, 0%, 73%);
border-radius: 0 0 5px 5px;
box-shadow: -1px 0 0 var(--white-20) inset, 0 0 5px hsl(0, 0%, 80%) inset, 0 0 3px var(--black-10);
background: hsla(0, 0%, 100%, 1.0);
color: var(--black-30);
}
.black {
height: 2rem;
width: 0.75rem;
margin: 0 0 0 -0.5rem;
z-index: 2;
border: 1px solid black;
border-radius: 0 0 3px 3px;
box-shadow: -1px -1px 2px var(--white-20) inset, 0 -5px 2px 3px var(--black-20) inset, 0 2px 4px var(--black-10);
background: hsla(0, 0%, 100%, 1.0);
color: var(--white-50);
}
.odd {
background: hsla(0, 0%, 80%, 1.0);
}
.odd.highlight {
background: hsla(0, 100%, 80%, 1.0);
}
.even {
background: hsla(0, 0%, 100%, 1.0);
}
.even.highlight {
background: hsla(0, 100%, 90%, 1.0);
}
.offset {
margin: 0 0 0 -0.3rem;
}