html {
    --pb-bg-cnt: var(--bg-cnt);
    --pb-bg-1:  var(--bg-1);
    --pb-bg-2: var(--bg-2);
    --pb-bor-color: #8b6200;
    --pb-bor: 1px solid var(--pb-bor-color);
    --pb-shadow: var(--shadow);
}

#pianoBox {
    width: 300px;
    min-width: max-content;
    height: 90px;

    display: flex;
    justify-content: space-between;
    gap: 4%;
    padding: 5% 5.5% 5% 5.5%;
    
    border-radius: 5px;
    box-shadow: var(--pb-shadow);

    background-color: var(--pb-bg-cnt);
    color: var(--pb-bg-2);
}
/* osc */
#osc-cnt {
    display: flex;
    flex-direction: row;
    justify-content: center;
}
#osc-cnt div {
    max-width: 30px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}
#osc-cnt div p {
    margin: 0;
}
#osc-cnt .displayer {
    height: 15px !important; 
}

input[type="range"] {
    box-sizing: border-box;
    padding: 0;
    width: 60px !important;
    height: 10px;
    -webkit-appearance: none;
    cursor: pointer;
    outline: none;

    opacity: .8;
    background-color: var(--pb-bg-1);
    transition: opacity .2s;

    transform: rotate(-90deg);
    transform-origin: 46px 20px;
}
input[type=range]::-moz-range-track {
    height: 100%;
    background-color: var(--pb-bg-cnt);
    border: 1px solid var(--pb-bor-color);
    border-radius: 0;
}
input[type=range]::-moz-range-thumb {
    width: 5px;
    height: 100%;
    background-color: var(--pb-bg-2);
    border: none;
    border-radius: 0;
}
input[type=range]::-moz-range-progress {
    height: 8px;
    background-color: var(--pb-bg-1);
    border: 1px solid var(--pb-bor-color);
}

#osc-gain-cnt input {
    width: 40px;
}

/* keyboard */
#keyboard-cnt {
    width: 100%;
    height: 100%;
}
#keyboard {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: repeat(21, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-gap: 1px;
}
.note {
    grid-row: 1/3;   
    display: flex;
    justify-content: center;
    align-items: flex-end;
    cursor: pointer;

    background-color: var(--pb-bg-1);
    border: var(--pb-bor);
    border-bottom-left-radius: 9px;
    border-bottom-right-radius: 9px;

    color: rgba(0, 0, 0, 0.671);
    text-align: center;
}
.note:hover {
    box-shadow: 1px 1px 1px 1px rgba(167, 108, 46, 0.521);
}
.active { 
    box-shadow: 1px 1px 1px 1px rgba(167, 108, 46, 0.521);
}
.diese {
    grid-row: 1;
    z-index: 1;

    background-color: var(--pb-bg-2);
    border: var(--pb-bor);
}
.note p {
    margin-bottom: 2px;
}
.note:not(.diese) p {
    margin-bottom: 8px;
}
#do {
    grid-column: 1/4;
}
#dod {
    grid-column: 3/5;
}
#re {
    grid-column: 4/7;
}
#red {
    grid-column: 6/8;
}
#mi {
    grid-column: 7/10;     
}
#fa {
    grid-column: 10/13;
}
#fad {
    grid-column: 12/14;
}
#sol {
    grid-column: 13/16;
}
#sold {
    grid-column: 15/17;
}
#la {
    grid-column: 16/19;
}
#lad {
    grid-column: 18/20;
}
#si {
    grid-column: 19/22;
}
#do2 {
    grid-column: 22/25;
}

.displayer {
    width: 15px;
    height: 15px;
    display: flex;
    justify-content: center;
    align-items: center;

    background-color: var(--pb-bg-elt);
    border: var(--pb-bg-1);
    border-radius: 10%;
    color: var(--pb-bg-2);
}

/* octave shifter*/
#octave-shifter {
    min-width: 30px;
    height: 100%;
    align-self: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}
#octave-shifter button {
    width: 8px;
    height: 8px;
    cursor: pointer;

    border-radius: 100%;
    background-color: var(--pb-bg-1);
    border: var(--pb-bor);
}
#octave-shifter button:hover {
    box-shadow: 1px 1px 1px 1px rgba(167, 108, 46, 0.521);
}
#octave-shifter div {
    width: 25px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;

    background-color: var(--pb-bg-elt);
    border: var(--pb-bor);
    border-radius: 10%;
    color: var(--pb-bg-2);
}
#octave-shifter p {
    margin: 0;
}

/*  */
#freq-displayer {
    display: flex;
    flex-direction: column;
}
#freq-displayer > div {
    padding: 2px;
    display: flex;
    justify-content: center;
    align-items: center;

    color: var(--pb-bg-2);
}
#freq-displayer .displayer {
    width: 15px;
    height: 15px;
    display: flex;
    justify-content: center;
    align-items: center;

    background-color: var(--pb-bg-elt);
    border: var(--pb-bg-1);
    border-radius: 10%;
    color: var(--pb-bg-2);
}
