diff --git a/index.html b/index.html
index 98e803b..f24c3be 100644
--- a/index.html
+++ b/index.html
@@ -2,7 +2,7 @@
-
+
MathScrap
diff --git a/packaging/icon-source.png b/packaging/icon-source.png
index 2977800..acf99c1 100644
Binary files a/packaging/icon-source.png and b/packaging/icon-source.png differ
diff --git a/packaging/icon-source.svg b/packaging/icon-source.svg
deleted file mode 100644
index 370d252..0000000
--- a/packaging/icon-source.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/packaging/logo/SHA256SUMS.txt b/packaging/logo/SHA256SUMS.txt
new file mode 100644
index 0000000..0d88221
--- /dev/null
+++ b/packaging/logo/SHA256SUMS.txt
@@ -0,0 +1 @@
+b61b9160596a0f4e7fa1a9a9296d341687b3a158e24fdf082f24c1bb208c57bf app-icon.png
diff --git a/packaging/logo/app-icon.png b/packaging/logo/app-icon.png
new file mode 100644
index 0000000..acf99c1
Binary files /dev/null and b/packaging/logo/app-icon.png differ
diff --git a/public/favicon.png b/public/favicon.png
new file mode 100644
index 0000000..7f597db
Binary files /dev/null and b/public/favicon.png differ
diff --git a/public/favicon.svg b/public/favicon.svg
deleted file mode 100644
index 6893eb1..0000000
--- a/public/favicon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/scripts/verify-packaged-dist.mjs b/scripts/verify-packaged-dist.mjs
index 07d3a65..fcaa564 100644
--- a/scripts/verify-packaged-dist.mjs
+++ b/scripts/verify-packaged-dist.mjs
@@ -28,7 +28,7 @@ need('models/comer/decoder_int8.onnx', 1_000_000)
need('models/comer/vocab.json', 100)
need('models/comer/LICENSE', 100)
need('models/comer/NOTICE.md', 50)
-need('favicon.svg', 50)
+need('favicon.png', 50)
const ortDir = path.join(dist, 'ort')
if (!existsSync(ortDir)) fail('dist/ort is missing. ONNX Runtime WASM was not copied into the bundle.')
diff --git a/signing/v0.0.1/README.md b/signing/v0.0.1/README.md
new file mode 100644
index 0000000..60e2104
--- /dev/null
+++ b/signing/v0.0.1/README.md
@@ -0,0 +1,23 @@
+# v0.0.1 公开签名材料
+
+# v0.0.1 public signing material
+
+这些是本机发行钥匙的公钥和指纹。私钥留在签名那台机器上,不进入仓库,也不注册到 GitHub 账户。
+
+These are the public keys and fingerprints for the machine that signs this release. Private keys stay on that machine. They are not in the repository and they are not added to the GitHub account.
+
+Git 提交和 annotated tag 使用 GPG Ed25519 `13E203AC53D88778AD69A9361EC5DC0B3EDBB23E`。UID 是 `DNT_OF`,没有邮箱。因此这把钥匙的有效签名不能写成 GitHub Verified。已在 `main` 上的三个提交保持原样,这个新提交不回头补签它们。
+
+Git commits and the annotated tag use GPG Ed25519 `13E203AC53D88778AD69A9361EC5DC0B3EDBB23E`. The UID is `DNT_OF` and it has no email address, so a valid signature from this key is not GitHub Verified. The three commits already on `main` stay as they are. This new commit does not re-sign them.
+
+Android 正式证书 SHA-256 是 `3D0E7FCAFEACF781628A29DE1D7EBCC7E2FEE58CC14A9F0D258C06776CE5F690`,alias `mathscrap-release`。它不是 CI 的 Android debug 证书。
+
+The Android release certificate SHA-256 is `3D0E7FCAFEACF781628A29DE1D7EBCC7E2FEE58CC14A9F0D258C06776CE5F690`, alias `mathscrap-release`. It is not the CI Android debug certificate.
+
+Windows 自签代码签名证书 SHA-256 是 `62B307F926AFE2641E306A557ACB0260A9159DA0A404A738298F01C5EC4F9F1F`。CurrentUser\My 指纹是 `75F97DC8735195D8E04A254FA906B4E1003AA65A`。系统会显示不受信任,这是预期结果。
+
+The Windows self-signed code-signing certificate SHA-256 is `62B307F926AFE2641E306A557ACB0260A9159DA0A404A738298F01C5EC4F9F1F`. The CurrentUser\My thumbprint is `75F97DC8735195D8E04A254FA906B4E1003AA65A`. An untrusted-root warning is expected.
+
+`SHA256SUMS` 覆盖同目录的三个公钥文件。
+
+`SHA256SUMS` covers the three public files in this directory.
diff --git a/signing/v0.0.1/SHA256SUMS b/signing/v0.0.1/SHA256SUMS
new file mode 100644
index 0000000..0e01602
--- /dev/null
+++ b/signing/v0.0.1/SHA256SUMS
@@ -0,0 +1,3 @@
+2932a7d4a531fcf6d92da32b3efcd34215f60902e26640091295dd5a90242c3c git-signing-public.asc
+3d0e7fcafeacf781628a29de1d7ebcc7e2fee58cc14a9f0d258c06776ce5f690 android-release-public.cer
+62b307f926afe2641e306a557acb0260a9159da0a404a738298f01c5ec4f9f1f windows-code-signing-public.cer
diff --git a/signing/v0.0.1/android-release-public.cer b/signing/v0.0.1/android-release-public.cer
new file mode 100644
index 0000000..d491f5a
Binary files /dev/null and b/signing/v0.0.1/android-release-public.cer differ
diff --git a/signing/v0.0.1/git-signing-public.asc b/signing/v0.0.1/git-signing-public.asc
new file mode 100644
index 0000000..2e71127
--- /dev/null
+++ b/signing/v0.0.1/git-signing-public.asc
@@ -0,0 +1,9 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mDMEau9DaBYJKwYBBAHaRw8BAQdAhRVEZcHn64PMyZ9bVx3jX1TZhv4jN8xxvAcj
+fpuNp2W0BkROVF9PRoiWBBMWCgA+FiEEE+IDrFPYh3itaak2HsXcCz7bsj4FAmrv
+Q2gCGwMFCQlmAYAFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQHsXcCz7bsj4F
+MAD+JYkDxP5iAl22KNMg90fHVQWOBMqfy3jYroY6cuSC5GYA/jahsCAlh8vZPXGZ
+r2gJ7duokSmtv49lPqJjZN07DsMM
+=KYFk
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/signing/v0.0.1/windows-code-signing-public.cer b/signing/v0.0.1/windows-code-signing-public.cer
new file mode 100644
index 0000000..2d4e38c
Binary files /dev/null and b/signing/v0.0.1/windows-code-signing-public.cer differ
diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png
index 19bf28d..0a13f9d 100644
Binary files a/src-tauri/icons/128x128.png and b/src-tauri/icons/128x128.png differ
diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png
index c84ab53..7f597db 100644
Binary files a/src-tauri/icons/128x128@2x.png and b/src-tauri/icons/128x128@2x.png differ
diff --git a/src-tauri/icons/32x32.png b/src-tauri/icons/32x32.png
index 6a53283..bc34692 100644
Binary files a/src-tauri/icons/32x32.png and b/src-tauri/icons/32x32.png differ
diff --git a/src-tauri/icons/64x64.png b/src-tauri/icons/64x64.png
index d873b6d..1d0c8d9 100644
Binary files a/src-tauri/icons/64x64.png and b/src-tauri/icons/64x64.png differ
diff --git a/src-tauri/icons/Square107x107Logo.png b/src-tauri/icons/Square107x107Logo.png
index 8e82111..7683c57 100644
Binary files a/src-tauri/icons/Square107x107Logo.png and b/src-tauri/icons/Square107x107Logo.png differ
diff --git a/src-tauri/icons/Square142x142Logo.png b/src-tauri/icons/Square142x142Logo.png
index bab4276..265e7a7 100644
Binary files a/src-tauri/icons/Square142x142Logo.png and b/src-tauri/icons/Square142x142Logo.png differ
diff --git a/src-tauri/icons/Square150x150Logo.png b/src-tauri/icons/Square150x150Logo.png
index 783ef3e..9d360b4 100644
Binary files a/src-tauri/icons/Square150x150Logo.png and b/src-tauri/icons/Square150x150Logo.png differ
diff --git a/src-tauri/icons/Square284x284Logo.png b/src-tauri/icons/Square284x284Logo.png
index 2571fa7..23e4358 100644
Binary files a/src-tauri/icons/Square284x284Logo.png and b/src-tauri/icons/Square284x284Logo.png differ
diff --git a/src-tauri/icons/Square30x30Logo.png b/src-tauri/icons/Square30x30Logo.png
index 306f84e..3a3a49f 100644
Binary files a/src-tauri/icons/Square30x30Logo.png and b/src-tauri/icons/Square30x30Logo.png differ
diff --git a/src-tauri/icons/Square310x310Logo.png b/src-tauri/icons/Square310x310Logo.png
index b54ea1c..eeb0043 100644
Binary files a/src-tauri/icons/Square310x310Logo.png and b/src-tauri/icons/Square310x310Logo.png differ
diff --git a/src-tauri/icons/Square44x44Logo.png b/src-tauri/icons/Square44x44Logo.png
index c939582..146224c 100644
Binary files a/src-tauri/icons/Square44x44Logo.png and b/src-tauri/icons/Square44x44Logo.png differ
diff --git a/src-tauri/icons/Square71x71Logo.png b/src-tauri/icons/Square71x71Logo.png
index 9c462cd..c62a00d 100644
Binary files a/src-tauri/icons/Square71x71Logo.png and b/src-tauri/icons/Square71x71Logo.png differ
diff --git a/src-tauri/icons/Square89x89Logo.png b/src-tauri/icons/Square89x89Logo.png
index 6c464e5..8998968 100644
Binary files a/src-tauri/icons/Square89x89Logo.png and b/src-tauri/icons/Square89x89Logo.png differ
diff --git a/src-tauri/icons/StoreLogo.png b/src-tauri/icons/StoreLogo.png
index ad6f72e..083c2cc 100644
Binary files a/src-tauri/icons/StoreLogo.png and b/src-tauri/icons/StoreLogo.png differ
diff --git a/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png b/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png
index 8a460c1..b8eacf3 100644
Binary files a/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png and b/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png differ
diff --git a/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png b/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png
index 4e3fbb8..4982f66 100644
Binary files a/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png and b/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png differ
diff --git a/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png
index 5b76651..a1e7a02 100644
Binary files a/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png and b/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png b/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png
index 8e99280..1f264fd 100644
Binary files a/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png and b/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png differ
diff --git a/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png b/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png
index bab997b..39ebe04 100644
Binary files a/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png and b/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png differ
diff --git a/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png
index 98ae005..12e0674 100644
Binary files a/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png and b/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png b/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png
index 6f3fe99..94dcbab 100644
Binary files a/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png and b/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png differ
diff --git a/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png b/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png
index f007dac..01af790 100644
Binary files a/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png and b/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png differ
diff --git a/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png
index 73f8cbd..5bca9f7 100644
Binary files a/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png and b/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png b/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png
index 8518ca0..dcd4e14 100644
Binary files a/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png and b/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png b/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png
index 3794779..795e012 100644
Binary files a/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png and b/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png differ
diff --git a/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png
index aa7e8e8..fe40133 100644
Binary files a/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png and b/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png b/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png
index cd59a91..25c8e9f 100644
Binary files a/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png and b/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png b/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png
index 2c7e028..4b569e9 100644
Binary files a/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png and b/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png differ
diff --git a/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png
index 149d3fd..8971dbb 100644
Binary files a/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png and b/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/src-tauri/icons/android/values/ic_launcher_background.xml b/src-tauri/icons/android/values/ic_launcher_background.xml
index 3363ca5..76c6b5b 100644
--- a/src-tauri/icons/android/values/ic_launcher_background.xml
+++ b/src-tauri/icons/android/values/ic_launcher_background.xml
@@ -1,4 +1,4 @@
- #C9A473
+ #E7C9A7
\ No newline at end of file
diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns
index 99ccf74..09b68c3 100644
Binary files a/src-tauri/icons/icon.icns and b/src-tauri/icons/icon.icns differ
diff --git a/src-tauri/icons/icon.ico b/src-tauri/icons/icon.ico
index 57eca55..d48d910 100644
Binary files a/src-tauri/icons/icon.ico and b/src-tauri/icons/icon.ico differ
diff --git a/src-tauri/icons/icon.png b/src-tauri/icons/icon.png
index 848638b..4161784 100644
Binary files a/src-tauri/icons/icon.png and b/src-tauri/icons/icon.png differ
diff --git a/src-tauri/icons/ios/AppIcon-20x20@1x.png b/src-tauri/icons/ios/AppIcon-20x20@1x.png
index de57b33..a3f9be6 100644
Binary files a/src-tauri/icons/ios/AppIcon-20x20@1x.png and b/src-tauri/icons/ios/AppIcon-20x20@1x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-20x20@2x-1.png b/src-tauri/icons/ios/AppIcon-20x20@2x-1.png
index 2edb569..cb234bb 100644
Binary files a/src-tauri/icons/ios/AppIcon-20x20@2x-1.png and b/src-tauri/icons/ios/AppIcon-20x20@2x-1.png differ
diff --git a/src-tauri/icons/ios/AppIcon-20x20@2x.png b/src-tauri/icons/ios/AppIcon-20x20@2x.png
index 2edb569..cb234bb 100644
Binary files a/src-tauri/icons/ios/AppIcon-20x20@2x.png and b/src-tauri/icons/ios/AppIcon-20x20@2x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-20x20@3x.png b/src-tauri/icons/ios/AppIcon-20x20@3x.png
index 748d815..ca0c3fc 100644
Binary files a/src-tauri/icons/ios/AppIcon-20x20@3x.png and b/src-tauri/icons/ios/AppIcon-20x20@3x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-29x29@1x.png b/src-tauri/icons/ios/AppIcon-29x29@1x.png
index 4971af0..7a1eb01 100644
Binary files a/src-tauri/icons/ios/AppIcon-29x29@1x.png and b/src-tauri/icons/ios/AppIcon-29x29@1x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-29x29@2x-1.png b/src-tauri/icons/ios/AppIcon-29x29@2x-1.png
index e2dfad4..d320b52 100644
Binary files a/src-tauri/icons/ios/AppIcon-29x29@2x-1.png and b/src-tauri/icons/ios/AppIcon-29x29@2x-1.png differ
diff --git a/src-tauri/icons/ios/AppIcon-29x29@2x.png b/src-tauri/icons/ios/AppIcon-29x29@2x.png
index e2dfad4..d320b52 100644
Binary files a/src-tauri/icons/ios/AppIcon-29x29@2x.png and b/src-tauri/icons/ios/AppIcon-29x29@2x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-29x29@3x.png b/src-tauri/icons/ios/AppIcon-29x29@3x.png
index d9218aa..ea05b48 100644
Binary files a/src-tauri/icons/ios/AppIcon-29x29@3x.png and b/src-tauri/icons/ios/AppIcon-29x29@3x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-40x40@1x.png b/src-tauri/icons/ios/AppIcon-40x40@1x.png
index 2edb569..cb234bb 100644
Binary files a/src-tauri/icons/ios/AppIcon-40x40@1x.png and b/src-tauri/icons/ios/AppIcon-40x40@1x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-40x40@2x-1.png b/src-tauri/icons/ios/AppIcon-40x40@2x-1.png
index cc6d499..ec77882 100644
Binary files a/src-tauri/icons/ios/AppIcon-40x40@2x-1.png and b/src-tauri/icons/ios/AppIcon-40x40@2x-1.png differ
diff --git a/src-tauri/icons/ios/AppIcon-40x40@2x.png b/src-tauri/icons/ios/AppIcon-40x40@2x.png
index cc6d499..ec77882 100644
Binary files a/src-tauri/icons/ios/AppIcon-40x40@2x.png and b/src-tauri/icons/ios/AppIcon-40x40@2x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-40x40@3x.png b/src-tauri/icons/ios/AppIcon-40x40@3x.png
index cc7ef21..7fcce09 100644
Binary files a/src-tauri/icons/ios/AppIcon-40x40@3x.png and b/src-tauri/icons/ios/AppIcon-40x40@3x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-512@2x.png b/src-tauri/icons/ios/AppIcon-512@2x.png
index e494fc9..8a12612 100644
Binary files a/src-tauri/icons/ios/AppIcon-512@2x.png and b/src-tauri/icons/ios/AppIcon-512@2x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-60x60@2x.png b/src-tauri/icons/ios/AppIcon-60x60@2x.png
index cc7ef21..7fcce09 100644
Binary files a/src-tauri/icons/ios/AppIcon-60x60@2x.png and b/src-tauri/icons/ios/AppIcon-60x60@2x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-60x60@3x.png b/src-tauri/icons/ios/AppIcon-60x60@3x.png
index a187887..2cda3c0 100644
Binary files a/src-tauri/icons/ios/AppIcon-60x60@3x.png and b/src-tauri/icons/ios/AppIcon-60x60@3x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-76x76@1x.png b/src-tauri/icons/ios/AppIcon-76x76@1x.png
index 5f59d2e..e74d78a 100644
Binary files a/src-tauri/icons/ios/AppIcon-76x76@1x.png and b/src-tauri/icons/ios/AppIcon-76x76@1x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-76x76@2x.png b/src-tauri/icons/ios/AppIcon-76x76@2x.png
index d9818bc..353de76 100644
Binary files a/src-tauri/icons/ios/AppIcon-76x76@2x.png and b/src-tauri/icons/ios/AppIcon-76x76@2x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png b/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png
index 9a4d74c..262fd81 100644
Binary files a/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png and b/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png differ