diff --git a/AGENTS.md b/AGENTS.md
index 2f64c6f..7419eec 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -2727,6 +2727,13 @@ similar are internal endpoints/hook names, not credits — leave them.)
`@fontsource/noto-sans-devanagari` (400/500/700) is **lazy-loaded** for `hi`
via `lib/localeFonts.ts` (same pattern as CJK) and the CSS stack includes
`'Noto Sans Devanagari'` before `system-ui`.
+- **Menu hardening across all locales:** the language dropdown is `w-72` with
+ `truncate` + a fixed 24px flag slot (SVG and emoji align); the settings
+ language grid is 1 column on phones / 2 on `sm+`; the header **More** menu is
+ `w-64`; the header nav scrolls (`overflow-x-auto scrollbar-hide`) so long
+ labels never push the logo/controls; the bottom nav truncates its labels.
+ `:lang(hi/th/ja/ko/zh)` removes `uppercase`/`tracking-wide`, because
+ Devanagari/Thai/CJK labels look broken when letter-spaced.
- Translation sources were split by namespace into
`/tmp/opencode/i18n-src/batch1..7.json` (regenerate from `en.ts` if
re-translating). When adding new UI strings, add them to `en`/`es` **and all
diff --git a/src/components/LanguageToggle.tsx b/src/components/LanguageToggle.tsx
index e3185aa..12ef4e5 100644
--- a/src/components/LanguageToggle.tsx
+++ b/src/components/LanguageToggle.tsx
@@ -79,7 +79,11 @@ function Flag({ flag, className }: { flag: string; className?: string }) {
/>
);
}
- return {flag};
+ return (
+
+ {flag}
+
+ );
}
/**
@@ -124,11 +128,11 @@ export function LanguageToggle({ compact = false, inline = false, className, var
: 'text-muted-foreground hover:bg-muted hover:text-foreground'
)}
>
-
-