diff --git a/CHANGELOG.md b/CHANGELOG.md
index 72eec9f95c..738a092791 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,16 @@
 ChangeLog
 =========
 
+12.25.0 (2020/03/24)
+-------------------
+
+### ✨Improvements
+* テーマインポート機能を実装
+
+### 🐛Fixes
+* 誰もフォローしていないときにタイムラインの読み込みが遅い問題を修正
+
+
 12.24.2 (2020/03/22)
 -------------------
 
diff --git a/assets/apple-touch-icon.png b/assets/apple-touch-icon.png
index 55f66ccd8e..21c34cede7 100644
Binary files a/assets/apple-touch-icon.png and b/assets/apple-touch-icon.png differ
diff --git a/assets/favicon.png b/assets/favicon.png
index ca75ac55a0..767004005d 100644
Binary files a/assets/favicon.png and b/assets/favicon.png differ
diff --git a/assets/icon.afdesign b/assets/icon.afdesign
deleted file mode 100644
index dc02abf733..0000000000
Binary files a/assets/icon.afdesign and /dev/null differ
diff --git a/assets/icon.svg b/assets/icon.svg
index 7ae5f19da2..ec1c262611 100644
Binary files a/assets/icon.svg and b/assets/icon.svg differ
diff --git a/assets/icons/192.png b/assets/icons/192.png
index 44353b6404..a100ae044f 100644
Binary files a/assets/icons/192.png and b/assets/icons/192.png differ
diff --git a/assets/icons/512.png b/assets/icons/512.png
index f7fcef7d60..b0feb8157a 100644
Binary files a/assets/icons/512.png and b/assets/icons/512.png differ
diff --git a/locales/en-US.yml b/locales/en-US.yml
index d5a751004b..4c2ea21beb 100644
--- a/locales/en-US.yml
+++ b/locales/en-US.yml
@@ -18,7 +18,7 @@ instance: "Instance"
 settings: "Settings"
 profile: "Profile"
 timeline: "Timeline"
-noAccountDescription: "This user has not created their bio yet."
+noAccountDescription: "This user has not written their bio yet."
 login: "Sign In"
 loggingIn: "Signing In"
 logout: "Sign Out"
@@ -257,7 +257,7 @@ rename: "Rename"
 avatar: "Avatar"
 banner: "Banner"
 nsfw: "NSFW"
-disconnectedFromServer: "Connection to the server was inturrupted"
+disconnectedFromServer: "Connection to the server was interrupted."
 reload: "Refresh"
 doNothing: "Ignore"
 reloadConfirm: "Would you like to retry?"
@@ -331,7 +331,7 @@ userList: "Lists"
 about: "About"
 aboutMisskey: "About Misskey"
 aboutMisskeyText: "Misskey is an open-source software developed by syuilo since 2014."
-misskeyMembers: "It is currently developed an maintained by the members listed below:"
+misskeyMembers: "It is currently developed and maintained by the members listed below:"
 misskeySource: "Source code is available here:"
 misskeyTranslation: "Help us with your contribution to translate Misskey:"
 misskeyDonate: "Help us to keep improving the software by donating here:"
@@ -352,10 +352,10 @@ resetPassword: "Reset password"
 newPasswordIs: "The new password is \"{password}\""
 post: "Post"
 posted: "Posted!"
-autoReloadWhenDisconnected: "Auto reload when disconnected with server"
+autoReloadWhenDisconnected: "Auto reload when disconnected from server"
 autoNoteWatch: "Watch note automatically"
 autoNoteWatchDescription: "Get notified about the notes which you reactioned or replied."
-reduceUiAnimation: "Reduce animations of User Interface"
+reduceUiAnimation: "Reduce UI animation"
 share: "Share"
 notFound: "Not found"
 notFoundDescription: "There was no page corresponding to the specified URL."
@@ -411,11 +411,11 @@ or: "Or"
 uiLanguage: "UI display language"
 groupInvited: "Invited to group"
 aboutX: "About {x}"
-useOsNativeEmojis: "Use the OS native Emojis"
+useOsNativeEmojis: "Use OS native Emojis"
 youHaveNoGroups: "You have no groups"
 joinOrCreateGroup: "Get invited to join the groups or you can create your own group."
 noHistory: "No history items"
-disableAnimatedMfm: "Disable MFM which has animations"
+disableAnimatedMfm: "Disable MFM with animation"
 doing: "On my way"
 category: "Category"
 tags: "Tags"
@@ -466,6 +466,16 @@ details: "Details"
 chooseEmoji: "Choose an emoji"
 unableToProcess: "The operation could not be completed."
 recentUsed: "Recently used"
+install: "Install"
+uninstall: "Uninstall"
+_theme:
+  explore: "Explore Themes"
+  install: "Install theme"
+  manage: "Themes manager"
+  code: "Theme code"
+  installed: "{name} has been installed"
+  alreadyInstalled: "The theme is already installed"
+  invalid: "Theme format is invalid"
 _sfx:
   note: "New note"
   noteMy: "My note"
