* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: #0a0a0e;
  color: #c8c8cc;
  font-family: 'SF Mono', 'Consolas', 'Monaco', monospace;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  overflow: hidden;
}

#app {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  padding: 44px 56px 36px;
  background: #111118;
  border: 1px solid #22222c;
  border-radius: 6px;
  box-shadow: 0 0 40px rgba(0,0,0,0.6);
}

#grid-container {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 4px;
}

#knobs {
  display: flex;
  gap: 52px;
  align-items: flex-start;
}

.knob-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  cursor: ns-resize;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.knob-group label {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 2.5px;
  color: #4a4a54;
  text-transform: uppercase;
  transition: color 120ms;
}

.knob-group:active label {
  color: #a0e060;
}

#transport {
  margin-top: 4px;
}

#play-btn {
  background: #181820;
  color: #909098;
  border: 1px solid #333340;
  padding: 11px 44px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 4px;
  cursor: pointer;
  border-radius: 3px;
  transition: background 100ms, border-color 100ms, color 100ms;
}

#play-btn:hover {
  background: #22222c;
  color: #cacacc;
}

#play-btn.active {
  background: #162816;
  border-color: #3a6a3a;
  color: #70d070;
  box-shadow: 0 0 12px rgba(96, 192, 64, 0.12);
}
