diff --git a/docs/guia_pdf/README.md b/docs/guia_pdf/README.md
new file mode 100644
index 0000000..acb06a5
--- /dev/null
+++ b/docs/guia_pdf/README.md
@@ -0,0 +1,7 @@
+# PDF de la guia para el dev
+
+Fuente de Oasis_Mobile_Guia_de_desarrollo.pdf (5 paginas A4). Para sacarlo:
+
+ chromium --headless=new --no-pdf-header-footer --print-to-pdf=guia.pdf guia.html
+
+Comprobar con `pdfinfo guia.pdf` que siguen siendo 5 paginas.
diff --git a/docs/guia_pdf/guia.html b/docs/guia_pdf/guia.html
new file mode 100644
index 0000000..55db2fc
--- /dev/null
+++ b/docs/guia_pdf/guia.html
@@ -0,0 +1,340 @@
+
+
+
+
+Oasis Mobile · Guía de desarrollo
+
+
+
+
+
+
+
+
Oasis Mobile
+
Guía de desarrollo de la rama del hacklab
+
Propuesta para epsylon · base Oasis 1.3.3 · rama PRUEBAS · 19 de octubre de 2026
+
+
+
39
versiones de Oasis entre la 1.0.1 y la 1.3.3
+
17
ficheros tuyos que la rama cambia, frente a tu APK oficial
+
2
líneas nuestras en backend.js
+
0
cambios en modelos, middleware o traducciones
+
+
+
Qué es esta rama
+
+
Una forma de usar Oasis en el móvil pensada para una acampada: tribus como comisiones, votaciones de asamblea, salas de voz.
+
No es otro Oasis. Es tu APK oficial con una capa encima: skins, unas pocas vistas, un router propio y textos.
+
Se instala junto a la oficial con otro paquete (net.laenre.oasis) y habla con la misma red.
+
+
Qué te pedimos
+
+
Que revises si la frontera que proponemos (página 3) te parece bien: qué es tuyo y no tocamos, y qué es nuestro.
+
Que nos digas si alguno de los puntos de la página 5 te interesa para Oasis, para dejar de llevarlo nosotros.
+
+
+
+
+
+
Oasis Mobile · Guía de desarrollo1 / 5
+
+
+
+
+
La regla
+
Oasis lo cambias tú. Nosotros cambiamos cómo se ve y se usa en el móvil, y lo hacemos en ficheros nuestros.
+
+
+
+ La rama son cuatro piezas propias encima de tu código. Lo único que entra en tus ficheros son líneas de enganche.
+
+
+
+
+
Por qué así
+
+
Sacas versión casi cada día y cada una llega en un solo commit: no se pueden coger cambios sueltos.
+
backend.js cambió en 34 de 39 versiones, main_views.js en 31, las traducciones en 31.
+
Cada línea nuestra en esos ficheros sería un conflicto en la siguiente integración.
+
Si tocáramos un modelo, nuestro móvil contaría distinto que tu escritorio (votos, tribus, gobierno).
+
+
+
+
Cómo se mide
+
+
La referencia para el móvil es el nodejs-project de tu APK oficial, no tu git: ahí van tus cambios de móvil.
+
Hoy la rama cambia 17 ficheros tuyos y 561 líneas; en backend.js, 2.
+
En cada versión tuya se repite la comparación y se revisa si ha desaparecido alguna clase CSS de la que tiramos.
+
+
+
+
Oasis Mobile · Guía de desarrollo2 / 5
+
+
+
+
+
Qué se toca y qué no
+
Tres zonas. La de en medio es la única que entra en tus ficheros, y solo con una línea.
+
+
+ No se toca
+
+
backend.js, rutas y cadena de middleware
+
Modelos de src/models: lo que se publica en el log y cómo se cuenta
+
src/server: arranque de SSB, dependencias, phone_module
+
request_guards.js y la CSP: nada en línea
+
Traducciones oasis_*.js
+
style.css, mobile.css y los temas, también OasisMobile.css
+
+
+
+ Una línea
+
+
Tus vistas: main_views.js, tribes_view.js, vote_view.js, settings_view.js, welcome_view.js
+
La lógica va en mobile_ui.js; en tu vista, una llamada
+
Siempre detrás de OASIS_MOBILE === '1': en escritorio todo queda como lo dejas
+
Si reescribes la vista, se vuelve a poner la línea