/* Soundboard Styles */
.sound-pad {
  aspect-ratio: 1/1; display: flex; flex-direction: column; justify-content: center; align-items: center;
  border-radius: 12px; background: var(--color-surface); border: 2px solid var(--color-border);
  box-shadow: inset 0 2px 5px rgba(255,255,255,.05), 0 4px 10px rgba(0,0,0,.3);
  cursor: pointer; transition: all .1s cubic-bezier(0.4, 0, 0.2, 1);
}
.sound-pad:active, .sound-pad.active {
  transform: scale(0.95); background: var(--color-accent); border-color: #fff;
  box-shadow: inset 0 2px 10px rgba(0,0,0,.5), 0 0 20px var(--color-accent);
}
.pad-key { font-size: 1.5rem; font-weight: bold; margin-bottom: 4px; color: var(--color-text); }
.pad-note { font-size: .8rem; color: var(--color-muted); opacity: 0.8; }
.sound-pad:active .pad-key, .sound-pad.active .pad-key,
.sound-pad:active .pad-note, .sound-pad.active .pad-note { color: #fff; }

.recording { background: rgba(239, 68, 68, 0.2); border-color: #ef4444; animation: pulse-red 1s infinite alternate; }
@keyframes pulse-red { 0% { box-shadow: 0 0 0 #ef4444; } 100% { box-shadow: 0 0 15px #ef4444; } }
