diff --git a/templates/_base.html b/templates/_base.html
index e652d26..9069285 100644
--- a/templates/_base.html
+++ b/templates/_base.html
@@ -40,21 +40,38 @@
and a "sticky" sidebar still drifts on a long page, which is the thing this is for.
{% endcomment %}
-
-
+ {% comment %}
+ Every text label on the right (theme name, "Django admin", the user's email) is
+ wrapped in `hidden sm:inline` — icon-only below the `sm` breakpoint, with the
+ button's own padding doing the rest (no fixed width to fight). None of these
+ buttons wrap or shrink on their own (button labels don't break), so on a
+ 360-400px phone the unlabelled row is what keeps the navbar from forcing the
+ whole page wider than the device — which, left unchecked, makes the browser
+ zoom the entire layout out to fit rather than actually rendering at device width.
+ `min-w-0` on the brand block matters for the same reason: a flex item defaults to
+ `min-width: auto`, which ignores `flex-1` and refuses to shrink past its content's
+ intrinsic width.
+ {% endcomment %}
+