{"id":4376,"date":"2025-06-27T10:03:39","date_gmt":"2025-06-27T15:03:39","guid":{"rendered":"https:\/\/itishoemath.com\/?p=4376"},"modified":"2025-10-17T10:18:47","modified_gmt":"2025-10-17T15:18:47","slug":"su-cerebro-esta-siendo-utilizado-en-su-contra-psyops","status":"publish","type":"post","link":"https:\/\/itishoemath.com\/es_es\/su-cerebro-esta-siendo-utilizado-en-su-contra-psyops\/","title":{"rendered":"PSYOPS [C\u00f3mo utilizan tu cerebro en tu contra]"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"4376\" class=\"elementor elementor-4376\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-97dd7a3 e-flex e-con-boxed e-con e-parent\" data-id=\"97dd7a3\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ce1c704 elementor-widget elementor-widget-html\" data-id=\"ce1c704\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4><strong>La manipulaci\u00f3n de los medios de comunicaci\u00f3n al descubierto<\/strong><\/h4>\n<br>\n<span>h<\/span>oe_math desenmascara los medios de comunicaci\u00f3n y las plataformas digitales que secuestran tu cerebro. Con un profesional en la materia, desmenuza las verdaderas t\u00e1cticas psicol\u00f3gicas -manipulaci\u00f3n emocional, desencadenantes subconscientes, sectas...- que secuestran tu cerebro.<!--preview--> lavado de cerebro-que moldean lo que crees sin que te des cuenta. Noticias que distraen, l\u00edderes de sectas, mensajes pand\u00e9micos: todo est\u00e1 dise\u00f1ado. La mayor\u00eda ni siquiera se dan cuenta de que est\u00e1n siendo atacados. Esto es guerra psicol\u00f3gica. Despierta. Cuesti\u00f3nalo todo. No seas un pe\u00f3n.\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8858505 elementor-widget elementor-widget-html\" data-id=\"8858505\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p> <\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4860eef elementor-widget elementor-widget-html\" data-id=\"4860eef\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- CSV for video links and summaries -->\n\n<!-- Header: Not Translated -->\n<script id=\"video-data-header\" type=\"text\/plain\">\ntime|stop|tab|title|description\n<\/script>\n\n<div id=\"tp-translatable-strings2\"\n     style=\"color:#000101; background:#000101; width:100vw; height:auto; position:static; z-index:1; font-size:1px;\">\n<pre id=\"video-data-rows\">\n0 | 84 | Creencias | C\u00f3mo los medios moldean las creencias | El episodio comienza explicando c\u00f3mo los medios y las pantallas crean asociaciones subconscientes que cambian las creencias de la gente sin que \u00e9sta sea consciente de ello. El presentador muestra c\u00f3mo este proceso es similar al lavado de cerebro, utilizado miles de millones de veces al d\u00eda para moldear la opini\u00f3n p\u00fablica y distraer de la realidad.\n84 | 216 | Operaciones psicol\u00f3gicas | Operaciones psicol\u00f3gicas y distracci\u00f3n | Un experto se une para describir c\u00f3mo funcionan las operaciones psicol\u00f3gicas (SCOPS), incluyendo ejemplos reales como el incidente del avi\u00f3n no tripulado de Nueva Jersey que supuestamente distrae de las noticias pol\u00edticas. Discuten c\u00f3mo la cobertura medi\u00e1tica coordinada manipula la atenci\u00f3n colectiva y oculta acontecimientos importantes.\n216 | 507 | Manipulando | Leyendo y manipulando a la gente | El experto comparte su experiencia en el cumplimiento de la ley, seguridad y entrenamiento con el FBI, detallando t\u00e9cnicas para leer el lenguaje corporal e identificar rasgos que hacen a la gente susceptible a la manipulaci\u00f3n, coerci\u00f3n y lavado de cerebro.\n507 | 629 | Narrativas | Narrativas frente a hechos | El debate gira en torno a c\u00f3mo controlar una narrativa no consiste s\u00f3lo en contar mentiras, sino en seleccionar qu\u00e9 hechos e historias destacar u omitir. Esto moldea la opini\u00f3n p\u00fablica haciendo que ciertos puntos de vista parezcan normales o urgentes, mientras que otros son descartados o ignorados.\n629 | 855 | Cerebro | Estructura cerebral y atracci\u00f3n | Los presentadores explican c\u00f3mo la estructura del cerebro -espec\u00edficamente el neoc\u00f3rtex, el sistema l\u00edmbico y el reptiliano- afecta a la forma en que formamos v\u00ednculos y preferencias. Estos mismos procesos neurol\u00f3gicos que influyen en la atracci\u00f3n rom\u00e1ntica son explotados por vendedores y propagandistas.\n855 | 1200 | Apego | Apego, oxitocina y enga\u00f1o | Se demuestra que las hormonas del apego, como la oxitocina, desempe\u00f1an un papel tanto en las relaciones como en la manipulaci\u00f3n, con una discusi\u00f3n detallada sobre c\u00f3mo esto conduce a situaciones de apego y por qu\u00e9 algunas personas se apegan a ideas, narrativas o l\u00edderes incluso cuando les perjudican.\n1200 | 1367 | Lavado de cerebro por sectas | Pensamiento m\u00e1gico y lavado de cerebro por sectas | Los presentadores describen el pensamiento m\u00e1gico -creer que los sucesos aleatorios tienen un significado especial- y lo relacionan con las t\u00e1cticas de las sectas, mostrando c\u00f3mo las personas vulnerables pueden ser llevadas a aceptar creencias extremas a trav\u00e9s de la manipulaci\u00f3n emocional y los rituales.\n1367 | 1558 | V\u00edctimas | Reconocer a las v\u00edctimas y a los perpetradores | Ense\u00f1an c\u00f3mo identificar a las personas a las que se les ha lavado el cerebro o han sido manipuladas por su lenguaje corporal y sus comportamientos defensivos, y c\u00f3mo los l\u00edderes de las sectas crean mentalidades y rituales de 'nosotros contra ellos' para mantener el control sobre los seguidores.\n1558 | 1701 | Pandemia | Pandemia, ritual y control social | El episodio establece paralelismos entre los rituales de las sectas y las medidas pand\u00e9micas, argumentando que muchos comportamientos de distanciamiento social y uso de m\u00e1scaras se convirtieron en rituales para reforzar la cohesi\u00f3n del grupo, la obediencia y una din\u00e1mica de 'nosotros contra ellos'.\n1701 | 1797 | Agreeableness | The Easily Led and Agreeableness | Se analiza la investigaci\u00f3n sobre los rasgos de la personalidad, destacando que alrededor del 35-40% de las personas son altamente agradables y, por lo tanto, m\u00e1s f\u00e1ciles de guiar. Las mujeres son estad\u00edsticamente m\u00e1s agradables, lo que las hace m\u00e1s susceptibles a la manipulaci\u00f3n social y psicol\u00f3gica.\n1797 | 2017 | Hipnosis | Hipnosis, m\u00e9todo PCP y sugesti\u00f3n | El experto explica c\u00f3mo se puede hipnotizar o persuadir a las personas para que act\u00faen en contra de sus creencias en determinadas circunstancias, utilizando el m\u00e9todo PCP (percepci\u00f3n, contexto, permiso). Repasan ejemplos del mundo real y experimentos psicol\u00f3gicos que demuestran su cumplimiento.\n2017 | 2092 | Necesidades | Seis necesidades humanas b\u00e1sicas | El episodio describe seis necesidades humanas b\u00e1sicas (significado, aprobaci\u00f3n, aceptaci\u00f3n, inteligencia, poder y simpat\u00eda) que los manipuladores explotan para influir en las creencias y acciones, especialmente en tiempos de crisis o incertidumbre.\n2092 | 2654 | Milgram | El lavado de cerebro y el experimento de Milgram | Repasan el famoso experimento de Milgram, que demuestra c\u00f3mo la autoridad y el contexto pueden empujar a la gente corriente a cometer actos da\u00f1inos. S\u00f3lo se necesitan tres de los seis factores clave de conformidad para conseguir que la mayor\u00eda de la gente obedezca \u00f3rdenes extremas.\n2654 | 2888 | Estocolmo | S\u00edndrome de Estocolmo y manipulaci\u00f3n extrema | Casos como el de Patty Hearst y los prisioneros de guerra ilustran c\u00f3mo la privaci\u00f3n, el miedo y la repetici\u00f3n pueden recablear completamente las creencias de alguien a trav\u00e9s del fraccionamiento y el trauma, conduciendo a una conformidad total e incluso a la devoci\u00f3n por sus captores.\n2888 | 3490 | GovOps | Recognizing Government Psychological Operations | Explican c\u00f3mo los gobiernos utilizan la distracci\u00f3n, la normalizaci\u00f3n, la escalada y el ritual para moldear la opini\u00f3n p\u00fablica, citando ejemplos como las historias de los globos meteorol\u00f3gicos chinos y los drones de Nueva Jersey. Los mismos procesos utilizados en las sectas se aplican a escala masiva a trav\u00e9s de los medios de comunicaci\u00f3n.\n3490 | 3788 | Eventos | Gu\u00eda paso a paso de los eventos fabricados | Un desglose detallado de c\u00f3mo se desarrollan los eventos fabricados: mover la ventana de Overton, normalizar nuevas ideas, crear tensi\u00f3n, escalar informes, organizar un bombardeo medi\u00e1tico, dise\u00f1ar un evento global, crear caos, y luego presentar una soluci\u00f3n pre-planeada al p\u00fablico.\n3788 | 4049 | Poder | Mantener el poder y la dependencia p\u00fablica | Los presentadores concluyen que el objetivo de estas operaciones es aumentar la confianza p\u00fablica y la dependencia de las autoridades, haciendo que la gente acepte restricciones y renuncie a libertades sin cuestionarlas. Instan a los espectadores a reconocer estos patrones y a preguntarse siempre si las soluciones est\u00e1n aumentando el control gubernamental o reduciendo las libertades individuales.\n<\/pre>\n\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9265a2c elementor-widget elementor-widget-html\" data-id=\"9265a2c\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- 2.1. MOD Image CSV -->\n<!-- 1st image, update this\n     ImageID_3 image data locations and text -->\n<div id=\"tp-translatable-strings3\"\n     style=\"color:#000101; background:#000101; width:100vw; height:auto; position:static; z-index:1; font-size:1px;\">\n<!-- CSV for image1  style=\"display:none;\" -->\n<pre id=\"hotspot-data-image1\">\n<span class=\"notranslate\">order|x_px|y_px|Izquierda_Derecha_Arriba_Bajo|text\n1|5|248|R|<span class=\"translate\">Las mujeres est\u00e1n literalmente conduciendo a la raza humana hacia la extinci\u00f3n en este momento<\/span>\n2|10|391|R|<span class=\"translate\">Las mujeres est\u00e1n llevando a la raza humana hacia la extinci\u00f3n porque estamos hartas de los hombres y de la sociedad que construyeron<\/span>\n3|18|592|R|<span class=\"translate\">PSYOPS<\/span>\n4|488|385|B|<span class=\"translate\">las mujeres deben cobrar por existir<\/span>\n5|476|89|R|<span class=\"translate\">\u00a1Sus mentes est\u00e1n secuestradas!<\/span>\n6|740|36|R|<span class=\"translate\">Neoc\u00f3rtex<\/span>\n7|1134|154|R|<span class=\"translate\">L\u00edmbico<\/span>\n8|834|401|R|<span class=\"translate\">Privado<\/span>\n9|867|673|R|<span class=\"translate\">P\u00fablico<\/span>\n10|843|561|B|<span class=\"translate\">Percepci\u00f3n<\/span>\n11|936|510|R|<span class=\"translate\">Permiso<\/span>\n<\/span>\n<\/pre>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1417dae elementor-widget elementor-widget-html\" data-id=\"1417dae\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- 1. MOD Image Links -->\n<!-- ImageID_5 image urls -->\n\n<script>\n  const imageMap = {\n    image1: \"https:\/\/itishoemath.com\/wp-content\/uploads\/2025\/05\/UCsEPI9OwGEw5Lm0E7Paq62g_0003_wWrsW76bG88_en.jpg\"\n  };\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d08897e elementor-widget elementor-widget-html\" data-id=\"d08897e\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"tp-translatable-strings5\"\n     style=\"color:#000101; background:#000101; width:100vw; height:auto; position:static; z-index:1; font-size:1px;\">\n<span id=\"hiddenText\">\n0.0 Internet nos est\u00e1 volviendo locos a todos, cabeza parlante mediante. Y no es nada nuevo: ya dijimos lo mismo de la televisi\u00f3n en su d\u00eda. As\u00ed es como funciona: ves algo, sientes algo, y haces una asociaci\u00f3n -como \"hombre malo\"- antes incluso de decidir lo que crees. Luego pasas a lo siguiente, pero esa asociaci\u00f3n se queda grabada en tu cerebro, lista para actuar m\u00e1s tarde.\n11.0 As\u00ed es como otra persona cambia tus creencias sin que te des cuenta. No es un accidente: \u00e9sta es b\u00e1sicamente la f\u00f3rmula del lavado de cerebro, y se utiliza con miles de millones de personas cada d\u00eda. \u00bfAlguna vez te has cre\u00eddo algo s\u00f3lo porque lo has visto en una pantalla? \u00bfAlguna vez te has distra\u00eddo con algo falso cuando estaba ocurriendo algo real? Si crees que no, significa que no lo sabes. Le pasa a todo el mundo, todos los d\u00edas.\n59.0 Las partes inferior y media de tu cerebro son f\u00e1ciles de manipular; simplemente reaccionan. La \u00fanica forma de protegerte es utilizar tu cerebro superior, y te mostrar\u00e9 c\u00f3mo. Incluso he hecho un diagrama para ti.\n71.0 B\u00e1sicamente, ves algo, sientes algo, guardas esa sensaci\u00f3n para m\u00e1s tarde y sigues adelante, sin pensar realmente en ello. Esa es la explicaci\u00f3n corta. La larga puede refrescarte la memoria, as\u00ed que qu\u00e9date.\n90.0 Este v\u00eddeo es un poco diferente: normalmente hablo de los pensamientos subconscientes que estropean el mercado de las citas, pero hoy se trata de c\u00f3mo esos mismos pensamientos subconscientes se utilizan para controlar a todo el mundo, no s\u00f3lo a los que tienen citas, a trav\u00e9s de las redes sociales, la televisi\u00f3n y el gobierno. Se llaman operaciones psicol\u00f3gicas, o SCOPS, y son tan reales y comunes como los anuncios.\n115.0 Traje a un experto que trabaja con el FBI, ense\u00f1a perfiles psicol\u00f3gicos y es b\u00e1sicamente un profesional en comprender c\u00f3mo se pueden manipular los pensamientos y sentimientos de las personas. Ha le\u00eddo documentos del gobierno que la mayor\u00eda de la gente no ha le\u00eddo.\n135.0 Explica c\u00f3mo se utilizan los SCOPS como distracciones. Por ejemplo, durante los avistamientos de drones en Nueva Jersey a finales de 2024, todo el mundo estaba centrado en los drones. Pero, justo en ese momento, el presidente Biden indult\u00f3 a su hijo Hunter, una gran historia que acab\u00f3 enterrada bajo la cobertura de los drones. \u00bfCoincidencia? La verdad es que no. Hay pruebas de que la historia de los drones se utiliz\u00f3 como distracci\u00f3n.\n211.0 BK, el experto, dice que las noticias se utilizan constantemente para enga\u00f1arte, y tienes que aprender a detectarlas. Busca grandes historias impulsadas por un solo bando. El patrocinador, Ground News, te ayuda a comparar titulares y ver el sesgo de la cobertura, que es una forma de detectar un SCOP.\n279.0 BK tiene experiencia en operaciones bancarias y seguridad: ha recibido formaci\u00f3n del FBI durante cinco a\u00f1os, ense\u00f1ando a profesionales de la seguridad y de las fuerzas del orden a leer el lenguaje corporal, detectar la manipulaci\u00f3n y entender cu\u00e1ndo alguien puede ser un narcisista o un psic\u00f3pata. Dice que los mismos principios que se utilizan en las citas -como la atracci\u00f3n- son los mismos que se emplean en las operaciones psicol\u00f3gicas y el lavado de cerebro.\n347.0 La divisi\u00f3n entre lo que la gente dice y lo que realmente siente es el punto exacto al que se dirigen los manipuladores. Cambia los sentimientos, no dejes que piensen en ellos, y cambiar\u00e1s lo que alguien cree. Por eso ha dedicado tanto tiempo a intentar que la gente sea consciente de c\u00f3mo funciona su propio cerebro.\n385.0 El curr\u00edculum de BK es largo, pero la cuesti\u00f3n es que sabe leer a la gente mejor que la mayor\u00eda y sabe c\u00f3mo saber si alguien ha sido manipulado, es peligroso o puede ser manipulado. Ense\u00f1a c\u00f3mo detectar e incluso crear estas situaciones, que los pol\u00edticos y las autoridades utilizan todo el tiempo.\n535.0 \"Controlar la narrativa\" no es s\u00f3lo mentir. Se trata de escribir la historia que la gente cree, mezclando hechos y omisiones de forma que la gente se centre en ellos, omitiendo detalles o haciendo hincapi\u00e9 en otros. Tienes que usar tu cerebro pensante para escribir tu propia narrativa, de lo contrario alguien lo har\u00e1 por ti.\n670.0 El cerebro funciona as\u00ed: en la base est\u00e1 el \"cerebro reptiliano\" (impulsos), luego el sistema l\u00edmbico (emociones) y despu\u00e9s el neoc\u00f3rtex (cerebro pensante). El cerebro s\u00f3lo presta atenci\u00f3n a lo que le entrenas para que note, como cuando compras un coche nuevo y de repente ves ese modelo por todas partes. Lo mismo ocurre con el tipo de personas que te atraen o las ideas que absorbes. El subconsciente decide lo que es importante y excluye el resto.\n874.0 El \"n\u00facleo accumbens\" de tu cerebro recuerda cualquier cosa que te haya dado un subid\u00f3n de dopamina, y seguir\u00e1 empuj\u00e1ndote a perseguir esa sensaci\u00f3n. B\u00e1sicamente, te programas para ver el mundo de una determinada manera en funci\u00f3n de lo que alimentas tu mente.\n936.0 El apego juega un papel importante en la manipulaci\u00f3n. Si alguien puede hacer que te sientas unido a \u00e9l o a sus ideas, querr\u00e1s creer lo que quiere. Ah\u00ed es donde entran en juego cosas como la oxitocina (la hormona del apego). Las mujeres liberan mucha m\u00e1s oxitocina que los hombres durante ciertas experiencias, lo que las hace m\u00e1s propensas al apego. Los hombres no se apegan de la misma manera, lo que causa confusi\u00f3n en las relaciones.\n1041.0 El consejo: habla de \"\u00bfqu\u00e9 somos?\" antes de encari\u00f1arte, no despu\u00e9s. A menudo la gente se lanza, se encari\u00f1a y luego intenta definir la relaci\u00f3n, lo que lleva a todo tipo de racionalizaciones, como culpar a la astrolog\u00eda de los sentimientos b\u00e1sicos.\n1112.0 De la misma manera que las personas emocionales pueden ser manipuladas en las relaciones, cualquiera a quien se haga sentir cosas puede acabar creyendo ilusiones. Esto se denomina \"pensamiento m\u00e1gico\": asignar un valor sobrenatural a acontecimientos o sentimientos aleatorios. Es com\u00fan y f\u00e1cil de desencadenar, y as\u00ed es como funcionan las sectas y el lavado de cerebro.\n1223.0 Los l\u00edderes sectarios se dirigen a personas a las que les falta algo en la vida. Al estimular los nervios y sentimientos adecuados (como el nervio vago, que conecta cerebro, pecho e intestino), convierten los sentimientos en creencias. Aproximadamente una cuarta parte de las personas son \"f\u00e1cilmente influenciables\", y un tercio m\u00e1s puede ser persuadido si se le dan suficientes pruebas.\n1331.0 Paso a paso, los l\u00edderes de las sectas (y las autoridades manipuladoras) reconocen qui\u00e9n necesita pertenencia, aceptaci\u00f3n o validaci\u00f3n, luego crean una mentalidad de \"nosotros contra ellos\", ofrecen rituales o sacrificios y a\u00edslan a los miembros. Todos estos comportamientos se manifiestan en gestos de autoprotecci\u00f3n y miedo a la autoridad.\n1570.0 Esto es similar a lo que ocurri\u00f3 durante la pandemia de COVID: la gente perdi\u00f3 conexiones, se les dio enemigos a los que culpar, y adoptaron comportamientos y lenguaje de protecci\u00f3n. Todo esto encaja con los patrones cl\u00e1sicos de manipulaci\u00f3n y lavado de cerebro.\n1727.0 Comienza con algo peque\u00f1o, como \"15 d\u00edas para aplanar la curva\", y crece a medida que la gente lo cumple, a menudo porque son agradables o quieren encajar. Es m\u00e1s com\u00fan en las mujeres, pero la educaci\u00f3n y las circunstancias tambi\u00e9n influyen.\n1811.0 La hipnosis es b\u00e1sicamente sugesti\u00f3n: no se puede hipnotizar a la gente para que haga algo que vaya totalmente en contra de su car\u00e1cter, pero con la combinaci\u00f3n adecuada de sugestionabilidad, concentraci\u00f3n, apertura, conexi\u00f3n, conformidad y expectaci\u00f3n, se puede presionar a casi todo el mundo, como se demostr\u00f3 en los experimentos de Milgram (impactar a la gente porque una autoridad se lo orden\u00f3).\n2017.0 Las personas con grandes necesidades -significaci\u00f3n, aprobaci\u00f3n, inteligencia, poder o simpat\u00eda- tienen m\u00e1s probabilidades de ser manipuladas. En los \u00faltimos a\u00f1os se ha demostrado que las personas consiguen aceptaci\u00f3n siguiendo normas, poder haci\u00e9ndolas cumplir, etc.\n2104.0 La manipulaci\u00f3n requiere ser visto como una autoridad, mostrar una prueba social (como las celebridades y los pol\u00edticos), crear apego, aislar al objetivo y luego a\u00f1adir ciclos de estr\u00e9s y alivio, un proceso llamado fraccionamiento.\n2323.0 En las redes sociales, el fraccionamiento est\u00e1 en todas partes: ves algo bonito, luego algo que da miedo, luego algo que te reconforta, y viceversa: tus emociones se mueven de un lado a otro, haciendo que te aferres a lo que parece seguro, incluso si es lo que te hizo enfadar.\n2416.0 La misma gente que te da miedo te ofrece la soluci\u00f3n, controlando lo que crees. As\u00ed es como se consigue que la gente \"atrape un cuchillo que cae\": se agarrar\u00e1n a cualquier cosa que les parezca segura.\n2448.0 Hay seis elementos principales que hacen que alguien sea sugestionable: sugestionabilidad, enfoque, apertura, conexi\u00f3n, conformidad y expectaci\u00f3n. En los experimentos de Milgram, s\u00f3lo se daban unos pocos de estos elementos, pero eran suficientes para hacer que la gente pulsara el bot\u00f3n \"matar\".\n2681.0 Enfrentarse a algo desconocido consume recursos cerebrales y te hace m\u00e1s vulnerable a la sugesti\u00f3n, a menos que est\u00e9s hipervigilante.\n2730.0 El caso de Patty Hearst es un ejemplo cl\u00e1sico: fue secuestrada, aislada, sometida a hambre y bombardeada con propaganda, hasta que acab\u00f3 uni\u00e9ndose a sus captores en sus cr\u00edmenes: el S\u00edndrome de Estocolmo. Las mismas t\u00e9cnicas han sido utilizadas por gobiernos con prisioneros de guerra y por sectas.\n2848.0 Destrozar a alguien implica miedo, aislamiento, interrupci\u00f3n de rutinas, hambre y repetici\u00f3n. Moldea a las personas hasta que hacen cualquier cosa, creyendo que fue idea suya.\n2894.0 Es lo mismo que hace tu tel\u00e9fono: perturbarte y luego consolarte, una y otra vez. Si crees que eres inmune, es cuando eres m\u00e1s vulnerable.\n2949.0 Incluso el creador de este v\u00eddeo ha ca\u00eddo en t\u00e1cticas de venta cuando estaba hambriento y desconcentrado: nadie es inmune si se dan las condiciones adecuadas.\n3014.0 Ahora bien, \u00bfc\u00f3mo utilizan estas t\u00e9cnicas los gobiernos y las agencias de inteligencia? BK confirma que, s\u00ed, el gobierno conoce y utiliza estas t\u00e9cnicas, a veces a trav\u00e9s de distracciones p\u00fablicas (SCOPS), a veces con agentes como Charles Manson (que fue apuntalado entre bastidores).\n3151.0 Una SCOP (operaci\u00f3n psicol\u00f3gica) es b\u00e1sicamente \"realidad manipulada\". Se utiliza como distracci\u00f3n, como el despiste de un mago. Si est\u00e1 ocurriendo algo importante, busca grandes historias unificadoras en las noticias que distraigan de ello.\n3280.0 BK confirma que cuando ves frases e historias id\u00e9nticas en todos los medios de comunicaci\u00f3n, es una se\u00f1al de que el gobierno est\u00e1 involucrado, canalizando temas de conversaci\u00f3n para controlar la narrativa. Ha visto los documentos.\n3409.0 Durante el COVID, el miedo se repiti\u00f3 en todas las emisoras, impulsando rituales (como m\u00e1scaras y distanciamiento) que desde entonces han sido desacreditados, pero que sirvieron para unir a la gente en el comportamiento.\n3497.0 Este es el libro de jugadas para una gran operaci\u00f3n psicol\u00f3gica:\n* Mover la \"ventana de Overton\" para que se pueda hablar de lo que viene.\n* Normalizar el tema a trav\u00e9s de la repetici\u00f3n en los medios.\n* Prepara el escenario creando expectaci\u00f3n y miedo, para que la gente sienta la necesidad de salvaci\u00f3n.\n* Hacerlo personal usando historias de la gente de la calle.\n* bombardear todos los medios de comunicaci\u00f3n para que todos digan lo mismo.\n* Provocar un gran \"acontecimiento\" (real o falso) para crear el caos.\n* Ofrecer la soluci\u00f3n, que es lo que se quer\u00eda desde el principio.\n3814.0 Piensa en cosas como la Patriot Act, donde la gente renunci\u00f3 voluntariamente a su privacidad a cambio de seguridad. Las restricciones temporales nunca acaban siendo temporales.\n3935.0 La pregunta que hay que hacerse: \"\u00bfEsto le da m\u00e1s control al gobierno o le quita libertades a alguien?\". Si la respuesta es s\u00ed, busca las fases de normalizaci\u00f3n, escalada y personalizaci\u00f3n en las semanas previas.\n3998.0 Ahora ya sabes qu\u00e9 son los SCOPS y c\u00f3mo funcionan. Mantente alerta, no te duermas y cuestiona todo: ver\u00e1s las se\u00f1ales si las buscas.\n4037.0 \u00bfQuieres la hoja de trucos de los SCOPS? Comprueba el Patreon del creador o el \u00e1rbol de enlaces: lo est\u00e1 publicando de forma gratuita para los miembros de YouTube y Patreon.\n<\/span>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eddabf7 elementor-widget elementor-widget-html\" data-id=\"eddabf7\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\n\/\/ 1. Define which video to play for each language:\nconst videoMap = {\n  en: { type: \"youtube\", id: \"wWrsW76bG88\" },\n  es: { type: \"bunny\", id: \"b32eed75-9913-49a2-a5b0-c0adf28c0048\"},  \n  fr: { type: \"bunny\", id: \"83d061d3-8dc2-4fba-8bab-62e040e50714\" }, \n  ja: { type: \"bunny\", id: \"d6903e3b-83f7-4eb1-8078-f11a43510d74\"},\n  pt: { type: \"bunny\", id: \"9aeab9b5-6c44-40e6-81c7-c525cb6282bf\"},   \n\n};\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a010ab1 e-flex e-con-boxed e-con e-parent\" data-id=\"a010ab1\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4c437ca elementor-widget elementor-widget-template\" data-id=\"4c437ca\" data-element_type=\"widget\" data-widget_type=\"template.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-template\">\n\t\t\t\t\t<div data-elementor-type=\"section\" data-elementor-id=\"3172\" class=\"elementor elementor-3172\" data-elementor-post-type=\"elementor_library\">\n\t\t\t<div class=\"elementor-element elementor-element-7079b43 e-flex e-con-boxed e-con e-parent\" data-id=\"7079b43\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-800d60f elementor-widget elementor-widget-html\" data-id=\"800d60f\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n#simplified-transcript-note {\n  display: none !important;\n}\n<\/style>\n<div id=\"simplified-transcript-note\">Las traducciones y la transcripci\u00f3n simplificada se basan en traducciones del material original, localizadas en varios idiomas. Desarrollado por PeakCreatorRoyalty.com bajo licencia con <span>h<\/span>oe_math.<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3a02ec9 elementor-widget elementor-widget-html\" data-id=\"3a02ec9\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\n  \/\/ Auto-hide translation block after page load\n  window.addEventListener('DOMContentLoaded', function() {\n    for (let i = 1; i <= 5; i++) {\n      document.querySelectorAll(`[id$=\"${i}\"]`).forEach(el => {\n        el.style.display = 'none';\n      });\n    }\n  });\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f2f7b1d elementor-widget elementor-widget-html\" data-id=\"f2f7b1d\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n  h3 {\n    margin-left: 0px; \/* Adjust as needed *\/\n    \/* Optionally add: *\/\n    text-align: left;  \n  }\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e3ade12 elementor-widget elementor-widget-html\" data-id=\"e3ade12\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- VIDEO PLAYER CONTAINER -->\n<div id=\"videoPlayerContainer\" style=\"max-width: 800px; margin: auto; text-align: center;\">\n  <!-- Video player is injected here -->\n<\/div>\n\n<!-- SCROLLING TABS & CHAPTER DETAILS -->\n<div style=\"max-width: 1000px; margin: 32px auto 0 auto;\">\n  <div id=\"chapterTabs\" class=\"chapter-tabs-scroll\">\n    <!-- Tabs will be generated by JavaScript -->\n  <\/div>\n  <!-- div id=\"chapterPlayPause\" style=\"margin:1em 0 0.5em 0;\">\n  <\/div -->\n  <div id=\"chapterPanel\" class=\"chapter-panel\">\n    <!-- Chapter text will appear here  -->\n  <\/div>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-928f586 elementor-widget elementor-widget-html\" data-id=\"928f586\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- NO TOUCH Scripts -->\n<!-- Video script v1.0 -->\n<!--[wpcode id=\"1824\"] -->\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/hls.js@latest\"><\/script> <!-- Include HLS.js -->\r\n\r\n<style>\r\n  .half-br {\r\n    display: block;\r\n    height: 1px;\r\n    width: 100%;\r\n    border: none;\r\n    margin: 0;\r\n    padding: 0;\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n\r\nlet currentChapterIdx = 0;\r\n\t\r\nfunction getCurrentLang() {\r\n  return document.documentElement.lang ? document.documentElement.lang.substring(0,2) : 'en';\r\n}\r\n\r\n\/\/ function waitTranslate(ms=1000) {\r\n\/\/   const end = Date.now() + ms; \/\/ 100 milliseconds = 1\/10 second\r\n\/\/   while (Date.now() < end) {\r\n\/\/     \/\/ Busy-wait: blocks the main thread!\r\n\/\/   }\r\n\/\/ }\r\n\r\n\/\/ const lang = getCurrentLang();\r\n\/\/ if (lang !== \"en\") {\r\n\/\/   var marker = document.getElementById('language-marker');\r\n\/\/   if (marker) {\r\n\/\/     \/\/ You can check for known translations of the phrase\r\n\/\/     var currentLangPhrase = marker.textContent.trim();\r\n\/\/ \r\n\/\/     \/\/ Example for English vs French\r\n\/\/     if (currentLangPhrase === \"Currently English language.\") {\r\n\/\/       console.log(\"Miss, translation in progress to '\/\"+lang+\"\/', 3 second delay.\")\r\n\/\/       waitTranslate(ms=3000);\r\n\/\/     } else {\r\n\/\/       console.log(\"Hit, pre-translated page in '\/\"+lang+\"\/'.\")\r\n\/\/     }\r\n\/\/   }\r\n\/\/ } else {\r\n\/\/   console.log(\"English, no translation needed.\")\r\n\/\/ }\r\n\r\n\/* ====== CONFIGURATION SECTION ====== *\/\r\n\/\/ const BUNNY_VIDEO_LIBRARY_ID = \"vz-c02c9ec9-42b.b-cdn.net\"; \/\/ Replace with your actual Bunny Video Library ID\r\nconst BUNNY_VIDEO_LIBRARY_ID = \"vz-d8eb6cfe-1f7.b-cdn.net\"; \/\/ Replace with your actual Bunny Video Library ID\r\n\r\n\/\/ 1. Define which video to play for each language:\r\n\/\/const videoMap = {\r\n\/\/  en: { type: \"youtube\", id: \"wWrsW76bG88\" },\r\n\/\/  fr: { type: \"bunny\", id: \"fc57904c-7f56-4b36-8d13-d1d715b82e81\" }, \/\/ This is the VIDEO ID\r\n\/\/  de: { type: \"bunny\", id: \"YOUR_GERMAN_VIDEO_ID\" }                   \/\/ This is the VIDEO ID\r\n  \/\/ Add more: es, it, etc.\r\n\/\/};\r\n\r\n\/\/ 2. Define chapters for each language:\r\nfunction parseCSVFromHeaderRows(headerText, rowsText) {\r\n  const headers = headerText.trim().split('|').map(h => h.trim());\r\n  const lines = rowsText.trim().split('\\n').filter(line => line.trim().length);\r\n\r\n  return lines.map(line => {\r\n    const values = [];\r\n    \/\/ Split by |, but don't split inside quotes (simple version assumes no | inside quotes)\r\n    \/\/ If you need to handle | inside quoted fields, regex needs to be more complex\r\n    let regex = \/(\"(?:[^\"]|\"\")*\"|'(?:[^']|'')*'|[^|]+)\/g;\r\n    let match;\r\n    while ((match = regex.exec(line))) {\r\n      let value = match[0].trim();\r\n      \/\/ Remove leading and trailing single or double quotes\r\n      value = value.replace(\/^(['\"])(.*)\\1$\/, '$2');\r\n      values.push(isNaN(value) ? value : Number(value));\r\n    }\r\n    const obj = {};\r\n    headers.forEach((h, i) => { obj[h] = values[i]; });\r\n    return obj;\r\n  });\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\/\/ Parse hiddenText into [{time: number, text: string}]\r\n\/\/ Parses lines like: 12.0 Text, or * Bullet point, or 1. Numbered item\r\nfunction parseHiddenText() {\r\n  const hiddenText = document.getElementById('hiddenText')?.textContent || '';\r\n  const lines = hiddenText.split('\\n').map(line => line.trim()).filter(Boolean);\r\n  const results = [];\r\n  let lastTime = null;\r\n\r\n  for (let line of lines) {\r\n    \/\/ Match timestamps with comma or dot\r\n    let match = \/^(\\d+(?:[.,]\\d+)?)\\s+(.*)$\/.exec(line);\r\n    if (match) {\r\n      lastTime = parseFloat(match[1].replace(',', '.'));\r\n      results.push({ time: lastTime, text: match[2] });\r\n      continue;\r\n    }\r\n    \/\/ Match bullets or numbers\r\n    match = \/^(\\*|\\-|\\d+\\.)\\s+(.*)$\/.exec(line);\r\n    if (match && lastTime !== null) {\r\n      results.push({ time: lastTime, text: line });\r\n      continue;\r\n    }\r\n    if (lastTime !== null) {\r\n      results.push({ time: lastTime, text: line });\r\n    }\r\n  }\r\n  return results;\r\n}\r\n\r\n\r\n\r\n\r\nconst hiddenTextLines = parseHiddenText(); \/\/ Global for later use\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\/\/ Get the header and rows from the DOM\r\nconst csvHeader = document.getElementById('video-data-header').textContent;\r\nconst csvRows = document.getElementById('video-data-rows').textContent;\r\n\r\nconst chapterMap = {\r\n  en: parseCSVFromHeaderRows(csvHeader, csvRows)\r\n};\r\n\r\n\/\/ List of properties to process\r\nconst properties = ['tab', 'title', 'description'];\r\n\r\n\/\/ Loop through each row in chapterMap.en\r\nchapterMap.en.forEach(row => {\r\n  properties.forEach(prop => {\r\n    const val = row[prop];\r\n    if (typeof val === 'string') {\r\n      row[prop] = val.replace(\/^[\\'\\\"]+|[\\'\\\"]+$\/g, '');\r\n    }\r\n  });\r\n});\r\n\r\n\/\/ console.log(chapterMap.en); \/\/ Output objects in browser console\r\n\r\n\r\n\/* ====== END CONFIGURATION ====== *\/\r\n\r\n\/* ----- Global Player Variables ----- *\/\r\nlet ytPlayer, ytReady = false, stopTimer = null;\r\nlet hlsInstance = null; \/\/ To store the HLS.js instance\r\nlet html5VideoElement = null; \/\/ To store the HTML5 video element for Bunny\r\n\r\n\r\n\/* ----- Player and Chapters Logic ----- *\/\r\nfunction cleanupPlayers() {\r\n    \/\/ Clear existing stop timer\r\n    if (stopTimer) {\r\n        clearInterval(stopTimer);\r\n        stopTimer = null;\r\n    }\r\n\r\n    \/\/ Cleanup YouTube Player\r\n    if (ytPlayer && typeof ytPlayer.destroy === 'function') {\r\n        ytPlayer.destroy();\r\n    }\r\n    ytPlayer = null;\r\n    ytReady = false;\r\n\r\n    \/\/ Cleanup HLS.js Player\r\n    if (hlsInstance) {\r\n        hlsInstance.destroy();\r\n        hlsInstance = null;\r\n    }\r\n    html5VideoElement = null; \/\/ Clear reference\r\n\r\n    \/\/ Clear the container\r\n    const container = document.getElementById('videoPlayerContainer');\r\n    if (container) container.innerHTML = \"\";\r\n}\r\n\r\nfunction setVideoPlayer(langObj) {\r\n  cleanupPlayers(); \/\/ Ensure previous players are cleaned up\r\n\r\n  const container = document.getElementById('videoPlayerContainer');\r\n  if (!container) return;\r\n\r\n  if (langObj.type === \"youtube\") {\r\n    container.innerHTML = `<div style=\"position: relative; width: 100%; padding-top: 56.25%;\">\r\n<iframe id=\"myVideo\" style=\"position: absolute;  top: 0; left: 0; width: 100%; height: 100%;\" \r\n            src=\"https:\/\/www.youtube.com\/embed\/${langObj.id}?enablejsapi=1&rel=0&origin=${window.location.origin}\"\r\n            frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\r\n            allowfullscreen><\/iframe><\/div>`;\r\n    \/\/ YT API will be loaded\/re-initialized later\r\n  } else if (langObj.type === \"bunny\") {\r\n    const bunnyStreamUrl = `https:\/\/${BUNNY_VIDEO_LIBRARY_ID}\/${langObj.id}\/playlist.m3u8`;\r\n    container.innerHTML = `<video id=\"myVideo\" width=\"100%\" height=\"390\" controls playsinline poster=\"https:\/\/itishoemath.com\/wp-content\/uploads\/2025\/05\/UCsEPI9OwGEw5Lm0E7Paq62g_0003_wWrsW76bG88_en.jpg\"><\/video>`;\r\n    html5VideoElement = document.getElementById('myVideo'); \/\/ Get the new video element\r\n\r\n\tif (html5VideoElement) {\r\n        html5VideoElement.addEventListener('play', () => renderPlayPauseButton(currentChapterIdx));\r\n        html5VideoElement.addEventListener('pause', () => renderPlayPauseButton(currentChapterIdx));\r\n    }\r\n\r\n\t  \r\n    if (Hls.isSupported()) {\r\n        hlsInstance = new Hls();\r\n        hlsInstance.loadSource(bunnyStreamUrl);\r\n        hlsInstance.attachMedia(html5VideoElement);\r\n        hlsInstance.on(Hls.Events.MANIFEST_PARSED, function() {\r\n            \/\/ console.log(\"Bunny HLS: Manifest parsed and video ready.\");\r\n            \/\/ html5VideoElement.play(); \/\/ Optional: Autoplay (mind browser restrictions)\r\n        });\r\n        hlsInstance.on(Hls.Events.ERROR, function(event, data) {\r\n            \/\/ console.error('Bunny HLS Error:', data);\r\n            if (data.fatal) {\r\n                switch(data.type) {\r\n                    case Hls.ErrorTypes.NETWORK_ERROR: hlsInstance.startLoad(); break;\r\n                    case Hls.ErrorTypes.MEDIA_ERROR: hlsInstance.recoverMediaError(); break;\r\n                    default: hlsInstance.destroy(); break;\r\n                }\r\n            }\r\n        });\r\n    } else if (html5VideoElement.canPlayType('application\/vnd.apple.mpegurl')) {\r\n        \/\/ Native HLS support (e.g., Safari)\r\n        html5VideoElement.src = bunnyStreamUrl;\r\n        html5VideoElement.addEventListener('loadedmetadata', function() {\r\n            \/\/ console.log('Bunny Native HLS: Metadata loaded.');\r\n        });\r\n    } else {\r\n        \/\/ console.error('HLS is not supported in this browser for Bunny.net video.');\r\n        container.innerHTML = '<p>Sorry, HLS video playback is not supported in your browser.<\/p>';\r\n    }\r\n  }\r\n}\r\n\r\nfunction renderTabs(activeIdx, chapters) {\r\n  const tabRow = document.getElementById('chapterTabs');\r\n  tabRow.innerHTML = chapters.map((ch, i) =>\r\n    `<button class=\"chapter-tab${i === activeIdx ? \" active\" : \"\"}\" onclick=\"showChapter(${i})\">${ch.tab}<\/button>`\r\n  ).join('');\r\n}\r\n\r\n\r\n\r\n\t\r\nfunction renderPlayPauseButton(idx) {\r\n  const lang = getCurrentLang();\r\n  const chapters = chapterMap['en'];\r\n  const ch = chapters[idx];\r\n  if (!ch) return \"\";\r\n\r\n  let isPlaying = false;\r\n  const videoObj = videoMap[lang] || videoMap['en'];\r\n\r\n  if (videoObj.type === \"youtube\" && ytPlayer && ytReady) {\r\n    isPlaying = ytPlayer.getPlayerState && ytPlayer.getPlayerState() === 1;\r\n  } else if (videoObj.type === \"bunny\" && html5VideoElement) {\r\n    isPlaying = !html5VideoElement.paused;\r\n  }\r\n\r\n  const buttonLabel = isPlaying ? \"Pause\" : \"Play\";\r\n  const buttonIcon = isPlaying ? \"\u23f8\" : \"\u25b6\ufe0f\";\r\n\r\n  const btnHtml = `<button id=\"playPauseBtn\" style=\"padding:0.5em 1em;font-size:1em;border-radius:6px;background: #0F3F91;color:#fff;border:none;cursor:pointer;margin-bottom:1em;transition: background 0.2s;display: block;\">\r\n      ${buttonIcon} ${buttonLabel}\r\n    <\/button>`;\r\n\r\n  const container = document.getElementById('playPauseContainer');\r\n  if (container) {\r\n    container.innerHTML = btnHtml;\r\n    const playPauseBtn = document.getElementById('playPauseBtn');\r\n    if (playPauseBtn) {\r\n      playPauseBtn.onclick = function() {\r\n        let isPlayingNow = false;\r\n        if (videoObj.type === \"youtube\" && ytPlayer && ytReady) {\r\n          isPlayingNow = ytPlayer.getPlayerState && ytPlayer.getPlayerState() === 1;\r\n          ytPlayer.seekTo(ch.time, true);\r\n          if (isPlayingNow) {\r\n            ytPlayer.pauseVideo();\r\n          } else {\r\n            ytPlayer.playVideo();\r\n          }\r\n        } else if (videoObj.type === \"bunny\" && html5VideoElement) {\r\n          isPlayingNow = !html5VideoElement.paused;\r\n          html5VideoElement.currentTime = ch.time;\r\n          if (isPlayingNow) {\r\n            html5VideoElement.pause();\r\n          } else {\r\n            html5VideoElement.play();\r\n          }\r\n        }\r\n        \/\/ No manual re-render here!\r\n      };\r\n    }\r\n  }\r\n}\r\n\r\n\r\nfunction formatTranscriptBlock(lines) {\r\n  let prevTime = null;\r\n  let out = [];\r\n  for (let i = 0; i < lines.length; i++) {\r\n    const { time, text } = lines[i];\r\n    \/\/ Convert seconds to MM:SS\r\n    const min = Math.floor(time \/ 60);\r\n    const sec = Math.floor(time % 60);\r\n    const mmss = `${min}:${sec.toString().padStart(2, '0')}`;\r\n    if (time !== prevTime) {\r\n      out.push(`<br><b><span style=\"color:#FFF\">${mmss}<\/span><\/b> ${text}`);\r\n    } else {\r\n      out.push(text);\r\n    }\r\n    prevTime = time;\r\n  }\r\n  return out.join('<br>');\r\n}\r\n\r\n\r\n\r\n\r\nfunction renderPanel(idx) {\r\n  const lang = getCurrentLang();\r\n\r\n  const simplifiedLabel = document.getElementById('simplified-transcript-label')?.textContent || \"\";\r\n  const simplifiedNote = document.getElementById('simplified-transcript-note')?.textContent || \"Note: ...\";\r\n\r\n  const chapters = chapterMap['en'];\r\n  const ch = chapters[idx];\r\n  if (!ch) {\r\n      console.error(`Chapter index ${idx} not found for language ${lang}.`);\r\n      return;\r\n  }\r\n\r\n  \/\/ --- Find hiddenText lines within this chapter's time range ---\r\n  const linesInRangeArr = hiddenTextLines\r\n    .filter(line => line.time >= ch.time && line.time < ch.stop);\r\n\r\n  const transcriptHTML = formatTranscriptBlock(linesInRangeArr);\r\n\r\n  let extra = \"\";\r\n  if (linesInRangeArr.length) {\r\n    extra = `\r\n      <br><br>\r\n      <!--span style=\"display:block;margin-top:1em;margin-bottom:0.25em;font-weight:bold\">${simplifiedLabel}<\/span-->\r\n      <span style=\"color:#f5f5f5;font-size:100%\">${transcriptHTML}<\/span>\r\n      <br>\r\n      <span style=\"display:block;margin-top:0.75em;font-size:75%;color:#00C2C2;\">\r\n        <br>${simplifiedNote}\r\n      <\/span>\r\n    `;\r\n  }\r\n\r\n  \/\/ Insert the Play\/Pause button at the very top of the panel\r\n  const playPauseButton = renderPlayPauseButton(idx);\r\n\r\n  document.getElementById('chapterPanel').innerHTML =\r\n    `<h3 style=\"margin-top:0;color:#fff\">${ch.title}<\/h3>\r\n     <div id=\"playPauseContainer\" style=\"margin-bottom:1em\"><\/div>\r\n     <p style=\"margin-bottom:0;color:#fff\">${ch.description}${extra}<\/p>`;\r\n\r\n  renderPlayPauseButton(idx);\r\n  renderTabs(idx, chapters);\r\n\r\n  \/\/ Attach the event handler after the button is inserted\r\n  const playPauseBtn = document.getElementById('playPauseBtn');\r\n  if (playPauseBtn) {\r\n    playPauseBtn.onclick = function() {\r\n      const videoObj = videoMap[lang] || videoMap['en'];\r\n      let isPlaying = false;\r\n      if (videoObj.type === \"youtube\" && ytPlayer && ytReady) {\r\n        isPlaying = ytPlayer.getPlayerState && ytPlayer.getPlayerState() === 1;\r\n        ytPlayer.seekTo(ch.time, true);\r\n        if (isPlaying) {\r\n          ytPlayer.pauseVideo();\r\n        } else {\r\n          ytPlayer.playVideo();\r\n        }\r\n      } else if (videoObj.type === \"bunny\" && html5VideoElement) {\r\n        isPlaying = !html5VideoElement.paused;\r\n        html5VideoElement.currentTime = ch.time;\r\n        if (isPlaying) {\r\n          html5VideoElement.pause();\r\n        } else {\r\n          html5VideoElement.play();\r\n        }\r\n      }\r\n      \/\/ Optionally update button after action\r\n      \/\/ setTimeout(() => renderPanel(idx), 300);\r\n    };\r\n  }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nwindow.showChapter = function(idx) {\r\n  currentChapterIdx = idx;\r\n\r\n  const lang = getCurrentLang();\r\n  \/\/ const chapters = chapterMap[lang] || chapterMap['en']; \/\/ Fallback to 'en'   \r\n  \/\/ will switch for video but NOT for text (translatepress will accomplish)\r\n  const chapters = chapterMap['en']; \/\/ Fallback to 'en' chapters\r\n  const chapterData = chapters[idx];\r\n\r\n  if (!chapterData) {\r\n      console.error(`Chapter data for index ${idx} not found.`);\r\n      return;\r\n  }\r\n  renderPanel(idx); \/\/ Update panel and tabs\r\n\r\n  \/\/ Scroll tab into view\r\n  const buttons = document.getElementsByClassName('chapter-tab');\r\n  if (buttons[idx]) buttons[idx].scrollIntoView({ behavior: 'smooth', inline: 'center', block: 'nearest' });\r\n\r\n  const videoObj = videoMap[lang] || videoMap['en'];\r\n\r\n  \/\/ Clear previous stop timer\r\n  if (stopTimer) clearInterval(stopTimer);\r\n\r\n  if (videoObj.type === \"youtube\") {\r\n    if (ytReady && ytPlayer && typeof ytPlayer.seekTo === 'function') {\r\n      ytPlayer.seekTo(chapterData.time, true);\r\n      ytPlayer.playVideo();\r\n      \r\n    } else {\r\n        console.warn(\"YouTube player not ready or seekTo not available.\");\r\n    }\r\n  } else if (videoObj.type === \"bunny\" && html5VideoElement) {\r\n    html5VideoElement.currentTime = chapterData.time;\r\n    html5VideoElement.play().catch(e => console.warn(\"Autoplay after seek prevented:\", e));\r\n  }\r\n};\r\n\r\nfunction reInitChaptersAndPlayer() {\r\n  const lang = getCurrentLang();\r\n  const videoObj = videoMap[lang] || videoMap['en']; \/\/ Fallback to 'en' video\r\n\r\n  if (!videoObj) {\r\n      console.error(`No video configuration found for language: ${lang} or fallback 'en'.`);\r\n      return;\r\n  }\r\n\r\n  setVideoPlayer(videoObj); \/\/ This now also cleans up old players\r\n\r\n  \/\/ Short delay to ensure DOM is updated, especially for iframe\r\n  setTimeout(function(){\r\n    renderPanel(0); \/\/ Render first chapter panel\r\n    if (videoObj.type === \"youtube\") {\r\n      \/\/ Load or re-initialize YT API for new iframe\r\n      if (typeof YT === 'undefined' || !YT.Player) { \/\/ Check if YT object or YT.Player is undefined\r\n        var tag = document.createElement('script');\r\n        tag.src = \"https:\/\/www.youtube.com\/iframe_api\";\r\n        var firstScriptTag = document.getElementsByTagName('script')[0];\r\n        firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n      } else {\r\n        \/\/ If API is loaded, re-initialize player for the new iframe if needed\r\n        onYouTubeIframeAPIReady();\r\n      }\r\n    }\r\n  }, 100); \/\/ Reduced delay, might need adjustment\r\n}\r\n\r\n\/* ----- YT API Bootstrapping ----- *\/\r\n\/\/ This global function is called by the YouTube Iframe API script\r\nwindow.onYouTubeIframeAPIReady = function() {\r\n  const iframe = document.getElementById('myVideo');\r\n  if (iframe && iframe.tagName === 'IFRAME' && !ytPlayer) { \/\/ Ensure it's an iframe and player not already set\r\n    \/\/ console.log(\"onYouTubeIframeAPIReady called, initializing YT Player.\");\r\n    ytPlayer = new YT.Player('myVideo', {\r\n      events: {\r\n        'onReady': function(event) {\r\n          ytReady = true;\r\n          \/\/ console.log(\"YouTube Player Ready.\");\r\n          \/\/ If a chapter was clicked before YT was ready, try to apply it now.\r\n          \/\/ This requires knowing the current chapter index, which might need to be stored.\r\n          \/\/ For simplicity, we'll assume the user might click a chapter again or it starts at 0.\r\n        },\r\n        'onStateChange': function(event) {\r\n\t\t\t\/\/ 1 = playing, 2 = paused\r\n\t\t\trenderPlayPauseButton(currentChapterIdx); \/\/ currentChapterIdx should be tracked globally\r\n\t\t}\r\n      }\r\n    });\r\n  } else if (iframe && iframe.tagName === 'IFRAME' && ytPlayer && typeof ytPlayer.destroy === 'function') {\r\n    \/\/ This case handles if the API is reloaded or if reInit is called and iframe exists\r\n    \/\/ It's a bit tricky; ideally, we destroy and recreate fully.\r\n    \/\/ The cleanupPlayers function should handle most of this.\r\n    \/\/ console.log(\"onYouTubeIframeAPIReady called, player might exist. Attempting to re-bind if necessary.\");\r\n  }\r\n};\r\n\r\n\/* ----- Event Hooks ----- *\/\r\ndocument.addEventListener('DOMContentLoaded', function() {\r\n    if (document.getElementById('videoPlayerContainer')) { \/\/ Only run if the container exists\r\n        reInitChaptersAndPlayer();\r\n\r\n\t\t\r\n\r\n\r\n    }\r\n});\r\n\/\/ TranslatePress fires this event on language change\r\ndocument.addEventListener('trp_language_changed', function() {\r\n    if (document.getElementById('videoPlayerContainer')) { \/\/ Only run if the container exists\r\n        reInitChaptersAndPlayer();\r\n\t\t\r\n\r\n    }\r\n});\r\n\r\n<\/script>\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-40859b7 elementor-widget elementor-widget-html\" data-id=\"40859b7\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n\/* Your existing CSS is good, no changes needed unless you want to refine *\/\n.chapter-tabs-scroll {\n  display: flex;\n  overflow-x: auto;\n  gap: 10px;\n  margin-bottom: 18px;\n  scrollbar-width: thin;\n  scrollbar-color: #a0aec0 #f7fafc; \/* For Firefox *\/\n  -webkit-overflow-scrolling: touch;\n  padding-bottom: 5px; \/* To make scrollbar visible without cutting content *\/\n  border-radius: 8px; \/* Optional: if you want rounded corners for the scroll area *\/\n}\n\/* Webkit Scrollbar Styles *\/\n.chapter-tabs-scroll::-webkit-scrollbar {\n  height: 7px;\n}\n.chapter-tabs-scroll::-webkit-scrollbar-track {\n  background: #111; \/* Or a lighter color if preferred *\/\n  border-radius: 4px;\n}\n.chapter-tabs-scroll::-webkit-scrollbar-thumb {\n  background: #333; \/* Or a contrasting color *\/\n  border-radius: 4px;\n}\n.chapter-tab {\n  white-space: nowrap;\n  border: none;\n  background: #222; \/* Darker tab background *\/\n  color: #fff;\n  font-size: 1.1em;\n  padding: 8px 22px;\n  border-radius: 999px; \/* Pill shape *\/\n  cursor: pointer;\n  transition: background 0.2s, color 0.2s, font-weight 0.2s, box-shadow 0.2s;\n  margin-bottom: 0; \/* Ensure no extra space below tabs if they wrap *\/\n  outline: none; \/* Remove default focus outline if you have custom focus styles *\/\n  margin-right: 0; \/* Reset if previously set for spacing between items *\/\n}\n.chapter-tab.active,\n.chapter-tab:hover {\n  background: #e0e7ff; \/* Light blue for active\/hover *\/\n  color: #111; \/* Dark text for active\/hover *\/\n  font-weight: bold;\n  box-shadow: 0 2px 8px #dbeafe66; \/* Softer shadow *\/\n}\n.chapter-panel {\n  background: rgba(20,20,20,0.88); \/* Semi-transparent dark background *\/\n  border-radius: 8px;\n  box-shadow: 0 2px 6px #111; \/* Subtle shadow *\/\n  padding: 20px 24px;\n  min-height: 80px; \/* Ensure panel has some height even if description is short *\/\n  transition: box-shadow 0.3s; \/* Smooth shadow transition on hover (if any) *\/\n}\n\/* Add a class for the video player container if you want to target its children more easily *\/\n#videoPlayerContainer video { \/* Ensure video tag fits container *\/\n    display: block; \/* Removes extra space below if it's inline *\/\n}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e4bc449 pa-display-conditions-yes e-flex e-con-boxed e-con e-parent\" data-id=\"e4bc449\" data-element_type=\"container\" data-settings=\"{&quot;pa_display_conditions_switcher&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-fdce02d e-con-full e-flex e-con e-child\" data-id=\"fdce02d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6160f3a elementor-widget elementor-widget-shortcode\" data-id=\"6160f3a\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!-- Post Page Mid Roll -->\r\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f66116d elementor-widget elementor-widget-heading\" data-id=\"f66116d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Obras maestras interactivas<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ce4511b elementor-widget elementor-widget-text-editor\" data-id=\"ce4511b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"border-borderMain\/50 ring-borderMain\/50 divide-borderMain\/50 dark:divide-borderMainDark\/50 dark:ring-borderMainDark\/50 dark:border-borderMainDark\/50 bg-transparent\"><div class=\"gap-y-sm md:gap-y-md flex flex-col\"><div class=\"relative font-sans text-base text-textMain dark:text-textMainDark selection:bg-super\/50 selection:text-textMain dark:selection:bg-super\/10 dark:selection:text-super\"><div class=\"min-w-0 break-words [word-break:break-word]\"><div id=\"markdown-content-0\" class=\"gap-y-md after:clear-both after:block after:content-['']\" dir=\"auto\"><div class=\"relative\"><div class=\"prose text-pretty dark:prose-invert inline leading-normal break-words min-w-0 [word-break:break-word]\"><p class=\"my-0\">En esta imagen interactiva, puedes explorar c\u00f3mo act\u00faa y afirma su visi\u00f3n del mundo cada nivel.<\/p><\/div><\/div><\/div><\/div><\/div><div class=\"flex items-center justify-between\"><div class=\"-ml-sm gap-xs flex items-center\"><div><div>\u00a0<\/div><\/div><div>\u00a0<\/div><\/div><div class=\"gap-x-xs flex items-center\"><div class=\"gap-xs flex items-center border-borderMain\/50 ring-borderMain\/50 divide-borderMain\/50 dark:divide-borderMainDark\/50 dark:ring-borderMainDark\/50 dark:border-borderMainDark\/50 bg-transparent\">\u00a0<\/div><div class=\"\">\u00a0<\/div><\/div><\/div><\/div><\/div><div class=\"\"><div class=\"animate-in fade-in duration-100 ease-out border-borderMain\/50 ring-borderMain\/50 divide-borderMain\/50 dark:divide-borderMainDark\/50 dark:ring-borderMainDark\/50 dark:border-borderMainDark\/50 bg-transparent\"><div class=\"border-borderMain\/50 ring-borderMain\/50 divide-borderMain\/50 dark:divide-borderMainDark\/50 dark:ring-borderMainDark\/50 dark:border-borderMainDark\/50 bg-transparent\"><div class=\"flex items-center justify-between border-borderMain\/50 ring-borderMain\/50 divide-borderMain\/50 dark:divide-borderMainDark\/50 dark:ring-borderMainDark\/50 dark:border-borderMainDark\/50 bg-background\"><div class=\"flex w-full items-center justify-between mb-sm\"><div class=\"\"><div class=\"space-x-sm flex items-center\"><div class=\"font-display text-lg font-medium text-textMain dark:text-textMainDark selection:bg-super\/50 selection:text-textMain dark:selection:bg-super\/10 dark:selection:text-super\"><div class=\"w-[24px]\">\u00a0<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e92154f elementor-widget elementor-widget-html\" data-id=\"e92154f\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- 3.1 CSS and 1st Image HTML -->\n<!-- ImageID_1 CSS -->\n\n<style class=\"wpcode-css-snippet\"><style>\r\n\r\n.hotspot-block,\r\n.hotspot,\r\n.hotspot-tooltip,\r\n.hotspot-btn {\r\n  font-family: \"HM Saira-VariableFont_wdth,wght\", sans-serif;\r\n}\r\n\r\n.hotspot-block {\r\n  position: relative;\r\n  margin: 40px auto;\r\n  max-width: 1280px;\r\n}\r\n\r\n.hotspot-controls {\r\n  margin-bottom: 15px;\r\n  display: flex;\r\n  justify-content: center;\r\n  flex-wrap: wrap;\r\n  gap: 15px;\r\n  align-items: center;\r\n  position: relative;\r\n  z-index: 10;\r\n}\r\n\r\n.hotspot-container {\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  width: 100%;\r\n  height: 100%;\r\n  pointer-events: none;\r\n  z-index: 2000;\r\n}\r\n\r\n.main-image {\r\n  width: 100%;\r\n  display: block;\r\n}\r\n\r\n.hotspot {\r\n  overflow: visible;\r\n  width: 36px;\r\n  height: 36px;\r\n  background: #007BFF;\r\n  color: white;\r\n  font-size: 16px;\r\n  border-radius: 50%;\r\n  text-align: center;\r\n  line-height: 36px;\r\n  font-weight: bold;\r\n  cursor: pointer;\r\n  transition: transform 0.4s, background 0.3s;\r\n  position: absolute;\r\n  pointer-events: auto;\r\n}\r\n\r\n.hotspot.enlarged {\r\n  transform: scale(1.18);\r\n  background: red;\r\n}\r\n\r\n.hotspot:hover {\r\n  transform: scale(1.18);\r\n}\r\n\r\n\/* ----------- TOOLTIP: Modern Approach ----------- *\/\r\n.hotspot-tooltip {\r\n  display: none;\r\n  position: absolute;\r\n  left: 50%;\r\n  top: auto; \/* default, will be set by direction *\/\r\n  bottom: auto;\r\n  max-width: 300px;\r\n  min-width: 0;\r\n  width: max-content; \/* will grow up to max-width, shrink for short items *\/\r\n  white-space: normal;\r\n  word-break: break-word;\r\n  padding: 10px 16px;\r\n  background: rgba(20, 20, 30, 0.92);\r\n  color: #fff;\r\n  font-size: 15px;\r\n  border-radius: 10px;\r\n  box-shadow: 0 6px 16px rgba(0,0,0,0.13);\r\n  z-index: 5000;\r\n  line-height: 1.5;\r\n  text-align: left;\r\n  border: 2px solid red;\r\n  box-sizing: border-box;\r\n  transform: translateX(-50%);\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\/* Tooltip direction and placement *\/\r\n.tooltip-above .hotspot-tooltip {\r\n  left: 50%;\r\n  bottom: 110%;\r\n  transform: translateX(-50%);\r\n  margin-bottom: 10px;\r\n}\r\n.tooltip-below .hotspot-tooltip {\r\n  left: 50%;\r\n  top: 110%;\r\n  transform: translateX(-50%);\r\n  margin-top: 10px;\r\n}\r\n.tooltip-left .hotspot-tooltip {\r\n  right: 110%;          \/* Puts tooltip fully to the left of the hotspot, with a gap *\/\r\n  top: 50%;\r\n  left: auto;           \/* Prevent any left property conflict *\/\r\n  transform: translateY(-50%);\r\n  margin-right: 10px;   \/* Space between tooltip and hotspot *\/\r\n  margin-left: 0;\r\n}\r\n\r\n.tooltip-right .hotspot-tooltip {\r\n  left: 110%;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  margin-left: 10px;\r\n}\r\n\r\n\/* Tooltip shown on enlarged\/active hotspot *\/\r\n.hotspot.enlarged .hotspot-tooltip,\r\n.hotspot.active .hotspot-tooltip,\r\n.hotspot.show-all .hotspot-tooltip {\r\n  display: block;\r\n}\r\n\r\n\/* ----------- Button styling ----------- *\/\r\n.hotspot-btn {\r\n  width: 36px;\r\n  height: 36px;\r\n  border-radius: 50%;\r\n  font-size: 16px;\r\n  background: #007BFF;\r\n  color: white;\r\n  font-weight: bold;\r\n  border: none;\r\n  cursor: pointer;\r\n  transition: background 0.2s, transform 0.2s;\r\n  position: relative;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  line-height: 1;\r\n  padding: 0;\r\n}\r\n\r\n.hotspot-btn.highlight {\r\n  background: red;\r\n}\r\n\r\n.hotspot-btn.enlarged {\r\n  transform: scale(1.18);\r\n}\r\n\r\n.hotspot-btn:hover {\r\n  background: #0056b3;\r\n}\r\n\r\n\/* Mobile responsive adjustments *\/\r\n@media (max-width: 600px) {\r\n  .hotspot {\r\n    width: 22px;\r\n    height: 22px;\r\n    font-size: 12px;\r\n    line-height: 22px;\r\n  }\r\n\r\n  .hotspot-btn {\r\n    width: 28px;\r\n    height: 28px;\r\n    font-size: 13px;\r\n  }\r\n\r\n    .hotspot-tooltip {\r\n    padding: 6px 8px;\r\n    font-size: 0.9em;\r\n  font-weight: normal;\r\n    max-width: 250px;\r\n    min-width: 120px;\r\n    width: auto;\r\n  }\r\n}\r\n<\/style><\/style>\n\n<!-- 1st image, keep this\n     ImageID_2 HTML -->\n\n<!-- Image Block 1 -->\n\n<div class=\"hotspot-block\" data-id=\"image1\" style=\"max-width:1280px; margin:40px auto; position:relative;\">\n\n  <!-- Buttons and Checkbox ABOVE the Image -->\n  <div class=\"hotspot-controls\" data-id=\"image1\" style=\"margin-bottom:15px; display:flex; justify-content:center; flex-wrap:wrap; gap:15px; align-items:center; position:relative; z-index:10;\">\n    <div class=\"hotspot-buttons\" style=\"display:flex; gap:10px; flex-wrap:wrap;\"><\/div>\n    <label style=\"font-family:sans-serif; font-size:14px;\">\n      <input type=\"checkbox\" class=\"show-all-toggle\" data-id=\"image1\" style=\"margin-right:5px;\">\n      Todos\n    <\/label>\n    <label style=\"font-family: sans-serif; font-size: 14px;\">\n       <input type=\"checkbox\" class=\"hide-numbers-toggle\" data-id=\"image1\" style=\"margin-left: 12px; margin-right: 5px;\">\n       Ocultar\n    <\/label>\n  <\/div>\n\n  <!-- Image and Hotspot container -->\n  <div style=\"position: relative;\">\n    <img decoding=\"async\" class=\"main-image\" data-id=\"image1\" src=\"\" style=\"width:100%; display:block;\">\n    \n    <!-- Hotspot container positioned absolutely over the image -->\n    <div class=\"hotspot-container\" style=\"position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none; z-index:2000;\">\n      <!-- Hotspots injected by JS here -->\n    <\/div>\n  <\/div>\n\n<\/div>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ea60902 elementor-widget elementor-widget-html\" data-id=\"ea60902\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- 4. NO TOUCH Scripts -->\n<!-- ImageID_4 HTML external scripts to call + JS -->\n<!-- script src=\"https:\/\/code.jquery.com\/jquery-3.7.1.min.js\"><\/script -->\r\n<script>\r\njQuery(document).ready(function ($) {\r\n\r\n  \/\/ --- IMAGE HOTSPOTS AND BUTTONS INIT ---\r\n  $('.hotspot-block').each(function () {\r\n    const $block = $(this);\r\n    const id = $block.data('id');\r\n    const $image = $block.find(`.main-image[data-id=\"${id}\"]`);\r\n    const $container = $block.find('.hotspot-container');\r\n    const $buttons = $block.find('.hotspot-buttons');\r\n    const imageUrl = imageMap[id];\r\n\r\n\r\n\t\r\n    const csvRaw = $(`pre#hotspot-data-${id}`).text().trim();\r\n\r\n    const activeNumbers = [];\r\n    $block.data('activeNumbers', activeNumbers);\r\n\r\n    if (!imageUrl) return;\r\n    $image.attr('src', imageUrl);\r\n\r\n    $image.on('load', function () {\r\n      const imgWidth = $image[0].naturalWidth;\r\n      const imgHeight = $image[0].naturalHeight;\r\n\r\n      \/\/ --- Simple Pipe-Delimited Parse ---\r\n\tconst lines = csvRaw.split('\\n').map(line => line.trim()).filter(Boolean);\r\n\tif (lines.length < 2) return;\r\n\t\/\/ Optionally check header here if you want\r\n\tconst data = lines.slice(1).map(line => {\r\n\t  \/\/ Split by pipe instead of comma, but allow pipes in the text field (by joining the rest)\r\n\t  const parts = line.split('|');\r\n\t  const order = parts[0] ? parts[0].trim() : '';\r\n\t  const x_px = parts[1] ? parts[1].trim() : '';\r\n\t  const y_px = parts[2] ? parts[2].trim() : '';\r\n\t  const direction = parts[3] ? parts[3].trim() : '';\r\n\t  const text = parts.length > 4 ? parts.slice(4).join('|').trim() : '';\r\n\t  return { order, x_px, y_px, direction, text };\r\n\t});\r\n\r\n\t\/\/ console.log('Parsed data:', data);\r\n\r\n\r\n      data.forEach(row => {\r\n        const number = String($.trim(row.order));\r\n        const xPx = parseFloat(row.x_px);\r\n        const yPx = parseFloat(row.y_px);\r\n        const dir = (row.direction || \"A\").trim().toUpperCase();\r\n        const text = $.trim(row.text);\r\n        const leftPercent = (xPx \/ imgWidth) * 100;\r\n        const topPercent = (yPx \/ imgHeight) * 100;\r\n\r\n        const tooltipClass = {\r\n          A: 'tooltip-above',\r\n          B: 'tooltip-below',\r\n          L: 'tooltip-left',\r\n          R: 'tooltip-right'\r\n        }[dir] || 'tooltip-above';\r\n\r\n        \/\/ Tooltip text present in DOM for TranslatePress!\r\n        const formattedText = `${number}. ` + text.replace(\/\\n\/g, '<br>');\r\n        const $hotspot = $(`\r\n          <div class=\"hotspot ${tooltipClass}\" data-number=\"${number}\">\r\n            <span class=\"hotspot-number\">${number}<\/span>\r\n            <span class=\"hotspot-tooltip\" style=\"display:none;\">${formattedText}<\/span>\r\n          <\/div>\r\n        `).css({\r\n          left: `${leftPercent}%`,\r\n          top: `${topPercent}%`,\r\n          transform: 'translate(-50%, -50%)',\r\n          position: 'absolute'\r\n        });\r\n\r\n        $container.append($hotspot);\r\n        $buttons.append(`<button class=\"hotspot-btn\" data-number=\"${number}\">${number}<\/button>`);\r\n      });\r\n    });\r\n  });\r\n\r\n  \/\/ --- STYLE UPDATE FUNCTION ---\r\nfunction updateStyles($block) {\r\n  const active = $block.data('activeNumbers') || [];\r\n  $block.find('.hotspot').each(function () {\r\n    const num = String($(this).data('number'));\r\n    const $tooltip = $(this).find('.hotspot-tooltip');\r\n    if (active.includes(num)) {\r\n      $(this).addClass('enlarged active');\r\n      $tooltip.show(); \/\/ <-- Show tooltip!\r\n    } else {\r\n      $(this).removeClass('enlarged active');\r\n      $tooltip.hide(); \/\/ <-- Hide tooltip!\r\n    }\r\n  });\r\n  $block.find('.hotspot-btn').each(function () {\r\n    const num = String($(this).data('number'));\r\n    $(this)\r\n      .toggleClass('highlight', active.includes(num))\r\n      .toggleClass('enlarged', active.includes(num));\r\n  });\r\n}\r\n\r\n\r\n  \/\/ --- HOTSPOT\/BUTTON CLICK ---\r\n  $(document).on('click', '.hotspot, .hotspot-btn', function (e) {\r\n    e.preventDefault();\r\n    const $clicked = $(e.target).closest('.hotspot, .hotspot-btn');\r\n    const num = String($clicked.data('number'));\r\n    const $block = $clicked.closest('.hotspot-block');\r\n    let active = $block.data('activeNumbers') || [];\r\n\r\n    const wasActive = active.includes(num);\r\n\r\n    \/\/ Clear Hide if checked\r\n    const $hide = $block.find('.hide-numbers-toggle');\r\n    if ($hide.is(':checked')) {\r\n      $hide.prop('checked', false).trigger('change');\r\n    }\r\n\r\n    if (wasActive) {\r\n      active = active.filter(n => n !== num);\r\n    } else {\r\n      active = [num]; \/\/ Only one active at a time\r\n    }\r\n    $block.data('activeNumbers', active);\r\n    updateStyles($block);\r\n\r\n    \/\/ Uncheck \"Show all\" if not all hotspots are active\r\n    const allNums = $block.find('.hotspot').map((_, el) => String($(el).data('number'))).get();\r\n    const $toggle = $block.find('.show-all-toggle');\r\n    const isAllActive = allNums.every(n => active.includes(n));\r\n    $toggle.prop('checked', isAllActive);\r\n  });\r\n\r\n  \/\/ --- SHOW ALL \/ HIDE MUTUAL EXCLUSIVITY AND BEHAVIOR ---\r\n  $(document).on('change', '.show-all-toggle', function() {\r\n    const id = $(this).data('id');\r\n    const $block = $(`.hotspot-block[data-id=\"${id}\"]`);\r\n    const $hide = $block.find('.hide-numbers-toggle');\r\n    const $hotspots = $block.find('.hotspot');\r\n    const allNums = $hotspots.map((_, el) => String($(el).data('number'))).get();\r\n\r\n    \/\/ Mutually exclusive: uncheck Hide if Show All is checked\r\n    if ($(this).is(':checked')) {\r\n      if ($hide.is(':checked')) {\r\n        $hide.prop('checked', false).trigger('change');\r\n      }\r\n      $block.data('activeNumbers', allNums);\r\n    } else {\r\n      $block.data('activeNumbers', []);\r\n    }\r\n\r\n    updateStyles($block);\r\n  });\r\n\r\n  \/\/ Hide handler\r\n  $(document).on('change', '.hide-numbers-toggle', function() {\r\n    const id = $(this).data('id');\r\n    const $block = $(`.hotspot-block[data-id=\"${id}\"]`);\r\n    const $showAll = $block.find('.show-all-toggle');\r\n    const $hotspots = $block.find('.hotspot');\r\n    const checked = $(this).is(':checked');\r\n\r\n    \/\/ Mutually exclusive: uncheck Show All if Hide is checked\r\n    if (checked && $showAll.is(':checked')) {\r\n      $showAll.prop('checked', false).trigger('change');\r\n    }\r\n\r\n    if (checked) {\r\n      $hotspots.hide();\r\n      $block.find('.enlarged, .active').removeClass('enlarged active');\r\n    } else {\r\n      $hotspots.show();\r\n    }\r\n  });\r\n\r\n  \/\/ --- CLICKING OUTSIDE CLEARS EVERYTHING ---\r\n  $(document).on('click', function (e) {\r\n    const $target = $(e.target);\r\n    const $block = $target.closest('.hotspot-block');\r\n    $('.hotspot-block').each(function () {\r\n      const $thisBlock = $(this);\r\n      if (!$block.length || !$block.is(this)) {\r\n        $thisBlock.data('activeNumbers', []);\r\n        $thisBlock.find('.show-all-toggle').prop('checked', false);\r\n        updateStyles($thisBlock);\r\n      }\r\n    });\r\n  });\r\n\r\n});\r\n<\/script>\r\n \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>La manipulaci\u00f3n de los medios al descubierto hoe_math arranca la m\u00e1scara de los medios y plataformas digitales que secuestran tu cerebro. Con un profesional en el juego, desmenuza las verdaderas t\u00e1cticas psicol\u00f3gicas -manipulaci\u00f3n emocional, desencadenantes subconscientes, lavado de cerebro al estilo de las sectas- que moldean lo que crees sin que te des cuenta. Distracciones noticiosas, l\u00edderes de sectas, mensajes pand\u00e9micos: todo est\u00e1 dise\u00f1ado. La mayor\u00eda de los hombres ni siquiera se dan cuenta [...]<\/p>","protected":false},"author":6,"featured_media":2199,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97,100],"tags":[127,126,129,128],"class_list":["post-4376","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-media-propaganda-and-persuasion","category-free-newsletter-insider-exclusives","tag-es","tag-fr","tag-ja","tag-pt"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/itishoemath.com\/es_es\/wp-json\/wp\/v2\/posts\/4376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itishoemath.com\/es_es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itishoemath.com\/es_es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itishoemath.com\/es_es\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/itishoemath.com\/es_es\/wp-json\/wp\/v2\/comments?post=4376"}],"version-history":[{"count":36,"href":"https:\/\/itishoemath.com\/es_es\/wp-json\/wp\/v2\/posts\/4376\/revisions"}],"predecessor-version":[{"id":5436,"href":"https:\/\/itishoemath.com\/es_es\/wp-json\/wp\/v2\/posts\/4376\/revisions\/5436"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itishoemath.com\/es_es\/wp-json\/wp\/v2\/media\/2199"}],"wp:attachment":[{"href":"https:\/\/itishoemath.com\/es_es\/wp-json\/wp\/v2\/media?parent=4376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itishoemath.com\/es_es\/wp-json\/wp\/v2\/categories?post=4376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itishoemath.com\/es_es\/wp-json\/wp\/v2\/tags?post=4376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}