Index: src/includes/core/template-functions.php
===================================================================
--- src/includes/core/template-functions.php
+++ src/includes/core/template-functions.php
@@ -158,18 +158,25 @@
 
 	// Enqueue if located
 	if ( ! empty( $located ) ) {
+		// Calculate canonical plugins directory.
+		// Why doesn't WP have a plugins_dir() function?
+		$plugins_dir = realpath( bbpress()->plugin_dir . '../' );
 
-		$content_dir = constant( 'WP_CONTENT_DIR' );
-
-		// IIS (Windows) here
-		// Replace back slashes with forward slash
-		if ( strpos( $located, '\\' ) !== false ) {
-			$located     = str_replace( '\\', '/', $located     );
-			$content_dir = str_replace( '\\', '/', $content_dir );
+		// Hello bbPress developer!
+		if ( false !== strpos( wp_normalize_path( bbpress()->file ), '/src/' ) || false !== strpos( wp_normalize_path( bbpress()->file ), '/build/' ) ) {
+			$plugins_dir = realpath( $plugins_dir . '/../' );
 		}
 
+		// Be nice to Windows devs.
+		$located        = wp_normalize_path( $located );
+		$plugins_dir    = wp_normalize_path( $plugins_dir );
+		$stylesheet_dir = wp_normalize_path( get_stylesheet_directory() );
+		$template_dir   = wp_normalize_path( get_template_directory() );
+
  		// Make path to file relative to site URL
-		$located = str_replace( $content_dir, content_url(), $located );
+		$located = str_replace( $plugins_dir,    plugin_dir_url( '' ), $located );
+		$located = str_replace( $stylesheet_dir, get_stylesheet_directory_uri(), $located );
+		$located = str_replace( $template_dir,   get_template_directory_uri(), $located );
 
 		// Enqueue the style
 		wp_enqueue_style( $handle, $located, $deps, $ver, $media );
@@ -226,18 +233,25 @@
 
 	// Enqueue if located
 	if ( ! empty( $located ) ) {
+		// Calculate canonical plugins directory.
+		// Why doesn't WP have a plugins_dir() function?
+		$plugins_dir = realpath( bbpress()->plugin_dir . '../' );
 
-		$content_dir = constant( 'WP_CONTENT_DIR' );
-
-		// IIS (Windows) here
-		// Replace back slashes with forward slash
-		if ( strpos( $located, '\\' ) !== false ) {
-			$located     = str_replace( '\\', '/', $located     );
-			$content_dir = str_replace( '\\', '/', $content_dir );
+		// Hello bbPress developer!
+		if ( false !== strpos( wp_normalize_path( bbpress()->file ), '/src/' ) || false !== strpos( wp_normalize_path( bbpress()->file ), '/build/' ) ) {
+			$plugins_dir = realpath( $plugins_dir . '/../' );
 		}
 
+		// Be nice to Windows devs.
+		$located        = wp_normalize_path( $located );
+		$plugins_dir    = wp_normalize_path( $plugins_dir );
+		$stylesheet_dir = wp_normalize_path( get_stylesheet_directory() );
+		$template_dir   = wp_normalize_path( get_template_directory() );
+
  		// Make path to file relative to site URL
-		$located = str_replace( $content_dir, content_url(), $located );
+		$located = str_replace( $plugins_dir,    plugin_dir_url( '' ), $located );
+		$located = str_replace( $stylesheet_dir, get_stylesheet_directory_uri(), $located );
+		$located = str_replace( $template_dir,   get_template_directory_uri(), $located );
 
 		// Enqueue the style
 		wp_enqueue_script( $handle, $located, $deps, $ver, $in_footer );
