diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml
index ecae3845..8d88dfd8 100644
--- a/app/src/main/res/drawable/ic_launcher_foreground.xml
+++ b/app/src/main/res/drawable/ic_launcher_foreground.xml
@@ -1,17 +1,35 @@
+
-
-
-
-
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_launcher_monochrome.xml b/app/src/main/res/drawable/ic_launcher_monochrome.xml
index c1aa69f6..5eaca4bb 100644
--- a/app/src/main/res/drawable/ic_launcher_monochrome.xml
+++ b/app/src/main/res/drawable/ic_launcher_monochrome.xml
@@ -5,17 +5,29 @@
single-color silhouette. We keep the Markleaf leaf and cut the markdown '#'
veins out as negative space (fillType=evenOdd) so the identity survives tinting
instead of collapsing into a featureless blob.
+
+ Geometry mirrors `ic_launcher_foreground.xml`: same 512 viewport, same 0.85
+ group scale that keeps the leaf inside the 66dp safe circle (#318). Keep the
+ two files in step. The launcher draws whichever layer the user's theme asks
+ for, so a divergence shows up as the icon changing shape when themed icons
+ are turned on.
-->
-
+ android:width="512dp"
+ android:height="512dp"
+ android:viewportWidth="512"
+ android:viewportHeight="512">
+
+
+