diff --git a/locales/es-ES.yml b/locales/es-ES.yml
index 7dcb73222b..d9d52e7f1c 100644
--- a/locales/es-ES.yml
+++ b/locales/es-ES.yml
@@ -466,6 +466,16 @@ details: "Detalles"
 chooseEmoji: "Elije un emoji"
 unableToProcess: "La operación no se puede llevar a cabo"
 recentUsed: "Usado recientemente"
+install: "Instalación"
+uninstall: "Desinstalar"
+_theme:
+  explore: "Explorar temas"
+  install: "Instalar tema"
+  manage: "Gestor de temas"
+  code: "Código del tema"
+  installed: "{name} ha sido instalado"
+  alreadyInstalled: "Este tema ya está instalado"
+  invalid: "El formato del tema no es válido"
 _sfx:
   note: "Notas"
   noteMy: "Nota (a mí mismo)"
diff --git a/locales/fr-FR.yml b/locales/fr-FR.yml
index b527cbd602..080026afca 100644
--- a/locales/fr-FR.yml
+++ b/locales/fr-FR.yml
@@ -466,6 +466,16 @@ details: "Détails"
 chooseEmoji: "Choisissez des emojis"
 unableToProcess: "L'opération n'a pas pu être complétée"
 recentUsed: "Récemment utilisé"
+install: "Installation"
+uninstall: "Désinstaller"
+_theme:
+  explore: "Explorer les thèmes"
+  install: "Installer un thème"
+  manage: "Gestion des thèmes"
+  code: "Code du thème"
+  installed: "{name} a été installé"
+  alreadyInstalled: "Ce thème est déjà installé"
+  invalid: "Le format du thème n'est pas valide"
 _sfx:
   note: "Nouvelle note"
   noteMy: "Ma note"
diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml
index 185764c443..6a9a6d2f63 100644
--- a/locales/ko-KR.yml
+++ b/locales/ko-KR.yml
@@ -466,6 +466,16 @@ details: "자세히"
 chooseEmoji: "이모지 선택"
 unableToProcess: "작업을 완료할 수 없습니다"
 recentUsed: "최근 사용"
+install: "설치"
+uninstall: "삭제"
+_theme:
+  explore: "테마 찾아보기"
+  install: "테마 설치"
+  manage: "테마 관리"
+  code: "테마 코드"
+  installed: "{name} 테마가 설치되었습니다"
+  alreadyInstalled: "이미 설치된 테마입니다"
+  invalid: "테마 형식이 올바르지 않습니다"
 _sfx:
   note: "새 노트"
   noteMy: "내 노트"
diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml
index a484a1c8a2..cd42bd7c8b 100644
--- a/locales/zh-CN.yml
+++ b/locales/zh-CN.yml
@@ -466,6 +466,16 @@ details: "详情"
 chooseEmoji: "选择表情符号"
 unableToProcess: "操作无法完成"
 recentUsed: "最近使用"
+install: "安装"
+uninstall: "卸载"
+_theme:
+  explore: "寻找主题"
+  install: "安装主题"
+  manage: "主题管理"
+  code: "主题代码"
+  installed: "{name} 已安装"
+  alreadyInstalled: "此主题已经安装"
+  invalid: "主题格式错误"
 _sfx:
   note: "帖子"
   noteMy: "我的笔记"
diff --git a/package.json b/package.json
index 86d5ab202a..fb61e000f0 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
 	"name": "misskey",
 	"author": "syuilo <syuilotan@yahoo.co.jp>",
