diff --git a/locales/index.d.ts b/locales/index.d.ts
index fb0f332ec1..dafbdd3559 100644
--- a/locales/index.d.ts
+++ b/locales/index.d.ts
@@ -1201,6 +1201,7 @@ export interface Locale {
     "replaying": string;
     "ranking": string;
     "lastNDays": string;
+    "backToTitle": string;
     "_bubbleGame": {
         "howToPlay": string;
         "_howToPlay": {
diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index 68c148da4c..58952894b3 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -1198,6 +1198,7 @@ replay: "リプレイ"
 replaying: "リプレイ中"
 ranking: "ランキング"
 lastNDays: "直近{n}日"
+backToTitle: "タイトルへ"
 
 _bubbleGame:
   howToPlay: "遊び方"
diff --git a/packages/frontend/src/components/MkPlusOneEffect.vue b/packages/frontend/src/components/MkPlusOneEffect.vue
index e5e5a9edf4..06b966dbcd 100644
--- a/packages/frontend/src/components/MkPlusOneEffect.vue
+++ b/packages/frontend/src/components/MkPlusOneEffect.vue
@@ -16,7 +16,7 @@ import * as os from '@/os.js';
 const props = withDefaults(defineProps<{
 	x: number;
 	y: number;
-	value?: number;
+	value?: number | string;
 }>(), {
 	value: 1,
 });
diff --git a/packages/frontend/src/pages/drop-and-fusion.game.vue b/packages/frontend/src/pages/drop-and-fusion.game.vue
index d2d5532a5c..1ac5e027a4 100644
--- a/packages/frontend/src/pages/drop-and-fusion.game.vue
+++ b/packages/frontend/src/pages/drop-and-fusion.game.vue
@@ -98,7 +98,7 @@ SPDX-License-Identifier: AGPL-3.0-only
 			<div v-if="isGameOver" :class="$style.frame">
 				<div :class="$style.frameInner">
 					<div class="_buttonsCenter">
-						<MkButton primary rounded @click="backToTitle">{{ i18n.ts.done }}</MkButton>
+						<MkButton primary rounded @click="backToTitle">{{ i18n.ts.backToTitle }}</MkButton>
 						<MkButton primary rounded @click="replay">{{ i18n.ts.showReplay }}</MkButton>
 						<MkButton primary rounded @click="share">{{ i18n.ts.share }}</MkButton>
 						<MkButton rounded @click="exportLog">Copy replay data</MkButton>
@@ -953,9 +953,8 @@ async function share() {
 	const file = await uploading;
 	if (!file) return;
 	os.post({
-		initialText: `#BubbleGame
-MODE: ${props.gameMode}
-SCORE: ${score.value.toLocaleString()} (MAX CHAIN: ${maxCombo.value})`,
+		initialText: `#BubbleGame (${props.gameMode})
+SCORE: ${score.value.toLocaleString()}${props.gameMode === 'yen' ? '円' : 'pt'}`,
 		initialFiles: [file],
 		instant: true,
 	});
@@ -986,6 +985,7 @@ function attachGameEvents() {
 
 		sound.playUrl('/client-assets/drop-and-fusion/hold.mp3', {
 			volume: 0.5 * sfxVolume.value,
+			playbackRate: replayPlaybackRate.value,
 		});
 	});
 
@@ -1024,7 +1024,7 @@ function attachGameEvents() {
 		const domX = rect.left + (x * viewScale);
 		const domY = rect.top + (y * viewScale);
 		os.popup(MkRippleEffect, { x: domX, y: domY }, {}, 'end');
-		os.popup(MkPlusOneEffect, { x: domX, y: domY, value: scoreDelta }, {}, 'end');
+		os.popup(MkPlusOneEffect, { x: domX, y: domY, value: scoreDelta + (props.gameMode === 'yen' ? '円' : '') }, {}, 'end');
 	});
 
 	game.addListener('monoAdded', (mono) => {