.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;
}

.generic-performance-canvas:focus {
  outline: none;
}

.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;
}

.generic-performance-match-canvas:focus {
  outline: none;
}

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

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

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

.generic-performance-catalog-canvas-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  justify-content: center;
  min-width: 0;
}

.generic-performance-match-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-self: stretch;
  width: 100%;
}

.generic-performance-match-controls .btn {
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-bg: rgba(15, 23, 42, 0.08);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-bg: rgba(245, 158, 11, 0.16);
  --bs-btn-active-border-color: transparent;
  --bs-btn-padding-y: 0.1rem;
  --bs-btn-padding-x: 0.35rem;
  --bs-btn-font-size: 0.68rem;
  width: 100%;
  border: 0;
  line-height: 1.2;
}
