diff --git a/documentation/reference-library-index.md b/documentation/reference-library-index.md
index 63f8ad174..e120d23be 100644
--- a/documentation/reference-library-index.md
+++ b/documentation/reference-library-index.md
@@ -42,6 +42,8 @@ and a change here can break other maps.
`import … from '@map/components/dashboards/DashboardFilterChips.vue'`
- **PinHint** — PinHint.vue — the conversion coach-mark (bottom-center of any map).
`import … from '@map/components/hints/PinHint.vue'`
+- **MapInfo** — MapInfo.vue — a map's "what can this do for you?" button, one-time pointer and example popup.
+ `import … from '@map/components/info/MapInfo.vue'`
- **ApproxPinNote** — ApproxPinNote.vue — the ONE wording every map with people-group pins uses (APPROXPIN, 2026-09-26).
`import … from '@map/components/legends/ApproxPinNote.vue'`
- **LegendCollapseCaret** — LegendCollapseCaret.vue — SHARED (@map/components/legends/LegendCollapseCaret.vue).
diff --git a/library/components/info/MapInfo.vue b/library/components/info/MapInfo.vue
new file mode 100644
index 000000000..609072f6f
--- /dev/null
+++ b/library/components/info/MapInfo.vue
@@ -0,0 +1,350 @@
+
+
+
+
+
diff --git a/library/i18n/locales/ar/mapInfo.json b/library/i18n/locales/ar/mapInfo.json
new file mode 100644
index 000000000..4cc7f6f31
--- /dev/null
+++ b/library/i18n/locales/ar/mapInfo.json
@@ -0,0 +1,25 @@
+{
+ "open": "ماذا يمكن أن تقدّم لك هذه الخريطة؟",
+ "title": "ماذا يمكن أن تقدّم لك هذه الخريطة؟",
+ "pointer": "ماذا تفعل هذه الخريطة؟",
+ "close": "إغلاق",
+ "takeaway": "ما تحصل عليه:",
+ "poster": "ملصق",
+ "packet": "حزمة الصلاة",
+ "cards": "بطاقات الصلاة",
+ "spreadsheet": "جدول بيانات",
+ "example": "مثال",
+ "expandPages": "عرض كل الصفحات ({n})",
+ "collapsePages": "عرض الصفحة الأولى فقط",
+ "expandDeck": "عرض كل البطاقات ({n})",
+ "collapseDeck": "تجميع البطاقات",
+ "moreRows": "صفوف إضافية في جدول البيانات الكامل: {n}",
+ "openFull": "فتح بالحجم الكامل",
+ "pointerOff": "لا تُشِر إلى هذا الزر مرة أخرى",
+ "tab": {
+ "upg-100": {
+ "lead": "قائمة UPG-100 على خريطة واحدة: الشعوب غير المُبشَّرة، مجمّعة في مناطق يمكنك أن تتبنّاها بالصلاة.",
+ "takeaway": "لكل منطقة: ملصق للحائط، وحزمة صلاة للتوزيع، ومجموعة من بطاقات الصلاة. المثال أدناه هو المنطقة التي تضم أكبر عدد من الناس في شعوب لا يعمل أحد بعد على غرس كنائس بينها."
+ }
+ }
+}
diff --git a/library/i18n/locales/de/mapInfo.json b/library/i18n/locales/de/mapInfo.json
new file mode 100644
index 000000000..0771ff873
--- /dev/null
+++ b/library/i18n/locales/de/mapInfo.json
@@ -0,0 +1,25 @@
+{
+ "open": "Was kann diese Karte für Sie tun?",
+ "title": "Was kann diese Karte für Sie tun?",
+ "pointer": "Was kann diese Karte?",
+ "close": "Schließen",
+ "takeaway": "Was Sie mitnehmen:",
+ "poster": "Poster",
+ "packet": "Gebetsheft",
+ "cards": "Gebetskarten",
+ "spreadsheet": "Tabelle",
+ "example": "Beispiel",
+ "expandPages": "Alle Seiten anzeigen ({n})",
+ "collapsePages": "Nur die erste Seite anzeigen",
+ "expandDeck": "Alle Karten anzeigen ({n})",
+ "collapseDeck": "Karten stapeln",
+ "moreRows": "Weitere Zeilen in der vollständigen Tabelle: {n}",
+ "openFull": "In voller Größe öffnen",
+ "pointerOff": "Nicht mehr auf diese Schaltfläche hinweisen",
+ "tab": {
+ "upg-100": {
+ "lead": "Die UPG-100-Liste auf einer Karte: unerreichte Volksgruppen, zusammengefasst in Zonen, die Sie im Gebet übernehmen können.",
+ "takeaway": "für jede Zone ein Wandposter, ein Gebetsheft zum Weitergeben und ein Satz Gebetskarten. Das Beispiel unten ist die Zone mit den meisten Menschen in Volksgruppen, unter denen noch niemand Gemeinden gründet."
+ }
+ }
+}
diff --git a/library/i18n/locales/en/mapInfo.json b/library/i18n/locales/en/mapInfo.json
new file mode 100644
index 000000000..f407683b1
--- /dev/null
+++ b/library/i18n/locales/en/mapInfo.json
@@ -0,0 +1,25 @@
+{
+ "open": "What can this map do for you?",
+ "title": "What can this map do for you?",
+ "pointer": "What can this map do?",
+ "close": "Close",
+ "takeaway": "What you take away:",
+ "poster": "Poster",
+ "packet": "Prayer packet",
+ "cards": "Prayer cards",
+ "spreadsheet": "Spreadsheet",
+ "example": "Example",
+ "expandPages": "Show all pages ({n})",
+ "collapsePages": "Show the first page only",
+ "expandDeck": "Show all cards ({n})",
+ "collapseDeck": "Stack the cards",
+ "moreRows": "More rows in the full spreadsheet: {n}",
+ "openFull": "Open full size",
+ "pointerOff": "Don't point at this button again",
+ "tab": {
+ "upg-100": {
+ "lead": "The UPG-100 list on one map: unreached people groups, gathered into zones you can adopt in prayer.",
+ "takeaway": "for any zone, a wall poster, a prayer packet to hand out and a deck of prayer cards. The example below is the zone with the most people in groups where no one is planting churches yet."
+ }
+ }
+}
diff --git a/library/i18n/locales/es/mapInfo.json b/library/i18n/locales/es/mapInfo.json
new file mode 100644
index 000000000..448ba65ad
--- /dev/null
+++ b/library/i18n/locales/es/mapInfo.json
@@ -0,0 +1,25 @@
+{
+ "open": "¿Qué puede hacer este mapa por usted?",
+ "title": "¿Qué puede hacer este mapa por usted?",
+ "pointer": "¿Qué hace este mapa?",
+ "close": "Cerrar",
+ "takeaway": "Lo que se lleva:",
+ "poster": "Póster",
+ "packet": "Paquete de oración",
+ "cards": "Tarjetas de oración",
+ "spreadsheet": "Hoja de cálculo",
+ "example": "Ejemplo",
+ "expandPages": "Ver todas las páginas ({n})",
+ "collapsePages": "Ver solo la primera página",
+ "expandDeck": "Ver todas las tarjetas ({n})",
+ "collapseDeck": "Apilar las tarjetas",
+ "moreRows": "Más filas en la hoja de cálculo completa: {n}",
+ "openFull": "Abrir a tamaño completo",
+ "pointerOff": "No volver a señalar este botón",
+ "tab": {
+ "upg-100": {
+ "lead": "La lista UPG-100 en un solo mapa: pueblos no alcanzados, agrupados en zonas que usted puede adoptar en oración.",
+ "takeaway": "para cada zona, un póster para la pared, un paquete de oración para repartir y un mazo de tarjetas de oración. El ejemplo de abajo es la zona con más personas en pueblos donde todavía nadie está plantando iglesias."
+ }
+ }
+}
diff --git a/library/i18n/locales/fr/mapInfo.json b/library/i18n/locales/fr/mapInfo.json
new file mode 100644
index 000000000..87dcf6962
--- /dev/null
+++ b/library/i18n/locales/fr/mapInfo.json
@@ -0,0 +1,25 @@
+{
+ "open": "Que peut faire cette carte pour vous ?",
+ "title": "Que peut faire cette carte pour vous ?",
+ "pointer": "Que fait cette carte ?",
+ "close": "Fermer",
+ "takeaway": "Ce que vous emportez :",
+ "poster": "Affiche",
+ "packet": "Livret de prière",
+ "cards": "Cartes de prière",
+ "spreadsheet": "Tableur",
+ "example": "Exemple",
+ "expandPages": "Afficher toutes les pages ({n})",
+ "collapsePages": "N'afficher que la première page",
+ "expandDeck": "Afficher toutes les cartes ({n})",
+ "collapseDeck": "Empiler les cartes",
+ "moreRows": "Lignes supplémentaires dans le tableur complet : {n}",
+ "openFull": "Ouvrir en taille réelle",
+ "pointerOff": "Ne plus signaler ce bouton",
+ "tab": {
+ "upg-100": {
+ "lead": "La liste UPG-100 sur une seule carte : les peuples non atteints, regroupés en zones que vous pouvez adopter dans la prière.",
+ "takeaway": "pour chaque zone, une affiche murale, un livret de prière à distribuer et un jeu de cartes de prière. L'exemple ci-dessous est la zone qui compte le plus de personnes dans des peuples où personne n'implante encore d'Églises."
+ }
+ }
+}
diff --git a/library/i18n/locales/hi/mapInfo.json b/library/i18n/locales/hi/mapInfo.json
new file mode 100644
index 000000000..a352ed1b6
--- /dev/null
+++ b/library/i18n/locales/hi/mapInfo.json
@@ -0,0 +1,25 @@
+{
+ "open": "यह नक्शा आपके लिए क्या कर सकता है?",
+ "title": "यह नक्शा आपके लिए क्या कर सकता है?",
+ "pointer": "यह नक्शा क्या करता है?",
+ "close": "बंद करें",
+ "takeaway": "आपको क्या मिलता है:",
+ "poster": "पोस्टर",
+ "packet": "प्रार्थना पुस्तिका",
+ "cards": "प्रार्थना कार्ड",
+ "spreadsheet": "स्प्रेडशीट",
+ "example": "उदाहरण",
+ "expandPages": "सभी पृष्ठ दिखाएँ ({n})",
+ "collapsePages": "केवल पहला पृष्ठ दिखाएँ",
+ "expandDeck": "सभी कार्ड दिखाएँ ({n})",
+ "collapseDeck": "कार्ड एक साथ रखें",
+ "moreRows": "पूरी स्प्रेडशीट में और पंक्तियाँ: {n}",
+ "openFull": "पूरे आकार में खोलें",
+ "pointerOff": "इस बटन की ओर फिर से इशारा न करें",
+ "tab": {
+ "upg-100": {
+ "lead": "UPG-100 सूची एक ही नक्शे पर: अपहुँचे जन-समूह, क्षेत्रों में बाँटे गए, जिन्हें आप प्रार्थना में अपना सकते हैं।",
+ "takeaway": "हर क्षेत्र के लिए दीवार का एक पोस्टर, बाँटने के लिए एक प्रार्थना पुस्तिका और प्रार्थना कार्डों का एक सेट। नीचे का उदाहरण वह क्षेत्र है जहाँ ऐसे जन-समूहों में सबसे अधिक लोग हैं जिनके बीच अभी कोई कलीसिया स्थापित नहीं कर रहा है।"
+ }
+ }
+}
diff --git a/library/i18n/locales/it/mapInfo.json b/library/i18n/locales/it/mapInfo.json
new file mode 100644
index 000000000..4cd81db8d
--- /dev/null
+++ b/library/i18n/locales/it/mapInfo.json
@@ -0,0 +1,25 @@
+{
+ "open": "Che cosa può fare questa mappa per te?",
+ "title": "Che cosa può fare questa mappa per te?",
+ "pointer": "Che cosa fa questa mappa?",
+ "close": "Chiudi",
+ "takeaway": "Che cosa ottieni:",
+ "poster": "Poster",
+ "packet": "Libretto di preghiera",
+ "cards": "Carte di preghiera",
+ "spreadsheet": "Foglio di calcolo",
+ "example": "Esempio",
+ "expandPages": "Mostra tutte le pagine ({n})",
+ "collapsePages": "Mostra solo la prima pagina",
+ "expandDeck": "Mostra tutte le carte ({n})",
+ "collapseDeck": "Impila le carte",
+ "moreRows": "Altre righe nel foglio di calcolo completo: {n}",
+ "openFull": "Apri a grandezza intera",
+ "pointerOff": "Non indicare più questo pulsante",
+ "tab": {
+ "upg-100": {
+ "lead": "La lista UPG-100 su un'unica mappa: popoli non raggiunti, raggruppati in zone che puoi adottare nella preghiera.",
+ "takeaway": "per ogni zona, un poster da parete, un libretto di preghiera da distribuire e un mazzo di carte di preghiera. L'esempio qui sotto è la zona con più persone in popoli dove nessuno sta ancora fondando chiese."
+ }
+ }
+}
diff --git a/library/i18n/locales/pt/mapInfo.json b/library/i18n/locales/pt/mapInfo.json
new file mode 100644
index 000000000..197cc24e0
--- /dev/null
+++ b/library/i18n/locales/pt/mapInfo.json
@@ -0,0 +1,25 @@
+{
+ "open": "O que este mapa pode fazer por você?",
+ "title": "O que este mapa pode fazer por você?",
+ "pointer": "O que este mapa faz?",
+ "close": "Fechar",
+ "takeaway": "O que você leva:",
+ "poster": "Pôster",
+ "packet": "Pacote de oração",
+ "cards": "Cartões de oração",
+ "spreadsheet": "Planilha",
+ "example": "Exemplo",
+ "expandPages": "Mostrar todas as páginas ({n})",
+ "collapsePages": "Mostrar só a primeira página",
+ "expandDeck": "Mostrar todos os cartões ({n})",
+ "collapseDeck": "Empilhar os cartões",
+ "moreRows": "Mais linhas na planilha completa: {n}",
+ "openFull": "Abrir em tamanho real",
+ "pointerOff": "Não apontar mais para este botão",
+ "tab": {
+ "upg-100": {
+ "lead": "A lista UPG-100 em um só mapa: povos não alcançados, agrupados em zonas que você pode adotar em oração.",
+ "takeaway": "para cada zona, um pôster de parede, um pacote de oração para distribuir e um baralho de cartões de oração. O exemplo abaixo é a zona com mais pessoas em povos onde ninguém ainda está plantando igrejas."
+ }
+ }
+}
diff --git a/library/i18n/locales/ro/mapInfo.json b/library/i18n/locales/ro/mapInfo.json
new file mode 100644
index 000000000..ca55f4311
--- /dev/null
+++ b/library/i18n/locales/ro/mapInfo.json
@@ -0,0 +1,25 @@
+{
+ "open": "Ce poate face această hartă pentru tine?",
+ "title": "Ce poate face această hartă pentru tine?",
+ "pointer": "Ce face această hartă?",
+ "close": "Închide",
+ "takeaway": "Ce primești:",
+ "poster": "Poster",
+ "packet": "Pachet de rugăciune",
+ "cards": "Cartonașe de rugăciune",
+ "spreadsheet": "Foaie de calcul",
+ "example": "Exemplu",
+ "expandPages": "Arată toate paginile ({n})",
+ "collapsePages": "Arată doar prima pagină",
+ "expandDeck": "Arată toate cartonașele ({n})",
+ "collapseDeck": "Strânge cartonașele",
+ "moreRows": "Rânduri suplimentare în foaia de calcul completă: {n}",
+ "openFull": "Deschide la dimensiune completă",
+ "pointerOff": "Nu mai indica acest buton",
+ "tab": {
+ "upg-100": {
+ "lead": "Lista UPG-100 pe o singură hartă: popoare neatinse, grupate în zone pe care le poți adopta în rugăciune.",
+ "takeaway": "pentru fiecare zonă, un poster de perete, un pachet de rugăciune de împărțit și un set de cartonașe de rugăciune. Exemplul de mai jos este zona cu cei mai mulți oameni din popoare în care nimeni nu plantează încă biserici."
+ }
+ }
+}
diff --git a/library/i18n/locales/ru/mapInfo.json b/library/i18n/locales/ru/mapInfo.json
new file mode 100644
index 000000000..477c6c7c6
--- /dev/null
+++ b/library/i18n/locales/ru/mapInfo.json
@@ -0,0 +1,25 @@
+{
+ "open": "Чем эта карта может быть вам полезна?",
+ "title": "Чем эта карта может быть вам полезна?",
+ "pointer": "Что умеет эта карта?",
+ "close": "Закрыть",
+ "takeaway": "Что вы получаете:",
+ "poster": "Плакат",
+ "packet": "Молитвенный буклет",
+ "cards": "Молитвенные карточки",
+ "spreadsheet": "Таблица",
+ "example": "Пример",
+ "expandPages": "Показать все страницы ({n})",
+ "collapsePages": "Показать только первую страницу",
+ "expandDeck": "Показать все карточки ({n})",
+ "collapseDeck": "Сложить карточки в стопку",
+ "moreRows": "Ещё строк в полной таблице: {n}",
+ "openFull": "Открыть в полном размере",
+ "pointerOff": "Больше не указывать на эту кнопку",
+ "tab": {
+ "upg-100": {
+ "lead": "Список UPG-100 на одной карте: недостигнутые народы, объединённые в зоны, которые вы можете взять на молитвенное попечение.",
+ "takeaway": "для каждой зоны — настенный плакат, молитвенный буклет для раздачи и набор молитвенных карточек. Ниже показана зона, где больше всего людей в народах, среди которых пока никто не основывает церкви."
+ }
+ }
+}
diff --git a/library/i18n/locales/zh/mapInfo.json b/library/i18n/locales/zh/mapInfo.json
new file mode 100644
index 000000000..d125a0a52
--- /dev/null
+++ b/library/i18n/locales/zh/mapInfo.json
@@ -0,0 +1,25 @@
+{
+ "open": "这张地图能为你做什么?",
+ "title": "这张地图能为你做什么?",
+ "pointer": "这张地图能做什么?",
+ "close": "关闭",
+ "takeaway": "你能带走的:",
+ "poster": "海报",
+ "packet": "祷告手册",
+ "cards": "祷告卡",
+ "spreadsheet": "电子表格",
+ "example": "示例",
+ "expandPages": "显示全部页面({n})",
+ "collapsePages": "只显示第一页",
+ "expandDeck": "显示全部卡片({n})",
+ "collapseDeck": "把卡片叠起来",
+ "moreRows": "完整电子表格中的更多行:{n}",
+ "openFull": "以完整尺寸打开",
+ "pointerOff": "不再指向这个按钮",
+ "tab": {
+ "upg-100": {
+ "lead": "UPG-100 名单尽在一张地图上:未得之民按区域分组,你可以在祷告中认领一个区域。",
+ "takeaway": "每个区域都有一张墙面海报、一本可分发的祷告手册和一套祷告卡。下面的示例是这样一个区域:在尚无人植堂的族群中,这里的人数最多。"
+ }
+ }
+}