diff --git a/assets/icon.svg b/assets/icon.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7ae5f19da29ecce539c8bf27c432eb3daca615c1
Binary files /dev/null and b/assets/icon.svg differ
diff --git a/package.json b/package.json
index 199fedc446492d6dae7c126af26f4f5dd8edda40..2d056c40ff36db3a8f8579265dd8917ed70616ad 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
 	"name": "misskey",
 	"author": "syuilo <syuilotan@yahoo.co.jp>",
-	"version": "12.24.0",
+	"version": "12.24.1",
 	"codename": "indigo",
 	"repository": {
 		"type": "git",
diff --git a/src/client/app.vue b/src/client/app.vue
index b47c092ed2e317546476985f98743e08c5b63098..650ebbd2b4d3cce7d6038b4334e1749340cd95f9 100644
--- a/src/client/app.vue
+++ b/src/client/app.vue
@@ -246,7 +246,10 @@ export default Vue.extend({
 		if (this.isDesktop) this.adjustWidgetsWidth();
 
 		const adjustTitlePosition = () => {
-			this.$refs.title.style.left = (this.$refs.main.getBoundingClientRect().left - this.$refs.nav.offsetWidth) + 'px';
+			const left = this.$refs.main.getBoundingClientRect().left - this.$refs.nav.offsetWidth;
+			if (left >= 0) {
+				this.$refs.title.style.left = left + 'px';
+			}
 		};
 
 		adjustTitlePosition();
diff --git a/src/client/init.ts b/src/client/init.ts
index d7b693e4c8903f9ea30c24e03a8607034597efbb..aed7ff85e8fe6c450efa9c776e4c593f6121803a 100644
--- a/src/client/init.ts
+++ b/src/client/init.ts
@@ -144,7 +144,7 @@ os.init(async () => {
 		}
 	}, false)
 
-	window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', mql => {
+	window.matchMedia('(prefers-color-scheme: dark)').addListener(mql => {
 		if (os.store.state.device.syncDeviceDarkMode) {
 			os.store.commit('device/set', { key: 'darkMode', value: mql.matches });
 		}
diff --git a/src/client/pages/pages.vue b/src/client/pages/pages.vue
index d993d0196ee704705e3b0082a56298ccd3051a18..dd3d09db0872ea67ab709b9c2fa73a9b98f38187 100644
--- a/src/client/pages/pages.vue
+++ b/src/client/pages/pages.vue
@@ -1,5 +1,8 @@
 <template>
 <div>
+	<portal to="icon"><fa :icon="faStickyNote"/></portal>
+	<portal to="title">{{ $t('pages') }}</portal>
+
 	<mk-container :body-togglable="true">
 		<template #header><fa :icon="faEdit" fixed-width/>{{ $t('_pages.my') }}</template>
 		<div class="rknalgpo my">