.generic-performance-canvas-panel {
  display: flex;
  justify-content: center;
  padding: 0.75rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  background:
    radial-gradient(circle at 30% 12%, rgba(245, 158, 11, 0.13), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.72));
}

.generic-performance-canvas-shell {
  width: min(100%, 280px);
}

.generic-performance-canvas {
  display: block;
  width: 100%;
  max-width: 280px;
  border: 1px solid rgba(15, 23, 42, 0.18);
  border-radius: 8px;
  background: transparent;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.1);
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.generic-performance-canvas:hover,
.generic-performance-canvas:focus {
  border-color: rgba(245, 158, 11, 0.82);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.14);
  outline: none;
  transform: translateY(-1px);
}

.generic-performance-match-canvas {
  display: block;
  margin-inline: auto;
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.generic-performance-match-canvas:hover,
.generic-performance-match-canvas:focus {
  border-color: rgba(245, 158, 11, 0.78);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.12);
  outline: none;
  transform: translateY(-1px);
}

.generic-performance-match-canvas--fretboard {
  width: min(100%, 92px);
}

.generic-performance-match-canvas--keyboard {
  width: min(100%, 156px);
}

.generic-performance-catalog-canvas-grid {
  margin: 0;
}

.generic-performance-catalog-canvas-item {
  display: flex;
  justify-content: center;
  min-width: 0;
}
