Spaces:
Running
on
Zero
Running
on
Zero
/* CSS Variables */ | |
:root { | |
--keyboard-bg: #fafafa; | |
--inactive-key-bg: #e0e0e0; | |
--border-color: #e5e5e5; | |
--slider-track: #393a39; | |
--slider-thumb: #000000; | |
} | |
/* Base styles */ | |
html, body, #root, .wrapper, main, .main-container { | |
min-height: 100vh; | |
margin: 0; | |
padding: 0; | |
width: 100%; | |
max-width: 100%; | |
} | |
body { | |
font-family: 'Roboto', sans-serif; | |
font-size: 1rem; | |
line-height: 1.5; | |
overflow-x: hidden; | |
transition: background-color 0.2s ease; | |
} | |
/* Keyboard layout */ | |
.keyboard-container { | |
width: 100%; | |
padding: 1.5rem; | |
background: var(--keyboard-bg); | |
border: 1px solid var(--border-color); | |
border-radius: 4px; | |
user-select: none; | |
color: #333; | |
} | |
.keyboard-row { | |
display: flex; | |
gap: 0.25rem; | |
margin-bottom: 0.25rem; | |
width: 100%; | |
} | |
/* Key styles */ | |
.key { | |
width: calc((100% - 2.75rem) / 12); | |
aspect-ratio: 1; | |
min-width: 40px; | |
flex: none; | |
padding: 0.5rem; | |
border: 2px solid var(--border-color); | |
border-radius: 4px; | |
cursor: pointer; | |
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); | |
display: flex; | |
flex-direction: column; | |
align-items: center; | |
justify-content: center; | |
} | |
.key:hover { | |
transform: translateY(-1px); | |
} | |
.key:active { | |
transform: translateY(0); | |
} | |
.key.inactive, | |
.key:disabled { | |
background: var(--inactive-key-bg); | |
} | |
.key-label { | |
font-size: 0.875rem; | |
font-weight: 500; | |
color: #333; | |
} | |
.note-label { | |
font-size: 0.75rem; | |
margin-top: 0.25rem; | |
color: #666; | |
} | |
/* Controls section */ | |
.controls-section { | |
margin: 1em 0; | |
padding: 1em; | |
} | |
.controls-row { | |
display: flex; | |
gap: 1em; | |
margin: 1em 0; | |
} | |
.control-group { | |
margin: 1em 0; | |
} | |
.control-group.half-width { | |
flex: 1; | |
margin: 0; | |
} | |
/* Labels and values */ | |
.slider-label, | |
h3 { | |
display: block; | |
margin-bottom: 0.5em; | |
font-size: 0.9em; | |
color: #333; | |
} | |
h3 { | |
margin-top: 0; | |
font-size: 1rem; | |
font-weight: 500; | |
} | |
/* Range inputs */ | |
input[type="range"] { | |
width: 100%; | |
height: 24px; | |
background: transparent; | |
border-radius: 2px; | |
appearance: none; | |
cursor: pointer; | |
margin: 0.5em 0; | |
padding: 10px 0; | |
} | |
input[type="range"]::-webkit-slider-thumb { | |
appearance: none; | |
width: 16px; | |
height: 16px; | |
background: var(--slider-thumb); | |
border-radius: 50%; | |
cursor: pointer; | |
margin-top: -6px; | |
} | |
input[type="range"]::-webkit-slider-runnable-track { | |
background: var(--slider-track); | |
height: 4px; | |
border-radius: 2px; | |
} | |
input[type="range"]::-moz-range-thumb { | |
width: 16px; | |
height: 16px; | |
background: var(--slider-thumb); | |
border: none; | |
border-radius: 50%; | |
cursor: pointer; | |
} | |
input[type="range"]::-moz-range-track { | |
background: var(--slider-track); | |
height: 4px; | |
border-radius: 2px; | |
} | |
/* Mobile styles */ | |
@media (max-width: 768px) { | |
.control-group { | |
min-width: 100%; | |
} | |
.key { | |
min-width: 35px; | |
} | |
.key-label { | |
font-size: 0.75rem; | |
} | |
input[type="range"] { | |
height: 32px; | |
padding: 14px 0; | |
} | |
input[type="range"]::-webkit-slider-thumb { | |
width: 28px; | |
height: 28px; | |
} | |
} | |
.release-value, | |
.reverb-mix-value, | |
.master-value, | |
.root-value, | |
.column-value, | |
.row-value { | |
color: black; | |
} |