/* Constants */ :root { --color-block: lightgray; --color-block-checked: lightgreen; --spacing-mouse: 0.25rem; --spacing-cat: 0.5rem; --spacing-dog: 1rem; --spacing-horse: 2rem; --spacing-elephant: 4rem; } /* Reset */ ol { list-style-type: none; margin: 0; padding: 0; } /* Styles */ body { margin: var(--spacing-dog); } .g-Bpm { display: block; margin-bottom: var(--spacing-dog); } .g-Input { margin-left: var(--spacing-dog); } .g-PlayStop { margin-bottom: var(--spacing-dog); } .g-Sequencer { margin-top: var(--spacing-dog); } .g-Sequencer__Buttons { margin-bottom: var(--spacing-dog); display: flex; gap: var(--spacing-dog); } .g-Sequencer__Grid { display: flex; gap: var(--spacing-cat); } .g-Sequencer__Blocks { display: flex; align-items: center; gap: var(--spacing-cat); } .g-Sequencer__Column > li { display: flex; align-items: center; height: var(--spacing-horse); cursor: pointer; } .g-Sequencer__Column { display: flex; flex-direction: column; gap: var(--spacing-cat); } .g-Sequencer__Block { width: var(--spacing-horse); height: var(--spacing-horse); background-color: lightgray; cursor: pointer; } .g-Sequencer__Block:hover { filter: brightness(110%); } .g-Sequencer__Block--Checked { background-color: lightgreen; } .g-Sequencer__Block--Beat { animation: beat 0.2s linear; } @keyframes beat { 0% {transform: scale(100%);} 30% {transform: scale(105%);} 100% {transform: scale(100%);} }