pianometer/style.css
jxzhe 810bae60b8
Add Velocity Mode
When toggled, the color of each note will be affected by its velocity.
Suitable when practicing this kind of stuff:
https://wiwi.video/w/uuwkerA14WnDnysFCh6q4z?start=11m1s
2024-01-11 02:20:15 +09:00

589 lines
No EOL
8 KiB
CSS

/*! style.css v1.0.0 | ISC License | https://github.com/ungoldman/style.css */
html {
color: rgb(210, 209, 202);
background-color: #202328;
box-sizing: border-box;
font-family: -apple-system, BlinkMacSystemFont, "avenir next", avenir, "segoe ui", "fira sans", roboto, noto, "droid sans", "liberation sans", "lucida grande", "helvetica neue", helvetica, "franklin gothic medium", "century gothic", cantarell, oxygen, ubuntu, sans-serif;
font-size: calc(14px + 0.25vw);
line-height: 1.55;
-webkit-font-kerning: normal;
font-kerning: normal;
text-rendering: optimizeLegibility;
-webkit-font-feature-settings: "kern", "liga"1, "calt"0;
font-feature-settings: "kern", "liga"1, "calt"0;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
height: 100%;
}
#main {
display: flex;
margin-top: 0.5rem;
flex-wrap: wrap;
justify-content: space-evenly;
align-items: center;
}
#controls {
width: 600px;
height: 100%;
}
#piano-visualizer {
margin-top: 0.2rem;
margin-bottom: 1rem;
}
.center {
text-align: center;
}
.left {
text-align: left;
}
body {
margin: 0;
height: 100%;
}
article,
aside,
footer,
header,
nav,
section,
figcaption,
figure,
main {
display: block;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
p,
blockquote,
ul,
ol,
dl,
table,
pre {
margin-top: 0;
margin-bottom: 1.25em;
}
small {
font-size: 80%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-weight: 500;
line-height: 1.25em;
margin-top: 0;
margin-bottom: 0.5rem;
position: relative;
text-align: center;
color: #ddd;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
color: #777;
font-size: 0.7em;
font-weight: 300;
}
h1 code,
h2 code,
h3 code,
h4 code,
h5 code,
h6 code {
font-size: 0.9em;
}
h1 {
font-size: 2.75em;
}
h2 {
font-size: 2.25em;
}
h3 {
font-size: 1.75em;
}
h4 {
font-size: 1.5em;
}
h5 {
font-size: 1.25em;
}
h6 {
font-size: 1.15em;
color: #575757;
}
p {
letter-spacing: -0.01em;
}
a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
color: #0074d9;
text-decoration: none;
}
a:active,
a:hover {
outline-width: 0;
outline: 0;
}
a:active,
a:focus,
a:hover {
text-decoration: underline;
}
ul,
ol {
padding: 0;
padding-left: 2em;
}
ul ol,
ol ol {
list-style-type: lower-roman;
}
ul ul,
ul ol,
ol ul,
ol ol {
margin-top: 0;
margin-bottom: 0;
}
ul ul ol,
ul ol ol,
ol ul ol,
ol ol ol {
list-style-type: lower-alpha;
}
li>p {
margin-top: 1em;
}
blockquote {
margin: 0 0 1rem;
padding: 0 1rem;
color: #7d7d7d;
border-left: 4px solid #d6d6d6;
}
blockquote> :first-child {
margin-top: 0;
}
blockquote> :last-child {
margin-bottom: 0;
}
b,
strong {
font-weight: inherit;
font-weight: 600;
}
mark {
background-color: #ff0;
color: #000;
}
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
code,
pre,
kbd,
samp {
font-family: menlo, inconsolata, consolas, "fira mono", "noto mono", "droid sans mono", "liberation mono", "dejavu sans mono", "ubuntu mono", monaco, "courier new", monospace;
font-size: 90%;
}
pre,
code {
background-color: #f7f7f7;
border-radius: 3px;
}
pre {
overflow: auto;
word-wrap: normal;
padding: 1em;
line-height: 1.45;
}
pre code {
background: transparent;
display: inline;
padding: 0;
line-height: inherit;
word-wrap: normal;
}
pre code::before,
pre code::after {
content: normal;
}
pre>code {
border: 0;
font-size: 1em;
white-space: pre;
word-break: normal;
}
code {
padding: 0.2em 0;
margin: 0;
}
code::before,
code::after {
letter-spacing: -0.2em;
content: '\00a0';
}
kbd {
background-color: #e6e6e6;
background-image: linear-gradient(#fafafa, #e6e6e6);
background-repeat: repeat-x;
border: 1px solid #d6d6d6;
border-radius: 2px;
box-shadow: 0 1px 0 #d6d6d6;
color: #303030;
display: inline-block;
line-height: 0.95em;
margin: 0 1px;
padding: 5px 5px 1px;
}
td,
th {
padding: 0;
}
table {
border-collapse: collapse;
border-spacing: 0;
display: block;
width: 100%;
overflow: auto;
word-break: normal;
word-break: keep-all;
}
table th,
table td {
padding: 6px 13px;
border: 1px solid #ddd;
}
table th {
font-weight: bold;
}
table tr {
background-color: #fff;
border-top: 1px solid #ccc;
}
table tr:nth-child(2n) {
background-color: #f8f8f8;
}
hr {
box-sizing: content-box;
overflow: visible;
background: transparent;
height: 4px;
padding: 0;
margin: 1em 0;
background-color: #e7e7e7;
border: 0 none;
}
hr::before {
display: table;
content: '';
}
hr::after {
display: table;
clear: both;
content: '';
}
img {
border-style: none;
border: 0;
max-width: 100%;
}
svg:not(:root) {
overflow: hidden;
}
figure {
margin: 1em 0;
}
figure img {
background: white;
border: 1px solid #c7c7c7;
padding: 0.25em;
}
figcaption {
font-style: italic;
font-size: 0.75em;
font-weight: 200;
margin: 0;
}
abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted;
}
dfn {
font-style: italic;
}
dd {
margin-left: 0;
}
dl {
padding: 0;
}
dl dt {
padding: 0;
margin-top: 1em;
font-size: 1em;
font-style: italic;
font-weight: 600;
}
dl dd {
padding: 0 1em;
margin-bottom: 1.25em;
}
audio,
video {
display: inline-block;
}
audio:not([controls]) {
display: none;
height: 0;
}
input {
margin: 0;
}
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif;
font-size: 100%;
line-height: 1.15;
margin: 0;
}
button,
input {
overflow: visible;
}
button,
select {
text-transform: none;
}
button,
html [type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
legend {
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
}
progress {
display: inline-block;
vertical-align: baseline;
}
textarea {
overflow: auto;
}
[type="checkbox"],
[type="radio"] {
padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
[disabled] {
cursor: default;
}
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
details,
menu {
display: block;
}
summary {
display: list-item;
}
canvas {
display: inline-block;
}
template {
display: none;
}
[hidden] {
display: none;
}
input[type=checkbox] {
height: 0;
width: 0;
visibility: hidden;
}
label.custom-checkbox {
cursor: pointer;
width: 50px;
height: 25px;
background: grey;
display: inline-block;
border-radius: 25px;
position: relative;
transition: .3s;
}
label.custom-checkbox:after {
content: '';
position: absolute;
top: 1.25px;
left: 1.25px;
width: 22.5px;
height: 22.5px;
background: #fff;
border-radius: 22.5px;
transition: .3s;
}
input:checked + label.custom-checkbox {
background: #6f42c1;
}
label.custom-checkbox:active:after {
width: 32.5px;
}
input:checked + label.custom-checkbox:after {
left: calc(100% - 1.25px);
transform: translateX(-100%);
}