-	"version": "12.25.0",
+	"version": "12.26.0",
 	"codename": "indigo",
 	"repository": {
 		"type": "git",
diff --git a/src/client/app.vue b/src/client/app.vue
index 650ebbd2b4..99268e42bf 100644
--- a/src/client/app.vue
+++ b/src/client/app.vue
@@ -895,24 +895,25 @@ export default Vue.extend({
 					color: var(--navActive);
 				}
 
-				&:first-child {
+				&:first-child, &:last-child {
 					position: sticky;
 					z-index: 1;
-					top: 0;
 					padding-top: 8px;
 					padding-bottom: 8px;
+					background: var(--wboyroyc);
+					-webkit-backdrop-filter: blur(8px);
+					backdrop-filter: blur(8px);
+				}
+
+				&:first-child {
+					top: 0;
 					margin-bottom: 16px;
-					background: var(--navBg);
 					border-bottom: solid 1px var(--divider);
 				}
 
 				&:last-child {
-					position: sticky;
 					bottom: 0;
-					padding-top: 8px;
-					padding-bottom: 8px;
 					margin-top: 16px;
-					background: var(--navBg);
 					border-top: solid 1px var(--divider);
 				}
 
diff --git a/src/client/components/signup.vue b/src/client/components/signup.vue
index 34765a7a26..9f3ae8db28 100644
--- a/src/client/components/signup.vue
+++ b/src/client/components/signup.vue
@@ -38,7 +38,7 @@
 		</mk-input>
 		<mk-switch v-model="ToSAgreement" v-if="meta.tosUrl">
 			<i18n path="agreeTo">
-				<a :href="meta.tosUrl" target="_blank">{{ $t('tos') }}</a>
+				<a :href="meta.tosUrl" class="_link" target="_blank">{{ $t('tos') }}</a>
 			</i18n>
 		</mk-switch>
 		<div v-if="meta.enableRecaptcha" class="g-recaptcha" :data-sitekey="meta.recaptchaSiteKey" style="margin: 16px 0;"></div>
diff --git a/src/client/init.ts b/src/client/init.ts
index b9c6aedae4..1fcd97190d 100644
--- a/src/client/init.ts
+++ b/src/client/init.ts
@@ -145,6 +145,12 @@ os.init(async () => {
 		}
 	}, false)
 
+	os.store.watch(state => state.device.darkMode, darkMode => {
+		// TODO: このファイルでbuiltinThemesを参照するとcode splittingが効かず、初回読み込み時に全てのテーマコードを読み込むことになってしまい無駄なので何とかする
+		const themes = builtinThemes.concat(os.store.state.device.themes);
+		applyTheme(themes.find(x => x.id === (darkMode ? os.store.state.device.darkTheme : os.store.state.device.lightTheme)));
+	});
+
 	//#region Sync dark mode
 	if (os.store.state.device.syncDeviceDarkMode) {
 		os.store.commit('device/set', { key: 'darkMode', value: isDeviceDarkmode() });
@@ -176,13 +182,6 @@ os.init(async () => {
 				isMobile: isMobile
 			};
 		},
-		watch: {
-			'$store.state.device.darkMode'() {
-				// TODO: このファイルでbuiltinThemesを参照するとcode splittingが効かず、初回読み込み時に全てのテーマコードを読み込むことになってしまい無駄なので何とかする
-				const themes = builtinThemes.concat(this.$store.state.device.themes);
-				applyTheme(themes.find(x => x.id === (this.$store.state.device.darkMode ? this.$store.state.device.darkTheme : this.$store.state.device.lightTheme)));
-			}
-		},
 		methods: {
 			api: os.api,
 			signout: os.signout,
diff --git a/src/client/pages/about-misskey.vue b/src/client/pages/about-misskey.vue
index 6b853d9e4a..84cd5d5e9c 100644
--- a/src/client/pages/about-misskey.vue
+++ b/src/client/pages/about-misskey.vue
@@ -1,9 +1,14 @@
 <template>
 <div class="znqjceqz">
-	<portal to="title">🍀 {{ $t('aboutMisskey') }}</portal>
+	<portal to="title">{{ $t('aboutMisskey') }}</portal>
 
 	<section class="_card">
-		<div class="_title">🍀 {{ $t('aboutMisskey') }}</div>
+		<div class="_title">{{ $t('aboutMisskey') }}</div>
+		<div class="_content" style="text-align: center;">
+			<img src="/assets/icons/512.png" alt="" style="display: block; width: 100px; margin: 0 auto; border-radius: 16px;"/>
+			<div style="margin-top: 0.75em;">Misskey</div>
+			<div style="opacity: 0.5;">v{{ version }}</div>
+		</div>
 		<div class="_content">
 			<div style="margin-bottom: 1em;">{{ $t('aboutMisskeyText') }}</div>
 			<div>🛠️ {{ $t('misskeyMembers') }}</div>
@@ -44,6 +49,9 @@
 				<li>wara</li>
 				<li>Takashi Shibuya</li>
 				<li>Noizeman</li>
+				<li>mydarkstar</li>
+				<li>nenohi</li>
+				<li>Eduardo Quiros</li>
 			</ul>
 			<span>{{ $t('morePatrons') }}</span>
 		</div>
diff --git a/src/client/pages/instance/users.vue b/src/client/pages/instance/users.vue
index 2341c51988..db9e625e4c 100644
--- a/src/client/pages/instance/users.vue
+++ b/src/client/pages/instance/users.vue
@@ -64,6 +64,9 @@ export default Vue.extend({
 			pagination: {
 				endpoint: 'admin/show-users',
 				limit: 10,
+				params: () => ({
+					sort: '+createdAt'
+				}),
 				offsetMode: true
 			},
 			target: '',
diff --git a/src/client/themes/_dark.json5 b/src/client/themes/_dark.json5
index bc7c0efc09..b059d53be2 100644
--- a/src/client/themes/_dark.json5
+++ b/src/client/themes/_dark.json5
@@ -65,5 +65,6 @@
 		aupeazdm: 'rgba(0, 0, 0, 0.3)',
 		jvhmlskx: 'rgba(255, 255, 255, 0.1)',
 		yakfpmhl: 'rgba(255, 255, 255, 0.15)',
+		wboyroyc: ':alpha<0.5<@navBg',
 	},
 }
diff --git a/src/client/themes/_light.json5 b/src/client/themes/_light.json5
index adb1280420..dea1b335c1 100644
--- a/src/client/themes/_light.json5
+++ b/src/client/themes/_light.json5
@@ -65,5 +65,6 @@
 		aupeazdm: 'rgba(0, 0, 0, 0.1)',
 		jvhmlskx: 'rgba(0, 0, 0, 0.1)',
 		yakfpmhl: 'rgba(0, 0, 0, 0.15)',
+		wboyroyc: ':alpha<0.5<@navBg',
 	},
 }