.view {
    width: 75vh;
}
.square::before {
    content: "";
    display: block;
    padding-top: 100%; /* Maintain square aspect ratio */
}
.square > div {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.disk {
    margin: 10%;
    width: 80%;
    height: 80%;
    border-radius: 50%;
    border-style: solid;
    border-width: 0 1px 2px 0px;
    color: #808080;
}
.disk.dark {
    background-color: black;
    border-color: white;
}
.disk.light {
    background-color: white;
    border-color: black;
}
@keyframes flipping {
    0%   { border-width: 28px 0px 0px 0px; }
    25%  { border-width: 21px 0px 0px 0px; }
    50%  { border-width: 14px 0px 0px 0px; }
    75%  { border-width: 7px 0px 0px 0px; }
    100% { border-width: 0px 1px 2px 0px; }
}
.disk.flipped {
    animation-name: flipping;
    animation-duration: 0.3s;
}
.disk.valid {
    opacity: 0.08;
}
.music-on, .music-off, .sound-off {
    width: 24px;
    height: 24px;
}
