class BaseGenreProfile:
    """Abstract base class for Genre DNA Profiles."""
    
    name = "Base"
    description = "Generic Profile"
    
    # Target Metrics
    target_lufs = -8.0
    slope_target = -3.0
    crest_target = 10.0
    
    # Module Biases
    width_high = 1.0
    vintage_mode = "Tube"
    saturation = 0.0
    mono_cutoff = 120
    
    def get_dna(self):
        """Return the configuration dictionary."""
        return {
            "target_lufs": self.target_lufs,
            "slope_target": self.slope_target,
            "crest_target": self.crest_target,
            "width_high": self.width_high,
            "vintage_mode": self.vintage_mode,
            "saturation": self.saturation,
            "mono_cutoff": self.mono_cutoff,
            "description": self.description
        }
