{"id":12661,"date":"2025-12-23T14:55:40","date_gmt":"2025-12-23T14:55:40","guid":{"rendered":"https:\/\/tasando.com\/propiedades\/?page_id=12661"},"modified":"2026-09-24T15:48:21","modified_gmt":"2026-09-24T15:48:21","slug":"mercados-internacionales","status":"publish","type":"page","link":"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/","title":{"rendered":"Mercados Internacionales"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12661\" class=\"elementor elementor-12661\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-0008442 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0008442\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d20dc3e\" data-id=\"d20dc3e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4cb0cc6 elementor-widget__width-initial elementor-widget elementor-widget-html\" data-id=\"4cb0cc6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\nTASANDO.COM | NOTICIA DESTACADA EDITORIAL V1\nFuente: Google Sheet p\u00fablica \/ hoja NOTICIA_DESTACADA.\nEl bloque permanece oculto hasta que exista una selecci\u00f3n editorial.\n========================================================= -->\n<section id=\"tasando-noticia-destacada-editorial-v1\" aria-live=\"polite\">\n<style>\n#tasando-noticia-destacada-editorial-v1{\n  --tnd-max:min(1240px,calc(100vw - 120px));\n  --tnd-tablet:calc(100vw - 48px);\n  --tnd-blue:#102a54;\n  --tnd-dark:#0f172a;\n  --tnd-text:#334155;\n  --tnd-muted:#64748b;\n  --tnd-line:#cbd5e1;\n  --tnd-green:#69be28;\n  width:var(--tnd-max)!important;\n  max-width:var(--tnd-max)!important;\n  margin:0 auto 18px auto!important;\n  padding:0!important;\n  box-sizing:border-box;\n  font-family:Arial,Helvetica,sans-serif;\n  color:var(--tnd-text);\n  display:none;\n  clear:both;\n  position:relative;\n  z-index:2;\n}\n#tasando-noticia-destacada-editorial-v1,\n#tasando-noticia-destacada-editorial-v1 *{box-sizing:border-box;}\nbody .elementor-widget-html:has(#tasando-noticia-destacada-editorial-v1),\nbody .elementor-widget-html:has(#tasando-noticia-destacada-editorial-v1)>.elementor-widget-container{\n  width:100%!important;\n  max-width:none!important;\n  margin-left:auto!important;\n  margin-right:auto!important;\n  overflow:visible!important;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-shell{\n  width:100%;\n  padding:20px 22px;\n  border:1px solid rgba(176,126,138,.62);\n  border-radius:20px;\n  background:\n    radial-gradient(circle at 96% 10%,rgba(164,96,112,.18),transparent 36%),\n    linear-gradient(135deg,#f9eeee 0%,#f1dfe2 58%,#ead4d9 100%);\n  box-shadow:0 10px 28px rgba(87,43,54,.11);\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-top{\n  display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:13px;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-badge{\n  display:inline-flex;align-items:center;gap:7px;width:fit-content;\n  padding:7px 11px;border:1px solid rgba(105,190,40,.36);border-radius:999px;\n  background:#edf6e8;color:var(--tnd-blue);font-size:11px;line-height:1;font-weight:850;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-dot{\n  width:7px;height:7px;border-radius:50%;background:var(--tnd-green);\n  box-shadow:0 0 0 4px rgba(105,190,40,.14);\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-meta{\n  display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;\n  color:var(--tnd-muted);font-size:10.5px;font-weight:800;text-transform:uppercase;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-meta span{\n  padding:5px 8px;border-radius:8px;background:#edf2f7;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-main{\n  display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:26px;align-items:start;\n}\n#tasando-noticia-destacada-editorial-v1 h2{\n  margin:0 0 9px!important;padding:0!important;color:var(--tnd-dark);\n  font-size:clamp(20px,2.1vw,29px);line-height:1.12;font-weight:900;letter-spacing:-.45px;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-summary{\n  margin:0!important;padding:0!important;max-width:930px;color:#526277;font-size:13.5px;line-height:1.55;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-context{\n  display:flex;flex-wrap:wrap;gap:9px;margin-top:15px;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-context-item{\n  padding:8px 10px;border:1px solid #dce5ee;border-radius:10px;background:#fff;\n  color:#36485d;font-size:10.5px;line-height:1.3;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-label{\n  margin-right:6px;color:var(--tnd-blue);font-size:9px;font-weight:900;letter-spacing:.45px;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-side{\n  display:grid;gap:12px;align-content:start;padding-left:20px;border-left:1px solid rgba(128,66,76,.14);\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-source-label{\n  margin-bottom:4px;color:#66778c;font-size:9px;font-weight:900;letter-spacing:.7px;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-source{\n  margin-bottom:13px;color:var(--tnd-blue);font-size:13px;line-height:1.25;font-weight:850;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-button{\n  display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;\n  padding:10px 12px;border:1px solid var(--tnd-blue);border-radius:10px;\n  background:var(--tnd-blue);color:#fff!important;font-size:11px;line-height:1;font-weight:850;\n  text-decoration:none!important;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-button:hover{\n  transform:translateY(-1px);box-shadow:0 6px 16px rgba(16,42,84,.18);\n}\n#tasando-noticia-destacada-editorial-v1 #tnd-claves li{\n  display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid rgba(118,132,151,.14);border-radius:12px;background:rgba(255,255,255,.72);color:#28415f;\n}\n#tasando-noticia-destacada-editorial-v1 #tnd-referencias-wrap{display:none!important;}\n#tasando-noticia-destacada-editorial-v1 #tnd-claves li::before{\n  content:'';width:8px;height:8px;border-radius:50%;background:var(--tnd-green);box-shadow:0 0 0 4px rgba(105,190,40,.14);margin-top:5px;flex:0 0 auto;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-media{\n  position:relative;min-height:210px;padding:14px;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 18% 22%,rgba(105,190,40,.24),transparent 30%),radial-gradient(circle at 84% 18%,rgba(56,189,248,.23),transparent 32%),linear-gradient(135deg,#203a63 0%,#284a7b 55%,#193052 100%);border:1px solid rgba(255,255,255,.18);\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-media::before{\n  content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px;opacity:.35;pointer-events:none;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-media-badge{\n  position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.10);color:#eef6ff;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-media-badge::before{\n  content:'';width:7px;height:7px;border-radius:50%;background:#69be28;box-shadow:0 0 0 4px rgba(105,190,40,.14);\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-media svg{\n  position:relative;z-index:1;display:block;width:100%;height:118px;margin-top:7px;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-media-caption{\n  position:relative;z-index:1;margin-top:7px;padding:9px 10px;border-radius:11px;background:rgba(10,22,43,.42);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.86);font-size:11.5px;line-height:1.35;font-weight:700;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-source-label{\n  margin-top:2px;color:#8593a7;font-size:9.5px;\n}\n#tasando-noticia-destacada-editorial-v1 .tnd-source{\n  margin-bottom:2px;font-size:14px;\n}\n@media(max-width:1200px){\n  #tasando-noticia-destacada-editorial-v1{width:var(--tnd-tablet)!important;max-width:var(--tnd-tablet)!important;}\n}\n@media(max-width:800px){\n  #tasando-noticia-destacada-editorial-v1{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;}\n  #tasando-noticia-destacada-editorial-v1 .tnd-shell{padding:17px;}\n  #tasando-noticia-destacada-editorial-v1 .tnd-top{align-items:flex-start;flex-direction:column;}\n  #tasando-noticia-destacada-editorial-v1 .tnd-meta{justify-content:flex-start;}\n  #tasando-noticia-destacada-editorial-v1 .tnd-main{grid-template-columns:1fr;gap:16px;}\n  #tasando-noticia-destacada-editorial-v1 .tnd-side{padding:14px 0 0;border-left:0;border-top:1px solid #dce4ec;}\n  #tasando-noticia-destacada-editorial-v1 .tnd-button{width:auto;align-self:flex-start;}\n}\n<\/style>\n\n<div class=\"tnd-shell\">\n  <div class=\"tnd-top\">\n    <div class=\"tnd-badge\"><span class=\"tnd-dot\"><\/span>NOTICIA DESTACADA \u00b7 SELECCI\u00d3N EDITORIAL TASANDO.COM<\/div>\n    <div class=\"tnd-meta\"><span id=\"tnd-ambito\"><\/span><span id=\"tnd-fecha\"><\/span><\/div>\n  <\/div>\n  <div class=\"tnd-main\">\n    <div class=\"tnd-content\">\n      <h2 id=\"tnd-titular\">Cargando noticia destacada\u2026<\/h2>\n      <p id=\"tnd-resumen\" class=\"tnd-summary\"><\/p>\n\n      <div id=\"tnd-editorial\" style=\"display:none;margin-top:18px;padding-top:16px;border-top:1px solid rgba(128,66,76,.18)\">\n        <div id=\"tnd-claves-wrap\" style=\"display:none;margin-bottom:16px\">\n          <div style=\"font-size:11px;font-weight:900;letter-spacing:.06em;color:#263d61;margin-bottom:8px\">PUNTOS CLAVE DE LA NOTICIA<\/div>\n          <ul id=\"tnd-claves\" style=\"margin:0;padding-left:0;display:grid;gap:9px;color:#243956;font-size:13px;line-height:1.45;list-style:none\"><\/ul>\n        <\/div>\n        <div id=\"tnd-datos-wrap\" style=\"display:none;margin-bottom:16px\">\n          <div style=\"font-size:11px;font-weight:900;letter-spacing:.06em;color:#263d61;margin-bottom:8px\">DATOS DE MERCADO RELACIONADOS<\/div>\n          <div id=\"tnd-datos\" style=\"display:flex;flex-wrap:wrap;gap:8px\"><\/div>\n        <\/div>\n        <div id=\"tnd-chile-wrap\" style=\"display:none;margin-bottom:16px\">\n          <div style=\"font-size:11px;font-weight:900;letter-spacing:.06em;color:#263d61;margin-bottom:8px\">LECTURA EN CONTEXTO CHILE<\/div>\n          <div id=\"tnd-chile\" style=\"background:rgba(255,255,255,.58);border:1px solid rgba(138,79,88,.14);border-radius:12px;padding:12px 14px;color:#203753;font-size:13px;line-height:1.5\"><\/div>\n        <\/div>\n        <div id=\"tnd-referencias-wrap\" style=\"display:none;margin-bottom:4px\">\n          <div style=\"font-size:11px;font-weight:900;letter-spacing:.06em;color:#263d61;margin-bottom:8px\">LECTURAS DE APOYO EN CHILE<\/div>\n          <div id=\"tnd-referencias\" style=\"display:grid;gap:7px\"><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"tnd-context\">\n        <div id=\"tnd-temas-wrap\" class=\"tnd-context-item\" style=\"display:none\"><span class=\"tnd-label\">TEMAS<\/span><span id=\"tnd-temas\"><\/span><\/div>\n        <div id=\"tnd-metricas-wrap\" class=\"tnd-context-item\" style=\"display:none\"><span class=\"tnd-label\">RELACI\u00d3N DE MERCADO<\/span><span id=\"tnd-metricas\"><\/span><\/div>\n      <\/div>\n    <\/div>\n    <aside class=\"tnd-side\">\n      <div class=\"tnd-media\">\n        <div class=\"tnd-media-badge\">Contexto editorial<\/div>\n        <svg viewBox=\"0 0 420 180\" role=\"img\" aria-label=\"Visual de mercado\">\n          <defs>\n            <linearGradient id=\"tndLineGradientLive\" x1=\"0\" x2=\"1\" y1=\"0\" y2=\"0\">\n              <stop offset=\"0%\" stop-color=\"#69be28\"><\/stop>\n              <stop offset=\"52%\" stop-color=\"#38bdf8\"><\/stop>\n              <stop offset=\"100%\" stop-color=\"#f5b84b\"><\/stop>\n            <\/linearGradient>\n          <\/defs>\n          <g opacity=\"0.22\" stroke=\"#ffffff\" stroke-width=\"1\">\n            <path d=\"M24 24 H396\"><\/path><path d=\"M24 62 H396\"><\/path><path d=\"M24 100 H396\"><\/path><path d=\"M24 138 H396\"><\/path>\n            <path d=\"M78 12 V154\"><\/path><path d=\"M152 12 V154\"><\/path><path d=\"M226 12 V154\"><\/path><path d=\"M300 12 V154\"><\/path><path d=\"M374 12 V154\"><\/path>\n          <\/g>\n          <path d=\"M28 130 C62 118,87 82,116 87 C146 92,174 55,203 61 C233 68,250 112,281 95 C310 78,334 56,362 42 C380 33,392 29,402 24\" fill=\"none\" stroke=\"url(#tndLineGradientLive)\" stroke-width=\"6\" stroke-linecap=\"round\"><\/path>\n          <circle cx=\"116\" cy=\"87\" r=\"6.5\" fill=\"#ffffff\"><\/circle><circle cx=\"203\" cy=\"61\" r=\"6.5\" fill=\"#ffffff\"><\/circle><circle cx=\"281\" cy=\"95\" r=\"6.5\" fill=\"#ffffff\"><\/circle><circle cx=\"362\" cy=\"42\" r=\"6.5\" fill=\"#ffffff\"><\/circle>\n        <\/svg>\n        <div class=\"tnd-media-caption\">S\u00edntesis editorial Tasando.com para orientar la lectura de la noticia destacada.<\/div>\n      <\/div>\n      <div class=\"tnd-source-label\">FUENTE<\/div>\n      <div id=\"tnd-fuente\" class=\"tnd-source\">\u2014<\/div>\n      <a id=\"tnd-link\" class=\"tnd-button\" href=\"#\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"display:none\">Leer noticia original <span aria-hidden=\"true\">\u2197<\/span><\/a>\n    <\/aside>\n  <\/div>\n<\/div>\n\n<script>\n(()=>{\n  const ROOT_ID='tasando-noticia-destacada-editorial-v1';\n  const SHEET_ID='1CWF86IVJdHd4SU9413W4RKN2z_QAa3z0guqs2bqxdDo';\n  const SHEET_NAME='NOTICIA_DESTACADA';\n  const root=document.getElementById(ROOT_ID);\n  if(!root) return;\n\n  const clean=v=>v==null?'':String(v).trim();\n\n  const parseJsonArray=v=>{\n    try{\n      const x=JSON.parse(clean(v)||'[]');\n      return Array.isArray(x)?x:[];\n    }catch(_){return [];}\n  };\n\n  const fmtNumero=v=>{\n    const n=Number(v);\n    if(!Number.isFinite(n)) return clean(v);\n    return new Intl.NumberFormat('es-CL',{maximumFractionDigits:2}).format(n);\n  };\n\n  const fmtPct=v=>{\n    const n=Number(v);\n    if(!Number.isFinite(n)) return '';\n    return (n>0?'+':'')+n.toFixed(2).replace('.',',')+'%';\n  };\n\n  const limpiarNodo=el=>{while(el&&el.firstChild) el.removeChild(el.firstChild);};\n\n  function fechaChile(v){\n    v=clean(v);\n    if(!v) return '';\n    if(\/^\\d{4}-\\d{2}-\\d{2}$\/.test(v)){\n      const p=v.split('-'); return p[2]+'-'+p[1]+'-'+p[0];\n    }\n    const d=new Date(v);\n    if(Number.isNaN(d.getTime())) return v;\n    try{\n      return new Intl.DateTimeFormat('es-CL',{\n        day:'2-digit',month:'2-digit',year:'numeric',\n        hour:'2-digit',minute:'2-digit',timeZone:'America\/Santiago'\n      }).format(d);\n    }catch(e){return v;}\n  }\n\n  function safeUrl(v){\n    try{\n      const u=new URL(v);\n      if(u.protocol==='https:'||u.protocol==='http:') return u.href;\n    }catch(e){}\n    return '';\n  }\n\n  async function cargar(){\n    const url='https:\/\/docs.google.com\/spreadsheets\/d\/'+SHEET_ID+\n      '\/gviz\/tq?tqx=out:json&headers=1&sheet='+encodeURIComponent(SHEET_NAME)+'&_='+Date.now();\n    try{\n      const res=await fetch(url,{cache:'no-store',credentials:'omit',signal:AbortSignal.timeout(15000)});\n      if(!res.ok) throw new Error('HTTP '+res.status);\n      const raw=await res.text(), a=raw.indexOf('{'), b=raw.lastIndexOf('}');\n      if(a<0||b<a) throw new Error('Respuesta no v\u00e1lida');\n      const data=JSON.parse(raw.slice(a,b+1));\n      if(data.status!=='ok'||!data.table||!data.table.rows?.length) throw new Error('Sin selecci\u00f3n editorial');\n\n      const headers=data.table.cols.map(c=>clean(c.label||c.id).toUpperCase());\n      const idxTit=headers.indexOf('TITULAR');\n      if(idxTit<0) throw new Error('Columna TITULAR no disponible');\n\n      const row=data.table.rows.find(r=>r?.c?.[idxTit]&&clean(r.c[idxTit].v||r.c[idxTit].f));\n      if(!row) throw new Error('No hay titular seleccionado');\n\n      const get=name=>{\n        const i=headers.indexOf(name.toUpperCase());\n        if(i<0||!row.c[i]) return '';\n        const c=row.c[i];\n        return clean(c.f!=null?c.f:c.v);\n      };\n\n      const titular=get('TITULAR');\n      const resumen=get('RESUMEN');\n      const fuente=get('FUENTE');\n      const ambito=get('AMBITO');\n      const fecha=get('FECHA_PUBLICACION')||get('FECHA_CAPTURA');\n      const temas=get('TEMAS');\n      const metricas=get('METRICAS_RELACIONADAS');\n      const clavesRaw=get('CLAVES_TASANDO_JSON');\n      const datosRaw=get('DATOS_MERCADO_JSON');\n      const referenciasRaw=get('FUENTES_COMPLEMENTARIAS_JSON');\n      const lecturaChile=get('LECTURA_CHILE');\n      const href=safeUrl(get('URL'));\n      if(!titular) throw new Error('Titular vac\u00edo');\n\n      document.getElementById('tnd-titular').textContent=titular;\n      const resumenEl=document.getElementById('tnd-resumen');\n      resumenEl.textContent=resumen;\n      resumenEl.style.display=resumen?'block':'none';\n\n      const claves=parseJsonArray(clavesRaw)\n        .map(x=>clean(typeof x==='string'?x:(x?.texto||x?.clave||'')))\n        .filter(Boolean)\n        .filter(x=>!\/suscrip|acceso restringido\/i.test(x))\n        .filter(x=>!\/(Investing|Federal Reserve|BBC Mundo)\/i.test(x)||\/(Chile|chileno|chilena|IPSA|IPC|peso|d[o\u00f3]lar|cobre|Banco Central|Codelco|Cochilco|TAG|AFP|miner[i\u00ed]a)\/i.test(x));\n\n      const datos=parseJsonArray(datosRaw).filter(x=>x&&typeof x==='object');\n      const referencias=parseJsonArray(referenciasRaw)\n        .filter(x=>x&&typeof x==='object')\n        .filter(x=>!\/Investing\/i.test(clean(x.fuente)))\n        .filter(x=>clean(x.ambito).toUpperCase()==='NACIONAL'||\/(Cooperativa|BioBioChile|Chile)\/i.test(clean(x.fuente)+' '+clean(x.titular)));\n\n      let hayEditorial=false;\n      const editorial=document.getElementById('tnd-editorial');\n\n      const clavesWrap=document.getElementById('tnd-claves-wrap');\n      const clavesEl=document.getElementById('tnd-claves');\n      limpiarNodo(clavesEl);\n      const refsUsadas=new Set();\n      const buscarReferencia=(etiqueta,indice)=>{\n        const e=clean(etiqueta).toLowerCase();\n        let patron=null;\n        if(e.includes('fondo e')) patron=\/fondo e|afp|pensiones|previsional\/i;\n        else if(e.includes('miner')) patron=\/escondida|minera|miner\u00eda|huelga|bhp\/i;\n        else if(e.includes('tag')) patron=\/tag|autopista\/i;\n\n        let idx=-1;\n        if(patron){\n          idx=referencias.findIndex((f,j)=>!refsUsadas.has(j)&&patron.test(clean(f.titular)+' '+clean(f.temas)));\n        }\n        if(idx<0 && referencias[indice] && !refsUsadas.has(indice)) idx=indice;\n        if(idx<0) idx=referencias.findIndex((f,j)=>!refsUsadas.has(j));\n        if(idx>=0) refsUsadas.add(idx);\n        return idx>=0?referencias[idx]:null;\n      };\n\n      claves.slice(0,6).forEach((txt,indice)=>{\n        const li=document.createElement('li');\n        const corte=txt.indexOf('\u2014');\n        const etiqueta=corte>=0?clean(txt.slice(0,corte)):'';\n        const cuerpo=corte>=0?clean(txt.slice(corte+1)):clean(txt);\n        const ref=buscarReferencia(etiqueta,indice);\n        const hrefRef=ref?safeUrl(clean(ref.url)):'';\n        const cont=hrefRef?document.createElement('a'):document.createElement('div');\n        cont.style.cssText='display:block;flex:1;color:#28415f;text-decoration:none';\n        if(hrefRef){cont.href=hrefRef;cont.target='_blank';cont.rel='noopener noreferrer';}\n\n        const parrafo=document.createElement('div');\n        parrafo.style.cssText='font-size:13px;line-height:1.48';\n        if(etiqueta){\n          const strong=document.createElement('strong');\n          strong.style.cssText='color:#102a54;font-weight:900';\n          strong.textContent=etiqueta+' \u2014 ';\n          parrafo.appendChild(strong);\n        }\n        const span=document.createElement('span');\n        span.textContent=cuerpo;\n        parrafo.appendChild(span);\n        cont.appendChild(parrafo);\n\n        if(ref){\n          const fuenteRef=clean(ref.fuente)||'Fuente relacionada';\n          const tituloRef=clean(ref.titular);\n          const cierre=document.createElement('span');\n          cierre.style.cssText='color:#7b8ca3;font-size:11.5px;font-weight:700';\n          cierre.textContent='  \u00b7  Fuente relacionada: '+fuenteRef+(tituloRef?' \u2014 '+tituloRef:'')+(hrefRef?'  \u2197':'');\n          parrafo.appendChild(cierre);\n        }\n\n        li.appendChild(cont);\n        clavesEl.appendChild(li);\n      });\n      clavesWrap.style.display=claves.length?'block':'none';\n      if(claves.length) hayEditorial=true;\n\n      const datosWrap=document.getElementById('tnd-datos-wrap');\n      const datosEl=document.getElementById('tnd-datos');\n      limpiarNodo(datosEl);\n      datos.slice(0,8).forEach(d=>{\n        const card=document.createElement('div');\n        card.style.cssText='background:rgba(255,255,255,.78);border:1px solid rgba(111,127,151,.16);border-radius:10px;padding:8px 10px;font-size:12px;line-height:1.25;min-width:115px';\n        const nombre=document.createElement('strong');\n        nombre.style.cssText='display:block;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#61728c;margin-bottom:3px';\n        nombre.textContent=clean(d.indicador)||'Indicador';\n        const valor=document.createElement('span');\n        const pct=fmtPct(d.cambio_pct_dia);\n        const nivel=fmtNumero(d.valor_actual);\n        valor.textContent=pct||(nivel?('Nivel '+nivel):'Dato relacionado');\n        card.appendChild(nombre);\n        card.appendChild(valor);\n        datosEl.appendChild(card);\n      });\n      datosWrap.style.display=datos.length?'block':'none';\n      if(datos.length) hayEditorial=true;\n\n      const lectura=clean(lecturaChile);\n      const lecturaUtil=lectura&&(\/\\d\/.test(lectura)||\/antecedente chileno relacionado|inform[o\u00f3]\/i.test(lectura));\n      const chileWrap=document.getElementById('tnd-chile-wrap');\n      const chileEl=document.getElementById('tnd-chile');\n      chileEl.textContent=lecturaUtil?lectura:'';\n      chileWrap.style.display=lecturaUtil?'block':'none';\n      if(lecturaUtil) hayEditorial=true;\n\n      const refWrap=document.getElementById('tnd-referencias-wrap');\n      const refEl=document.getElementById('tnd-referencias');\n      limpiarNodo(refEl);\n      referencias.slice(0,4).forEach(f=>{\n        const hrefRef=safeUrl(clean(f.url));\n        const item=hrefRef?document.createElement('a'):document.createElement('div');\n        item.style.cssText='display:block;padding:11px 12px;border:1px solid rgba(118,132,151,.14);border-radius:12px;background:rgba(255,255,255,.74);text-decoration:none;line-height:1.4';\n        const src=document.createElement('span');\n        src.style.cssText='display:block;margin-bottom:4px;color:#94a3b8;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase';\n        src.textContent=clean(f.fuente)||'Referencia';\n        const tit=document.createElement('span');\n        tit.style.cssText='display:block;color:#35516f;font-size:12.5px;font-weight:700';\n        tit.textContent=clean(f.titular)||'';\n        item.appendChild(src);item.appendChild(tit);\n        if(hrefRef){item.href=hrefRef;item.target='_blank';item.rel='noopener noreferrer';}\n        refEl.appendChild(item);\n      });\n      refWrap.style.display='none';\n\n      editorial.style.display=hayEditorial?'block':'none';\n      document.getElementById('tnd-fuente').textContent=fuente||'Fuente informativa';\n      document.getElementById('tnd-ambito').textContent=ambito||'';\n      document.getElementById('tnd-fecha').textContent=fechaChile(fecha);\n\n      const tw=document.getElementById('tnd-temas-wrap');\n      document.getElementById('tnd-temas').textContent=temas;\n      tw.style.display=temas?'block':'none';\n\n      const mw=document.getElementById('tnd-metricas-wrap');\n      document.getElementById('tnd-metricas').textContent=metricas;\n      mw.style.display=metricas?'block':'none';\n\n      const link=document.getElementById('tnd-link');\n      if(href){link.href=href;link.style.display='inline-flex';}else{link.style.display='none';}\n      root.style.display='block';\n    }catch(err){\n      root.style.display='none';\n      console.warn('Tasando noticia destacada:',err?.message||err);\n    }\n  }\n\n  \/* M36: carga anterior desactivada para impedir la aparici\u00f3n moment\u00e1nea de la ficha rosada *\/\n  \/* M36: desactivado el refresco del bloque antiguo; portal actual gestiona la actualizaci\u00f3n *\/\n})();\n<\/script>\n\n<!-- TASANDO PORTAL NOTICIAS M32 - complemento aislado: NO altera los otros widgets -->\n<style id=\"tasando-portal-noticias-m32-css\">\n#tasando-noticia-destacada-editorial-v1.tnp-ready {display:block!important}\n#tasando-noticia-destacada-editorial-v1.tnp-ready .tnd-shell {background:#f8fafc;border-color:#cbd5e1;box-shadow:0 10px 25px rgba(15,23,42,.09);padding:19px 21px}\n#tasando-noticia-destacada-editorial-v1.tnp-ready .tnd-top,\n#tasando-noticia-destacada-editorial-v1.tnp-ready .tnd-main {display:none!important}\n#tasando-noticia-destacada-editorial-v1 .tnp-wrap{font-family:Arial,Helvetica,sans-serif;color:#102a54}\n#tasando-noticia-destacada-editorial-v1 .tnp-top{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;border-bottom:3px solid #69be28;padding-bottom:12px;margin-bottom:16px}\n#tasando-noticia-destacada-editorial-v1 .tnp-eyebrow{color:#548d26;font-size:10px;font-weight:900;letter-spacing:1.1px;text-transform:uppercase}\n#tasando-noticia-destacada-editorial-v1 .tnp-title{font-size:clamp(21px,2.5vw,31px);line-height:1.08;font-weight:900;margin:4px 0 0;color:#102a54}\n#tasando-noticia-destacada-editorial-v1 .tnp-date{color:#64748b;font-size:10px;font-weight:700;white-space:nowrap}\n#tasando-noticia-destacada-editorial-v1 .tnp-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px}\n#tasando-noticia-destacada-editorial-v1 .tnp-card{display:flex;gap:12px;min-width:0;min-height:106px;padding:11px;border:1px solid #dae3ee;border-radius:12px;background:#fff;color:#102a54!important;text-decoration:none!important;transition:box-shadow .15s,transform .15s}\n#tasando-noticia-destacada-editorial-v1 .tnp-card:hover{box-shadow:0 9px 22px rgba(16,42,84,.14);transform:translateY(-2px)}\n#tasando-noticia-destacada-editorial-v1 .tnp-lead{grid-row:span 2;display:block;padding:0;overflow:hidden}\n#tasando-noticia-destacada-editorial-v1 .tnp-media{position:relative;display:flex;justify-content:center;align-items:center;flex:0 0 108px;height:88px;border-radius:9px;overflow:hidden;background:linear-gradient(145deg,#eef4f8,#d4e0e8);color:#496781;font-size:10px;letter-spacing:.05em;font-weight:900;text-transform:uppercase;text-align:center;padding:9px}\n#tasando-noticia-destacada-editorial-v1 .tnp-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\nbody.page-id-12661 .elementor-element-d0ea168,body.page-id-12661 .elementor-element-d734a68{display:none!important}\n#tasando-noticia-destacada-editorial-v1 .tnp-footer{display:none!important}\n#tasando-noticia-destacada-editorial-v1 .tnp-right{display:grid;grid-template-columns:1fr;gap:12px;align-content:start;min-width:0}\n#tasando-noticia-destacada-editorial-v1 .tnp-grid{align-items:start}\n#tasando-noticia-destacada-editorial-v1 .tnp-grid>.tnp-lead{grid-row:auto}\n#tasando-noticia-destacada-editorial-v1 .tnp-right>.tnp-item{min-height:0;align-self:start;padding:11px}\n#tasando-noticia-destacada-editorial-v1 .tnp-right>.tnp-item .tnp-media{height:102px;flex-basis:124px}\n#tasando-noticia-destacada-editorial-v1 .tnp-contexto{font-size:11.5px;line-height:1.42;font-weight:400;color:#4b6276;margin:8px 0 0;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}\n#tasando-noticia-destacada-editorial-v1 .tnp-contexto-label{font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:#52882b;font-weight:900;margin:8px 0 0}\n#tasando-noticia-destacada-editorial-v1 .tnp-contexto-fuente{font-size:10px;color:#1d6594!important;text-decoration:underline!important;display:inline-block;margin-top:6px}\n#tasando-noticia-destacada-editorial-v1 .tnp-foto-referencial{position:absolute;bottom:0;right:0;z-index:2;background:rgba(9,33,65,.83);color:white;font-size:8px;font-weight:700;letter-spacing:.025em;padding:4px 6px;line-height:1.15;text-transform:none}\n#tasando-noticia-destacada-editorial-v1 .tnp-grid>.tnp-item{min-height:170px}\n#tasando-noticia-destacada-editorial-v1 .tnp-grid>.tnp-item .tnp-media{height:125px;flex-basis:140px}\n#tasando-noticia-destacada-editorial-v1 .tnp-attribution{width:100%;color:#718096;font-size:9px;line-height:1.5}\n#tasando-noticia-destacada-editorial-v1 .tnp-attribution a{color:#466486!important;text-decoration:underline!important}\n#tasando-noticia-destacada-editorial-v1 .tnp-lead .tnp-media{height:220px;border-radius:0}\n#tasando-noticia-destacada-editorial-v1 .tnp-lead .tnp-body{padding:18px}\n#tasando-noticia-destacada-editorial-v1 .tnp-body{flex:1;min-width:0}\n#tasando-noticia-destacada-editorial-v1 .tnp-meta{font-size:10px;line-height:1.35;font-weight:800;color:#648431;margin:0 0 6px;text-transform:uppercase}\n#tasando-noticia-destacada-editorial-v1 .tnp-head{font-size:13px;line-height:1.27;font-weight:850;margin:0;color:#102a54}\n#tasando-noticia-destacada-editorial-v1 .tnp-lead .tnp-head{font-size:21px;line-height:1.19}\n#tasando-noticia-destacada-editorial-v1 .tnp-summary{font-size:12px;line-height:1.5;color:#64748b;margin:9px 0 0}\n#tasando-noticia-destacada-editorial-v1 .tnp-more{font-size:10px;margin-top:9px;color:#1a6786;font-weight:850}\n#tasando-noticia-destacada-editorial-v1 .tnp-secondary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:13px}\n#tasando-noticia-destacada-editorial-v1 .tnp-secondary .tnp-card{display:block;padding:0;min-height:auto;overflow:hidden}\n#tasando-noticia-destacada-editorial-v1 .tnp-secondary .tnp-media{height:102px;border-radius:0}\n#tasando-noticia-destacada-editorial-v1 .tnp-secondary .tnp-body{padding:11px}\n#tasando-noticia-destacada-editorial-v1 .tnp-secondary .tnp-head{font-size:12px}\n#tasando-noticia-destacada-editorial-v1 .tnp-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#6a7c8e;font-size:10px;padding-top:12px}\n@media(max-width:900px){#tasando-noticia-destacada-editorial-v1 .tnp-grid{grid-template-columns:1fr}#tasando-noticia-destacada-editorial-v1 .tnp-lead{grid-row:auto}#tasando-noticia-destacada-editorial-v1 .tnp-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}}\n@media(max-width:520px){#tasando-noticia-destacada-editorial-v1 .tnp-top{align-items:flex-start;flex-direction:column}#tasando-noticia-destacada-editorial-v1 .tnp-secondary{grid-template-columns:1fr}#tasando-noticia-destacada-editorial-v1 .tnp-card{min-height:auto}#tasando-noticia-destacada-editorial-v1 .tnp-lead .tnp-media{height:190px}}\n<\/style>\n<script id=\"tasando-portal-noticias-m32-js\">\n(function(){\n const root=document.getElementById('tasando-noticia-destacada-editorial-v1');\n if(!root || root.dataset.tnpM32) return;\n root.dataset.tnpM32='1';\n const sh='1CWF86IVJdHd4SU9413W4RKN2z_QAa3z0guqs2bqxdDo';\n const clean=x=>String(x==null?'':x).trim();\n const safe=x=>{try{const u=new URL(x);return ['https:','http:'].includes(u.protocol)?u.href:''}catch(_){return ''}};\n const shorten=(v,n)=>{v=clean(v);return v.length>n?v.slice(0,n-1).replace(\/\\s+\\S*$\/,'')+'\u2026':v};\n \n const FOTOS_REFERENCIA=[\n  {rx:\/\\b(bci|banco de cr[e\u00e9]dito e inversiones)\\b\/i,src:'https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/0\/0c\/Banco_Bci_-_Edificio_Corporativo.jpg\/330px-Banco_Bci_-_Edificio_Corporativo.jpg',autor:'Rjcastillo',licencia:'CC BY-SA 4.0'},\n  {rx:\/\\b(bolsa|ipsa|acciones|burs[a\u00e1]til)\\b\/i,src:'https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/0\/0a\/Bolsa_de_comercio_de_Santiago.jpg\/960px-Bolsa_de_comercio_de_Santiago.jpg',autor:'Diego.mdzc93',licencia:'CC0'},\n  {rx:\/\\b(banco central|d[o\u00f3]lar|tasas?|inflaci[o\u00f3]n|monetari[ao])\\b\/i,src:'https:\/\/upload.wikimedia.org\/wikipedia\/commons\/6\/6a\/BancoCentralChile.JPG',autor:'Carlos yo',licencia:'CC BY 3.0'}\n ];\n const fotoReferencial=n=>FOTOS_REFERENCIA.find(f=>f.rx.test(String(n.TITULAR||'')))||null;\n async function leer(nombre,consulta){\n   const url='https:\/\/docs.google.com\/spreadsheets\/d\/'+sh+'\/gviz\/tq?tqx=out:json&headers=1&sheet='+encodeURIComponent(nombre)+(consulta?'&tq='+encodeURIComponent(consulta):'')+'&_='+Date.now();\n   const r=await fetch(url,{cache:'no-store',credentials:'omit',signal:AbortSignal.timeout(15000)});\n   if(!r.ok)throw Error('Google Sheets '+r.status);\n   const t=await r.text(),a=t.indexOf('{'),b=t.lastIndexOf('}');\n   if(a<0||b<a)throw Error('Datos inv\u00e1lidos');\n   const data=JSON.parse(t.slice(a,b+1));if(data.status!=='ok'||!data.table)throw Error('Sin datos');\n   const cols=data.table.cols.map(c=>clean(c.label||c.id).toUpperCase());\n   return (data.table.rows||[]).map(row=>{\n     const o={};cols.forEach((k,i)=>{const c=row.c?.[i];o[k]=clean(c?.f!=null?c.f:c?.v)});return o;\n   }).filter(o=>o.TITULAR && safe(o.URL));\n }\n const noPromo=o=>!\/(quedan menos de|gana(?:r)? al m[a\u00e1]ximo|solo \\d+ pesos al d[i\u00ed]a|promoci[o\u00f3]n especial|suscr[i\u00ed]bete ahora|oferta exclusiva|descubre c[o\u00f3]mo ganar)\/i.test(o.TITULAR||'');\n \n \/\/ M34: completar hasta siete titulares sin modificar el ranking principal.\n \/\/ Los complementos proceden del hist\u00f3rico RSS real de las \u00faltimas 48 horas.\n \/\/ Si no hay fuente verificada, se usa la selecci\u00f3n de candidatas como respaldo.\n async function completarPortada(items){\n   if(items.length>=7)return items.slice(0,7);\n   const vistoUrl=new Set(items.map(n=>safe(n.URL)));\n   const normTit=t=>clean(t).normalize('NFD').replace(\/[\\u0300-\\u036f]\/g,'').toLowerCase().replace(\/[^a-z0-9]+\/g,' ').trim();\n   const vistoTit=new Set(items.map(n=>normTit(n.TITULAR)));\n   const porFuente={};items.forEach(n=>porFuente[n.FUENTE]=(porFuente[n.FUENTE]||0)+1);\n   function anadir(candidatos){\n     for(const n of candidatos){\n       if(items.length>=7)break;\n       const u=safe(n.URL),k=normTit(n.TITULAR),f=clean(n.FUENTE);\n       if(!u||!k||vistoUrl.has(u)||vistoTit.has(k)||!noPromo(n))continue;\n       if(\/plan[e\u00e9]t microcap|promoci[o\u00f3]n|publicidad|apuestas deportivas|en vivo\/i.test(k))continue;\n       const limite=\/investing\/i.test(f)?1:4;\n       if((porFuente[f]||0)>=limite)continue;\n       const pareceRepetida=[...vistoTit].some(t=>{\n         const aa=new Set(k.split(' ').filter(w=>w.length>4));\n         const bb=new Set(t.split(' ').filter(w=>w.length>4));\n         if(!aa.size||!bb.size)return false;\n         let comun=0;aa.forEach(w=>{if(bb.has(w))comun++});\n         return comun\/Math.min(aa.size,bb.size)>0.72;\n       });\n       if(pareceRepetida)continue;\n       items.push({...n,RANKING:items.length+1});\n       vistoUrl.add(u);vistoTit.add(k);porFuente[f]=(porFuente[f]||0)+1;\n     }\n   }\n   try{\n     let his;try{his=await leer('NOTICIAS_MERCADO_HIST','select * order by C desc limit 180')}catch(_){his=await leer('NOTICIAS_MERCADO_HIST')}\n     const macro=\/banco central|inflaci[o\u00f3]n|d[o\u00f3]lar|ipsa|bolsa|tasa|hacienda|fiscal|cfa|presupuesto|cobre|fondos? (?:mutuos|de pensiones)|crecimiento|mercado|burs[a\u00e1]til|inversi[o\u00f3]n\/i;\n     const frescos=his.filter(n=>{\n       const ts=Date.parse(clean(n.FECHA_PUBLICACION||n.FECHA_CAPTURA));\n       return Number.isFinite(ts)&&ts<=Date.now()+3600000&&ts>=Date.now()-48*3600000&&macro.test(clean(n.TITULAR));\n     });\n     frescos.sort((a,b)=>{\n       const score=n=>(\/cfa|hacienda|fiscal|presupuesto\/i.test(n.TITULAR)?30:0)+\n         (\/banco central|inflaci[o\u00f3]n|d[o\u00f3]lar|bolsa|ipsa\/i.test(n.TITULAR)?16:0)+\n         (n.AMBITO==='NACIONAL'?9:0)+\n         (Date.parse(n.FECHA_PUBLICACION||n.FECHA_CAPTURA)||0)\/1e12;\n       return score(b)-score(a);\n     });\n     anadir(frescos);\n   }catch(err){console.warn('Hist\u00f3rico complementario no disponible:',err?.message||err)}\n   if(items.length<7){\n     try{const candidatas=await leer('NOTICIAS_CANDIDATAS');anadir(candidatas.filter(n=>\/banco|bolsa|tasas?|d[o\u00f3]lar|acciones|fed|empresas?|adquisici[o\u00f3]n|mercado\/i.test(n.TITULAR)));}\n     catch(err){console.warn('Respaldo candidatas:',err?.message||err)}\n   }\n   return items.slice(0,7);\n }\nfunction tarjeta(n,clase){\n   const a=document.createElement('a');a.className='tnp-card '+clase;a.href=safe(n.URL);a.target='_blank';a.rel='noopener noreferrer';\n   const media=document.createElement('div');media.className='tnp-media';media.textContent=clean(n.AMBITO)==='NACIONAL'?'Chile':'Econom\u00eda';\n   const urlPropia=safe(n.IMAGEN_URL||n.IMAGEN_RSS);const fallbackFoto=fotoReferencial(n);const url=urlPropia||(fallbackFoto?fallbackFoto.src:'');\n   if(url){const img=document.createElement('img');img.src=url;img.loading='lazy';img.alt='Imagen informativa de '+shorten(n.TITULAR,65);const marcar=()=>{if(media.querySelector('.tnp-foto-referencial'))return;const tag=document.createElement('span');tag.className='tnp-foto-referencial';tag.textContent='Imagen referencial';media.appendChild(tag);};if(!urlPropia&&fallbackFoto){img.title='Imagen referencial \u00b7 '+fallbackFoto.autor+' \u00b7 '+fallbackFoto.licencia;marcar();}let respaldo=false;img.addEventListener('error',()=>{if(!respaldo&&urlPropia&&fallbackFoto){respaldo=true;img.src=fallbackFoto.src;img.title='Imagen referencial \u00b7 '+fallbackFoto.autor+' \u00b7 '+fallbackFoto.licencia;marcar();}else img.remove();});media.appendChild(img)}\n   const body=document.createElement('div');body.className='tnp-body';\n   const meta=document.createElement('div');meta.className='tnp-meta';meta.textContent=[clean(n.AMBITO),clean(n.FUENTE)].filter(Boolean).join(' \u00b7 ');\n   const h=document.createElement('h3');h.className='tnp-head';h.textContent=shorten(n.TITULAR,clase==='tnp-lead'?190:125);\n   body.append(meta,h);if(clase==='tnp-item'){const ctx=clean(n.CONTEXTO_TASANDO||n.RESUMEN);if(ctx){const label=document.createElement('div');label.className='tnp-contexto-label';label.textContent=n.CONTEXTO_TASANDO?'Lectura Tasando.com':'Antecedente publicado';const p=document.createElement('p');p.className='tnp-contexto';p.textContent=shorten(ctx,440);body.append(label,p);}}\n   if(clase==='tnp-lead'&&n.RESUMEN){const p=document.createElement('p');p.className='tnp-summary';p.textContent=shorten(n.RESUMEN,270);body.appendChild(p)}\n   if(clase==='tnp-lead'){const l=document.createElement('div');l.className='tnp-more';l.textContent='Leer noticia en la fuente \u2197';body.appendChild(l)}\n   a.append(media,body);return a;\n }\n async function actualizar(){\n   try{\n     let items=[];\n     try{items=await leer('PORTAL_NOTICIAS')}catch(_){items=await leer('NOTICIAS_CANDIDATAS')}\n     items=items.filter(noPromo).sort((a,b)=>Number(a.RANKING||999)-Number(b.RANKING||999));\n     const seen=new Set();items=items.filter(n=>{const k=clean(n.URL).toLowerCase();if(seen.has(k))return false;seen.add(k);return true}).slice(0,12);\n     if(!items.length)throw Error('Portada vac\u00eda');items=await completarPortada(items);\n     const wrap=document.createElement('div');wrap.className='tnp-wrap';wrap.id='tasando-portal-m32';\n     const top=document.createElement('div');top.className='tnp-top';\n     const title=document.createElement('div');title.innerHTML='<div class=\"tnp-eyebrow\">Tasando.com \u00b7 Informaci\u00f3n econ\u00f3mica<\/div><h2 class=\"tnp-title\">Actualidad econ\u00f3mica y mercados<\/h2>';\n     const date=document.createElement('span');date.className='tnp-date';date.textContent='Actualizaci\u00f3n autom\u00e1tica \u00b7 '+items.length+' noticias';\n     top.append(title,date);wrap.appendChild(top);\n     const grid=document.createElement('div');grid.className='tnp-grid';\n     grid.appendChild(tarjeta(items[0],'tnp-lead'));\n     const lateral=document.createElement('div');lateral.className='tnp-right';items.slice(1,3).forEach(n=>lateral.appendChild(tarjeta(n,'tnp-item')));grid.appendChild(lateral);\n     wrap.appendChild(grid);\n     if(items.length>3){const sec=document.createElement('div');sec.className='tnp-secondary';items.slice(3,7).forEach(n=>sec.appendChild(tarjeta(n,'tnp-small')));wrap.appendChild(sec)}\n     const foot=document.createElement('div');foot.className='tnp-footer';\n     foot.textContent='Noticias de fuentes originales \u00b7 Selecci\u00f3n tem\u00e1tica Tasando.com \u00b7 Enlaces externos';\n foot.insertAdjacentHTML('beforeend','<span class=\"tnp-attribution\">Fotograf\u00edas referenciales de respaldo: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/commons.wikimedia.org\/wiki\/File:Bolsa_de_comercio_de_Santiago.jpg\">Diego.mdzc93, CC0<\/a> \u00b7 <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/commons.wikimedia.org\/wiki\/File:BancoCentralChile.JPG\">Carlos yo, CC BY 3.0<\/a> \u00b7 <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/commons.wikimedia.org\/wiki\/File:Banco_Bci_-_Edificio_Corporativo.jpg\">Rjcastillo, CC BY-SA 4.0<\/a>.<\/span>');\n\n     \/* Pie informativo eliminado a solicitud editorial: sin leyendas ni cr\u00e9ditos visibles *\/\n     const shell=root.querySelector('.tnd-shell');if(!shell)return;\n     shell.querySelector('.tnp-wrap')?.remove();\n     shell.appendChild(wrap);\n     root.classList.add('tnp-ready');\n   }catch(e){console.warn('Portal Tasando M32:',e.message||e)}\n }\n actualizar();setInterval(actualizar,5*60*1000);\n})();\n<\/script>\n<\/section>\n\n<!-- =========================================================\r\n     TASANDO.COM | HTML 2 V27\r\n     CUADRO RESUMEN DIN\u00c1MICO MERCADOS + MINI GR\u00c1FICO\r\n     Fuente: WEB_COMENTARIOS v\u00eda proxy WordPress.\r\n\r\n     MEJORA V27:\r\n     - Fuerza 4 fichas por fila en escritorio.\r\n     - Elimina el quiebre a 1\/2 columnas en 1200px que estaba deformando el dise\u00f1o.\r\n     - Mantiene matriz interna 2 x 2 por ficha.\r\n     - 20 d\u00edas se muestra como 20D.\r\n     - Rango del mini gr\u00e1fico m\u00e1s chico y compacto.\r\n     - Se elimina contador redundante 20\/20 en la etiqueta del gr\u00e1fico.\r\n     - Eje X \/ l\u00ednea base m\u00e1s marcada.\r\n\r\n     AJUSTE ACTUAL:\r\n     - El t\u00edtulo superior elimina la hora porque ya se muestra en la ficha \"Hora Chile\".\r\n     - Se ampl\u00eda el ancho del t\u00edtulo para que quede idealmente en una sola l\u00ednea.\r\n     - Ranking visual descendente por variaci\u00f3n, con VIX siempre al final.\r\n     - Estados POSITIVO \/ NEUTRO \/ LEVEMENTE NEGATIVO \/ NEGATIVO con mayor contraste visual.\r\n     ========================================================= -->\r\n\r\n<section id=\"tasando-mercados-resumen-v27\">\r\n  <style>\r\n    #tasando-mercados-resumen-v27 {\r\n      --tm-max: min(1240px, calc(100vw - 120px));\r\n      --tm-max-tablet: calc(100vw - 48px);\r\n\r\n      --tm-blue: #102a54;\r\n      --tm-dark: #0f172a;\r\n      --tm-text: #1e293b;\r\n      --tm-muted: #64748b;\r\n      --tm-line: #cbd5e1;\r\n      --tm-green: #69be28;\r\n\r\n      --tm-pos-bg: #dff5e6;\r\n      --tm-pos-text: #0f5f2f;\r\n      --tm-pos-dot: #16a34a;\r\n\r\n      --tm-neu-bg: #e4ebf3;\r\n      --tm-neu-text: #334155;\r\n      --tm-neu-dot: #64748b;\r\n\r\n      --tm-lneg-bg: #ffebc7;\r\n      --tm-lneg-text: #9a5200;\r\n      --tm-lneg-dot: #f59e0b;\r\n\r\n      --tm-neg-bg: #ffdede;\r\n      --tm-neg-text: #b42323;\r\n      --tm-neg-dot: #dc2626;\r\n\r\n      width: var(--tm-max) !important;\r\n      max-width: var(--tm-max) !important;\r\n      margin: 0 auto 18px auto !important;\r\n      padding: 0 !important;\r\n      font-family: Arial, Helvetica, sans-serif;\r\n      color: var(--tm-text);\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27,\r\n    #tasando-mercados-resumen-v27 * {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    body .elementor-widget-html:has(#tasando-mercados-resumen-v27),\r\n    body .elementor-widget-html:has(#tasando-mercados-resumen-v27) > .elementor-widget-container,\r\n    body .elementor-column:has(#tasando-mercados-resumen-v27),\r\n    body .elementor-container:has(#tasando-mercados-resumen-v27),\r\n    body .e-con:has(#tasando-mercados-resumen-v27),\r\n    body .e-con-inner:has(#tasando-mercados-resumen-v27) {\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      overflow: visible !important;\r\n      margin-left: auto !important;\r\n      margin-right: auto !important;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-panel {\r\n      width: 100%;\r\n      background:\r\n        radial-gradient(circle at top right, rgba(105,190,40,0.13), transparent 260px),\r\n        linear-gradient(180deg, #f8fafc 0%, #eef2f5 100%);\r\n      border: 1px solid var(--tm-line);\r\n      border-radius: 22px;\r\n      padding: 22px;\r\n      box-shadow: 0 16px 36px rgba(15, 23, 42, 0.10);\r\n      overflow: hidden;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-eyebrow {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      width: fit-content;\r\n      padding: 7px 12px;\r\n      border-radius: 999px;\r\n      background: #edf6e8;\r\n      border: 1px solid rgba(105,190,40,0.28);\r\n      color: var(--tm-blue);\r\n      font-size: 12px;\r\n      font-weight: 800;\r\n      margin-bottom: 10px;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-eyebrow-dot {\r\n      width: 7px;\r\n      height: 7px;\r\n      border-radius: 50%;\r\n      background: var(--tm-green);\r\n      box-shadow: 0 0 0 4px rgba(105,190,40,0.14);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-title {\r\n      margin: 0 0 16px 0;\r\n      color: var(--tm-dark);\r\n      font-size: clamp(24px, 2.05vw, 32px);\r\n      line-height: 1.08;\r\n      font-weight: 850;\r\n      letter-spacing: -0.5px;\r\n      max-width: 1180px;\r\n      white-space: normal;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-meta-panel {\r\n      display: grid;\r\n      grid-template-columns: 1fr 1fr 1.5fr;\r\n      gap: 10px;\r\n      margin: 0 0 18px 0;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-meta-card {\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      border-radius: 15px;\r\n      padding: 12px 14px;\r\n      box-shadow: 0 7px 18px rgba(15, 23, 42, 0.06);\r\n      min-height: 78px;\r\n      display: flex;\r\n      flex-direction: column;\r\n      justify-content: center;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-meta-label {\r\n      margin: 0 0 6px 0;\r\n      color: var(--tm-muted);\r\n      font-size: 11px;\r\n      line-height: 1;\r\n      font-weight: 800;\r\n      text-transform: uppercase;\r\n      letter-spacing: 0.04em;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-meta-value {\r\n      margin: 0;\r\n      color: var(--tm-dark);\r\n      font-size: 16px;\r\n      line-height: 1.18;\r\n      font-weight: 850;\r\n    }\r\n\r\n    \/* Lectura relativa din\u00e1mica: promedio de 7 familias; VIX excluido. *\/\n    #tasando-mercados-resumen-v27 .tm-relative-card {\n      transition: background .35s ease, border-color .35s ease, box-shadow .35s ease;\n      overflow: hidden;\n      min-width: 0;\n      width: 100%;\n      max-width: 100%;\n    }\n\n    #tasando-mercados-resumen-v27 .tm-relative-card.tm-rel-strong-pos {\n      background: linear-gradient(135deg,#dff7e8 0%,#c9efd7 100%);\n      border-color: #78c893;\n      box-shadow: 0 8px 20px rgba(45,145,84,.13);\n    }\n\n    #tasando-mercados-resumen-v27 .tm-relative-card.tm-rel-pos {\n      background: linear-gradient(135deg,#eef9f1 0%,#dff3e5 100%);\n      border-color: #a4d7b4;\n    }\n\n    #tasando-mercados-resumen-v27 .tm-relative-card.tm-rel-neutral {\n      background: linear-gradient(135deg,#ffffff 0%,#f3f6f9 100%);\n      border-color: #d7dde6;\n    }\n\n    #tasando-mercados-resumen-v27 .tm-relative-card.tm-rel-soft-neg {\n      background: linear-gradient(135deg,#fbf5f6 0%,#f6e9ec 100%);\n      border-color: #e4c8cf;\n      box-shadow: 0 6px 16px rgba(132,62,78,.06);\n    }\n\n    #tasando-mercados-resumen-v27 .tm-relative-card.tm-rel-neg {\n      background: linear-gradient(135deg,#faeeee 0%,#f2dde1 100%);\n      border-color: #d9aeb7;\n      box-shadow: 0 8px 20px rgba(132,62,78,.09);\n    }\n\n    #tasando-mercados-resumen-v27 .tm-relative-card.tm-rel-strong-neg {\n      background: linear-gradient(135deg,#f4dfe3 0%,#e9c8cf 100%);\n      border-color: #c98998;\n      box-shadow: 0 8px 22px rgba(132,48,70,.14);\n    }\n\n    #tasando-mercados-resumen-v27 #tmResumenLecturaV27 {\n      display: block;\n      width: 100%;\n      min-width: 0;\n      max-width: 100%;\n      line-height: 1.22;\n      white-space: normal !important;\n      overflow-wrap: anywhere;\n      word-break: normal;\n    }\n\n    #tasando-mercados-resumen-v27 #tmResumenLecturaV27 wbr {\n      display: inline;\n    }\n\n    #tasando-mercados-resumen-v27 .tm-relative-market {\n      font-weight: 950;\n      transition: color .25s ease, text-shadow .25s ease;\n      white-space: normal;\n    }\n\n    #tasando-mercados-resumen-v27 .tm-relative-market.tm-market-strong-pos {\n      color: #0057ff;\n      text-shadow: 0 0 12px rgba(0,87,255,.16);\n    }\n\n    #tasando-mercados-resumen-v27 .tm-relative-market.tm-market-pos {\n      color: #5b88d8;\n    }\n\n    #tasando-mercados-resumen-v27 .tm-relative-market.tm-market-neutral {\n      color: #173b70;\n    }\n\n    \/* Negativo leve: todav\u00eda visualmente fr\u00edo\/tenue. *\/\n    #tasando-mercados-resumen-v27 .tm-relative-market.tm-market-soft-neg {\n      color: #7890b8;\n    }\n\n    \/* Entre -0,50% y -1,00%: rojo poderoso. *\/\n    #tasando-mercados-resumen-v27 .tm-relative-market.tm-market-neg {\n      color: #e3263e;\n      text-shadow: 0 0 8px rgba(227,38,62,.10);\n    }\n\n    \/* Menor o igual a -1,00%: rojo brillante\/intenso. *\/\n    #tasando-mercados-resumen-v27 .tm-relative-market.tm-market-strong-neg {\n      color: #ff001f;\n      text-shadow: 0 0 12px rgba(255,0,31,.16);\n    }\n\n    #tasando-mercados-resumen-v27 .tm-meta-card.tm-hour {\r\n      background:\r\n        radial-gradient(circle at top right, rgba(105,190,40,0.16), transparent 130px),\r\n        linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);\r\n      border-color: rgba(105,190,40,0.38);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-meta-card.tm-hour .tm-meta-value {\r\n      color: var(--tm-blue);\r\n      font-size: 22px;\r\n      font-weight: 950;\r\n      letter-spacing: -0.3px;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-grid-title {\r\n      margin: 8px 0 8px 0;\r\n      color: var(--tm-blue);\r\n      font-size: 12px;\r\n      font-weight: 850;\r\n      letter-spacing: .04em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-grid-subtitle {\r\n      margin: 0 0 12px 0;\r\n      color: var(--tm-muted);\r\n      font-size: 12px;\r\n      line-height: 1.4;\r\n      font-weight: 500;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(4, minmax(0, 1fr)) !important;\r\n      gap: 12px;\r\n      align-items: stretch;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-signal {\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      border-radius: 16px;\r\n      padding: 11px;\r\n      min-height: 168px;\r\n      box-shadow: 0 7px 18px rgba(15, 23, 42, 0.06);\r\n      display: grid;\r\n      grid-template-columns: minmax(0, 0.82fr) minmax(94px, 1.18fr);\r\n      grid-template-rows: auto minmax(76px, auto);\r\n      gap: 9px 9px;\r\n      align-items: stretch;\r\n      overflow: hidden;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-signal.tm-placeholder {\r\n      border-style: dashed;\r\n      background: rgba(255,255,255,.62);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-signal-main {\r\n      min-width: 0;\r\n      display: flex;\r\n      flex-direction: column;\r\n      justify-content: flex-start;\r\n      grid-column: 1 \/ 2;\r\n      grid-row: 1 \/ 2;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-signal-name {\r\n      margin: 0 0 4px 0;\r\n      color: var(--tm-dark);\r\n      font-size: 11px;\r\n      font-weight: 850;\r\n      letter-spacing: .035em;\r\n      text-transform: uppercase;\r\n      white-space: normal;\r\n      line-height: 1.12;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-signal-var {\r\n      margin: 0;\r\n      color: var(--tm-dark);\r\n      font-size: 23px;\r\n      line-height: 1;\r\n      font-weight: 850;\r\n      font-variant-numeric: tabular-nums;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-signal-side {\r\n      grid-column: 2 \/ 3;\r\n      grid-row: 1 \/ 2;\r\n      min-width: 0;\r\n      border-left: 1px solid #e2e8f0;\r\n      padding-left: 9px;\r\n      display: flex;\r\n      flex-direction: column;\r\n      justify-content: flex-start;\r\n      overflow: hidden;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-side-label {\r\n      margin: 0 0 4px 0;\r\n      color: var(--tm-muted);\r\n      font-size: 8.2px;\r\n      line-height: 1;\r\n      font-weight: 850;\r\n      text-transform: uppercase;\r\n      letter-spacing: 0.04em;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-side-list {\r\n      margin: 0;\r\n      color: #334155;\r\n      font-size: 9px;\r\n      line-height: 1.2;\r\n      font-weight: 650;\r\n      max-height: 42px;\r\n      overflow: hidden;\r\n      display: -webkit-box;\r\n      -webkit-line-clamp: 3;\r\n      -webkit-box-orient: vertical;\r\n      word-break: normal;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-wrap {\r\n      grid-column: 2 \/ 3;\r\n      grid-row: 2 \/ 3;\r\n      width: 100%;\r\n      min-height: 76px;\r\n      padding: 6px 7px 6px 7px;\r\n      border: 1px solid #dbe5ef;\r\n      border-radius: 12px;\r\n      background: linear-gradient(180deg, rgba(248,250,255,0.98) 0%, rgba(255,255,255,0.98) 100%);\r\n      overflow: hidden;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-head {\r\n      display: grid;\r\n      grid-template-columns: auto minmax(0, 1fr);\r\n      align-items: start;\r\n      gap: 4px;\r\n      margin: 0 0 4px 0;\r\n      color: #64748b;\r\n      line-height: 1;\r\n      text-transform: uppercase;\r\n      letter-spacing: 0.03em;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-period {\r\n      font-size: 7.7px;\r\n      line-height: 1;\r\n      font-weight: 850;\r\n      color: #475569;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-range {\r\n      justify-self: end;\r\n      max-width: 100%;\r\n      text-align: right;\r\n      font-size: 7.2px;\r\n      line-height: 1.02;\r\n      font-weight: 850;\r\n      color: #1f2937;\r\n      white-space: normal;\r\n      overflow-wrap: anywhere;\r\n      word-break: break-word;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-svg {\r\n      width: 100%;\r\n      height: 52px;\r\n      display: block;\r\n      overflow: visible;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-base-axis {\r\n      stroke: #1f2937;\r\n      stroke-width: 2.05;\r\n      opacity: 0.88;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-axis {\r\n      stroke: #64748b;\r\n      stroke-width: 1.25;\r\n      opacity: 0.72;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-area {\r\n      fill: rgba(37, 99, 235, 0.10);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-line {\r\n      fill: none;\r\n      stroke: #2563eb;\r\n      stroke-width: 3.1;\r\n      stroke-linecap: round;\r\n      stroke-linejoin: round;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-point {\r\n      fill: #2563eb;\r\n      opacity: 0.52;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-dot {\r\n      fill: #1d4ed8;\r\n      stroke: #ffffff;\r\n      stroke-width: 1.5;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-spark-empty {\r\n      color: var(--tm-muted);\r\n      font-size: 9px;\r\n      line-height: 1.25;\r\n      font-weight: 650;\r\n      padding-top: 8px;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-signal-footer {\r\n      grid-column: 1 \/ 2;\r\n      grid-row: 2 \/ 3;\r\n      display: flex;\r\n      align-items: flex-start;\r\n      justify-content: flex-start;\r\n      min-width: 0;\r\n      min-height: 76px;\r\n      padding: 8px 7px;\r\n      border: 1px solid #f0d8d8;\r\n      border-radius: 12px;\r\n      background: linear-gradient(180deg, rgba(255,252,252,0.96) 0%, rgba(255,255,255,1) 100%);\r\n      overflow: visible;\r\n    }\r\n\r\n    \/* Estado visual reforzado: m\u00e1s contraste sin saturar *\/\r\n    #tasando-mercados-resumen-v27 .tm-state-pos .tm-signal-footer {\r\n      border-color: rgba(22,163,74,.28);\r\n      background: linear-gradient(180deg, rgba(223,245,230,.92) 0%, rgba(248,255,250,1) 100%);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-neu .tm-signal-footer {\r\n      border-color: rgba(71,85,105,.24);\r\n      background: linear-gradient(180deg, rgba(228,235,243,.92) 0%, rgba(250,252,255,1) 100%);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-lneg .tm-signal-footer {\r\n      border-color: rgba(245,158,11,.34);\r\n      background: linear-gradient(180deg, rgba(255,235,199,.95) 0%, rgba(255,250,240,1) 100%);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-neg .tm-signal-footer {\r\n      border-color: rgba(220,38,38,.30);\r\n      background: linear-gradient(180deg, rgba(255,222,222,.95) 0%, rgba(255,248,248,1) 100%);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-chip {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 5px;\r\n      width: fit-content;\r\n      max-width: 100%;\r\n      border-radius: 999px;\r\n      padding: 5px 8px;\r\n      font-size: 8.4px;\r\n      line-height: 1.15;\r\n      font-weight: 900;\r\n      border: 1px solid transparent;\r\n      white-space: normal;\r\n      overflow-wrap: anywhere;\r\n      flex-wrap: wrap;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-chip::before {\r\n      content: \"\";\r\n      width: 8px;\r\n      height: 8px;\r\n      border-radius: 50%;\r\n      display: inline-block;\r\n      flex: 0 0 7px;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-pos {\r\n      color: var(--tm-pos-text);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-pos .tm-chip {\r\n      background: var(--tm-pos-bg);\r\n      color: var(--tm-pos-text);\r\n      border-color: rgba(22,163,74,.34);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-pos .tm-chip::before {\r\n      background: var(--tm-pos-dot);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-neu {\r\n      color: var(--tm-neu-text);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-neu .tm-chip {\r\n      background: var(--tm-neu-bg);\r\n      color: var(--tm-neu-text);\r\n      border-color: rgba(71,85,105,.30);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-neu .tm-chip::before {\r\n      background: var(--tm-neu-dot);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-lneg {\r\n      color: var(--tm-lneg-text);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-lneg .tm-chip {\r\n      background: var(--tm-lneg-bg);\r\n      color: var(--tm-lneg-text);\r\n      border-color: rgba(245,158,11,.38);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-lneg .tm-chip::before {\r\n      background: var(--tm-lneg-dot);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-neg {\r\n      color: var(--tm-neg-text);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-neg .tm-chip {\r\n      background: var(--tm-neg-bg);\r\n      color: var(--tm-neg-text);\r\n      border-color: rgba(220,38,38,.36);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-state-neg .tm-chip::before {\r\n      background: var(--tm-neg-dot);\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-method-note {\r\n      margin: 16px 0 0 0;\r\n      padding: 12px 14px;\r\n      border-radius: 14px;\r\n      background: rgba(255,255,255,0.72);\r\n      border: 1px solid #d7dde6;\r\n      color: #475569;\r\n      font-size: 12px;\r\n      line-height: 1.45;\r\n      font-weight: 500;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-method-note strong {\r\n      color: var(--tm-blue);\r\n      font-weight: 800;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-loading,\r\n    #tasando-mercados-resumen-v27 .tm-error {\r\n      padding: 18px;\r\n      border-radius: 13px;\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      color: var(--tm-muted);\r\n      font-size: 13px;\r\n      text-align: center;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 .tm-error {\r\n      background: #fff7ed;\r\n      border-color: #fed7aa;\r\n      color: #9a3412;\r\n      text-align: left;\r\n      line-height: 1.45;\r\n    }\r\n\r\n    @media (max-width: 1200px) {\r\n      #tasando-mercados-resumen-v27 {\r\n        width: var(--tm-max-tablet) !important;\r\n        max-width: var(--tm-max-tablet) !important;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 760px) {\r\n      #tasando-mercados-resumen-v27 .tm-grid {\r\n        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-meta-panel {\r\n        grid-template-columns: 1fr;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 520px) {\r\n      #tasando-mercados-resumen-v27 .tm-grid {\r\n        grid-template-columns: 1fr !important;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 700px) {\r\n      #tasando-mercados-resumen-v27 {\r\n        width: 100% !important;\r\n        max-width: 100% !important;\r\n        padding: 0 10px !important;\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-panel {\r\n        padding: 15px;\r\n        border-radius: 18px;\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-title {\r\n        font-size: 22px;\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-signal {\r\n        grid-template-columns: minmax(0, 0.82fr) minmax(90px, 1.18fr);\r\n        min-height: 168px;\r\n        grid-template-rows: auto minmax(74px, auto);\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-signal-var {\r\n        font-size: 22px;\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-side-list {\r\n        font-size: 10px;\r\n        max-height: 52px;\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-chip {\r\n        font-size: 10px;\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-spark-wrap {\r\n        min-height: 82px;\r\n        padding: 7px 8px;\r\n      }\r\n\r\n      #tasando-mercados-resumen-v27 .tm-spark-svg {\r\n        height: 52px;\r\n      }\r\n    }\r\n\r\n    \/* =========================================================\r\n       AJUSTE FINAL - REDUCE ESPACIO ENTRE MEN\u00da Y PRIMER RECUADRO\r\n       ========================================================= *\/\r\n\r\n    body .elementor-section:has(#tasando-mercados-resumen-v27),\r\n    body .elementor-top-section:has(#tasando-mercados-resumen-v27),\r\n    body .elementor-container:has(#tasando-mercados-resumen-v27),\r\n    body .elementor-column:has(#tasando-mercados-resumen-v27),\r\n    body .elementor-widget-html:has(#tasando-mercados-resumen-v27),\r\n    body .elementor-widget-html:has(#tasando-mercados-resumen-v27) > .elementor-widget-container,\r\n    body .e-con:has(#tasando-mercados-resumen-v27),\r\n    body .e-con-inner:has(#tasando-mercados-resumen-v27) {\r\n      margin-top: 0 !important;\r\n      padding-top: 0 !important;\r\n    }\r\n\r\n    #tasando-mercados-resumen-v27 {\n      margin-top: 0 !important;\n    }\r\n\r\n    @media (max-width: 1200px) {\n      #tasando-mercados-resumen-v27 {\n        margin-top: 0 !important;\n      }\n    }\r\n\r\n    @media (max-width: 700px) {\n      #tasando-mercados-resumen-v27 {\n        margin-top: 0 !important;\n      }\n    }\r\n  <\/style>\r\n\r\n  <div class=\"tm-panel\">\r\n    <div class=\"tm-eyebrow\">\r\n      <span class=\"tm-eyebrow-dot\"><\/span>\r\n      Editorial Tasando.com\r\n    <\/div>\r\n\r\n    <h2 class=\"tm-title\" id=\"tmResumenTituloV27\">Lectura diaria de mercados<\/h2>\r\n\r\n    <div class=\"tm-meta-panel\">\r\n      <div class=\"tm-meta-card\">\r\n        <div class=\"tm-meta-label\">D\u00eda de lectura<\/div>\r\n        <div class=\"tm-meta-value\" id=\"tmResumenDiaV27\">cargando...<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"tm-meta-card tm-hour\">\r\n        <div class=\"tm-meta-label\">Hora Chile<\/div>\r\n        <div class=\"tm-meta-value\" id=\"tmResumenHoraV27\">cargando...<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"tm-meta-card tm-relative-card\">\n        <div class=\"tm-meta-label\">Lectura relativa<\/div>\n        <div class=\"tm-meta-value\" id=\"tmResumenLecturaV27\">cargando...<\/div>\n      <\/div>\r\n    <\/div>\r\n\r\n    <div id=\"tmResumenSenalesV27\">\r\n      <div class=\"tm-loading\">Cargando ranking general...<\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    (function () {\r\n      const root = document.getElementById(\"tasando-mercados-resumen-v27\");\r\n      if (!root) return;\r\n\r\n      const endpoints = [\r\n        window.location.origin + \"\/propiedades\/wp-json\/tasando\/v1\/sheet\/comentario-mercados\",\r\n        window.location.origin + \"\/propiedades\/wp-json\/tasando\/v1\/sheet\/web-comentarios\",\r\n        window.location.origin + \"\/propiedades\/wp-json\/tasando\/v1\/sheet\/mercados-comentario\",\r\n        window.location.origin + \"\/wp-json\/tasando\/v1\/sheet\/comentario-mercados\",\r\n        window.location.origin + \"\/wp-json\/tasando\/v1\/sheet\/web-comentarios\",\r\n        window.location.origin + \"\/wp-json\/tasando\/v1\/sheet\/mercados-comentario\"\r\n      ];\r\n\r\n      const claveObjetivo = \"MERCADOS_DIA\";\r\n\r\n      const tituloBox = root.querySelector(\"#tmResumenTituloV27\");\r\n      const diaBox = root.querySelector(\"#tmResumenDiaV27\");\r\n      const horaBox = root.querySelector(\"#tmResumenHoraV27\");\r\n      const lecturaBox = root.querySelector(\"#tmResumenLecturaV27\");\r\n      const senalesBox = root.querySelector(\"#tmResumenSenalesV27\");\r\n\r\n      const exposiciones = {\r\n        \"EUROPA\": \"Francia \u00b7 Alemania \u00b7 Espa\u00f1a \u00b7 Italia\",\r\n        \"GLOBAL\": \"EE.UU. \u00b7 Europa \u00b7 Asia \u00b7 Global\",\r\n        \"ASIA\": \"China \u00b7 Jap\u00f3n \u00b7 Taiw\u00e1n \u00b7 Indonesia\",\r\n        \"EMERGING\": \"China \u00b7 India \u00b7 Brasil \u00b7 Taiw\u00e1n\",\r\n        \"CHILEIPSA\": \"Chile \u00b7 IPSA\",\r\n        \"CHILE\": \"Chile \u00b7 IPSA\",\r\n        \"LATAM\": \"Brasil \u00b7 M\u00e9xico \u00b7 Colombia \u00b7 Per\u00fa\",\r\n        \"USA\": \"Estados Unidos \u00b7 S&P 500 \u00b7 Nasdaq\",\r\n        \"VIX\": \"Baja = menor riesgo \u00b7 Sube = mayor cautela\"\r\n      };\r\n\r\n      function limpiar(v) {\r\n        if (v === null || v === undefined) return \"\";\r\n        return String(v)\r\n          .replace(\/\\r\\n\/g, \"\\n\")\r\n          .replace(\/\\r\/g, \"\\n\")\r\n          .replace(\/&lt;br\\s*\\\/?&gt;\/gi, \"\\n\")\r\n          .replace(\/<br\\s*\\\/?>\/gi, \"\\n\")\r\n          .replace(\/\\\\\\|\/g, \"|\")\r\n          .replace(\/\\\\([\\\\`*_\\[\\]{}()#+\\-.!|:])\/g, \"$1\")\r\n          .trim();\r\n      }\r\n\r\n      function esc(v) {\r\n        return limpiar(v)\r\n          .replace(\/&\/g, \"&amp;\")\r\n          .replace(\/<\/g, \"&lt;\")\r\n          .replace(\/>\/g, \"&gt;\")\r\n          .replace(\/\"\/g, \"&quot;\")\r\n          .replace(\/'\/g, \"&#039;\");\r\n      }\r\n\r\n      function norm(v) {\r\n        return limpiar(v)\r\n          .toUpperCase()\r\n          .normalize(\"NFD\")\r\n          .replace(\/[\\u0300-\\u036f]\/g, \"\")\r\n          .replace(\/[^A-Z0-9]\/g, \"\");\r\n      }\r\n\r\n      function buscarCol(headers, aliases) {\r\n        const h = headers.map(norm);\r\n        const a = aliases.map(norm);\r\n\r\n        for (let i = 0; i < h.length; i++) {\r\n          if (a.includes(h[i])) return i;\r\n        }\r\n\r\n        return -1;\r\n      }\r\n\r\n      function cell(row, idx) {\r\n        if (!Array.isArray(row)) return \"\";\r\n        if (idx < 0 || idx >= row.length) return \"\";\r\n        return limpiar(row[idx]);\r\n      }\r\n\r\n      function parseFecha(fecha) {\r\n        const s = limpiar(fecha);\r\n        const dias = [\"domingo\", \"lunes\", \"martes\", \"mi\u00e9rcoles\", \"jueves\", \"viernes\", \"s\u00e1bado\"];\r\n        let y, m, d, hh, mm;\r\n\r\n        let a = s.match(\/^(\\d{4})-(\\d{2})-(\\d{2})[ T](\\d{2}):(\\d{2})\/);\r\n\r\n        if (a) {\r\n          y = Number(a[1]);\r\n          m = Number(a[2]);\r\n          d = Number(a[3]);\r\n          hh = a[4];\r\n          mm = a[5];\r\n        } else {\r\n          a = s.match(\/^(\\d{2})[-\\\/](\\d{2})[-\\\/](\\d{4})\\s+(\\d{2}):(\\d{2})\/);\r\n\r\n          if (a) {\r\n            d = Number(a[1]);\r\n            m = Number(a[2]);\r\n            y = Number(a[3]);\r\n            hh = a[4];\r\n            mm = a[5];\r\n          }\r\n        }\r\n\r\n        if (!y || !m || !d) {\r\n          return { fechaLarga: s || \"sin fecha\", hora: \"sin hora\" };\r\n        }\r\n\r\n        const dt = new Date(y, m - 1, d);\r\n        const dia = dias[dt.getDay()] || \"\";\r\n\r\n        return {\r\n          fechaLarga: dia + \" \" + String(d).padStart(2, \"0\") + \"-\" + String(m).padStart(2, \"0\") + \"-\" + y,\r\n          hora: hh + \":\" + mm + \" hrs.\"\r\n        };\r\n      }\r\n\r\n      function limpiarTituloSinHora(titulo) {\r\n        let t = limpiar(titulo);\r\n\r\n        \/\/ Elimina tramo final tipo: \", 08:48 hrs. Chile\"\r\n        t = t.replace(\/,\\s*\\d{1,2}:\\d{2}\\s*hrs\\.?\\s*Chile\\s*$\/i, \"\");\r\n\r\n        \/\/ Seguridad adicional por si viene sin coma.\r\n        t = t.replace(\/\\s+\\d{1,2}:\\d{2}\\s*hrs\\.?\\s*Chile\\s*$\/i, \"\");\r\n\r\n        return t.trim();\r\n      }\r\n\r\n      function validarProxy(data) {\r\n        const real = data && data.data && data.data.headers ? data.data : data;\r\n\r\n        if (!real || real.ok !== true) {\r\n          throw new Error((real && real.error) ? real.error : \"Respuesta inv\u00e1lida del proxy.\");\r\n        }\r\n\r\n        const headers = Array.isArray(real.headers) ? real.headers : [];\r\n        const rows = Array.isArray(real.rows) ? real.rows : [];\r\n\r\n        if (!headers.length || !rows.length) {\r\n          throw new Error(\"El proxy no devolvi\u00f3 headers\/rows con datos.\");\r\n        }\r\n\r\n        return { headers, rows };\r\n      }\r\n\r\n      function extraerComentario(data) {\r\n        const tabla = validarProxy(data);\r\n        const headers = tabla.headers;\r\n        const rows = tabla.rows;\r\n\r\n        const idxClave = buscarCol(headers, [\"CLAVE\"]);\r\n        const idxFecha = buscarCol(headers, [\"FECHA_HORA\", \"FECHA HORA\", \"FECHA\"]);\r\n        const idxTitulo = buscarCol(headers, [\"TITULO\", \"T\u00cdTULO\"]);\r\n        const idxMarkdown = buscarCol(headers, [\"TEXTO_MARKDOWN\", \"TEXTO MARKDOWN\", \"MARKDOWN\"]);\r\n        const idxHtml = buscarCol(headers, [\"TEXTO_HTML\", \"TEXTO HTML\", \"HTML\"]);\r\n        const idxLectura = buscarCol(headers, [\"LECTURA_RELATIVA\", \"LECTURA RELATIVA\"]);\r\n        const idxTendencia = buscarCol(headers, [\"TENDENCIA_JSON\", \"TENDENCIA JSON\", \"TENDENCIAS_JSON\", \"TENDENCIAS JSON\"]);\r\n        const idxEstado = buscarCol(headers, [\"ESTADO\"]);\r\n\r\n        if (idxClave < 0) throw new Error(\"No se detect\u00f3 la columna CLAVE en WEB_COMENTARIOS.\");\r\n\r\n        const row = rows.find(function (r) {\r\n          const clave = norm(cell(r, idxClave));\r\n          const estado = idxEstado >= 0 ? norm(cell(r, idxEstado)) : \"PUBLICAR\";\r\n          return clave === norm(claveObjetivo) && (!estado || estado === \"PUBLICAR\");\r\n        });\r\n\r\n        if (!row) throw new Error(\"No se encontr\u00f3 fila con CLAVE = MERCADOS_DIA y ESTADO = PUBLICAR.\");\r\n\r\n        const markdown = idxMarkdown >= 0 ? cell(row, idxMarkdown) : \"\";\r\n        const html = idxHtml >= 0 ? cell(row, idxHtml) : \"\";\r\n        const tendenciaJson = idxTendencia >= 0 ? cell(row, idxTendencia) : \"\";\r\n\r\n        if (!markdown && !html) throw new Error(\"La fila no tiene TEXTO_MARKDOWN ni TEXTO_HTML.\");\r\n\r\n        return {\r\n          fecha: idxFecha >= 0 ? cell(row, idxFecha) : \"\",\r\n          titulo: idxTitulo >= 0 ? cell(row, idxTitulo) : \"Lectura diaria de mercados\",\r\n          markdown: markdown,\r\n          html: html,\r\n          lecturaRelativa: idxLectura >= 0 ? cell(row, idxLectura) : \"\",\r\n          tendenciaJson: tendenciaJson\r\n        };\r\n      }\r\n\r\n      function familiaVisual(fam) {\r\n        const f = norm(fam);\r\n\r\n        if (f === \"CHILE\" || f === \"CHILEIPSA\") return \"CHILE \/ IPSA\";\r\n        if (f === \"EUROPA\") return \"EUROPA\";\r\n        if (f === \"GLOBAL\") return \"GLOBAL\";\r\n        if (f === \"ASIA\") return \"ASIA\";\r\n        if (f === \"EMERGING\") return \"EMERGING\";\r\n        if (f === \"LATAM\") return \"LATAM\";\r\n        if (f === \"USA\") return \"USA\";\r\n        if (f === \"VIX\") return \"VIX\";\r\n\r\n        return limpiar(fam).toUpperCase();\r\n      }\r\n\r\n      function parseNumeroVariacion(valor) {\r\n        const s = limpiar(valor)\r\n          .replace(\"\u2212\", \"-\")\r\n          .replace(\"%\", \"\")\r\n          .replace(\/\\s+\/g, \"\")\r\n          .replace(\",\", \".\");\r\n\r\n        const n = Number(s);\r\n        return Number.isFinite(n) ? n : null;\r\n      }\r\n\r\n      function lecturaVisual(s) {\r\n        const key = norm(s.familia);\r\n\r\n        if (key === \"VIX\") {\r\n          const n = parseNumeroVariacion(s.variacion);\r\n\r\n          if (n === null) return s.lectura || \"POR INTEGRAR\";\r\n          if (n < -0.05) return \"BAJA VOLATILIDAD\";\r\n          if (n > 0.05) return \"SUBE VOLATILIDAD\";\r\n\r\n          return \"VOLATILIDAD ESTABLE\";\r\n        }\r\n\r\n        return s.lectura || \"NO INFORMADO\";\r\n      }\r\n\r\n      function estadoClase(s) {\r\n        const key = norm(s.familia);\r\n\r\n        if (key === \"VIX\") {\r\n          const n = parseNumeroVariacion(s.variacion);\r\n\r\n          if (n === null) return \"tm-state-neu\";\r\n          if (n < -0.05) return \"tm-state-pos\";\r\n          if (n > 0.05) return \"tm-state-neg\";\r\n\r\n          return \"tm-state-neu\";\r\n        }\r\n\r\n        const t = norm(s.lectura);\r\n\r\n        if (t.includes(\"LEVEMENTEPOSITIVO\")) return \"tm-state-pos\";\r\n        if (t.includes(\"LEVEMENTENEGATIVO\")) return \"tm-state-lneg\";\r\n        if (t.includes(\"POSITIVO\")) return \"tm-state-pos\";\r\n        if (t.includes(\"NEGATIVO\")) return \"tm-state-neg\";\r\n\r\n        return \"tm-state-neu\";\r\n      }\r\n\r\n      function exposicionFamilia(familia) {\r\n        const key = norm(familia);\r\n        return exposiciones[key] || \"Mercado asociado\";\r\n      }\r\n\r\n      function parseSenales(texto) {\r\n        const t = limpiar(texto).replace(\/\\*\\*\/g, \"\");\r\n        const lines = t.split(\"\\n\").map(limpiar).filter(Boolean);\r\n        const out = [];\r\n\r\n        lines.forEach(function (line) {\r\n          const m = line.match(\/^(.+?)\\s*\\|\\s*VAR:\\s*([+\\-\u2212]?\\s*\\d+(?:[.,]\\d+)?%)\\s*\\|\\s*(.+)$\/i);\r\n          if (!m) return;\r\n\r\n          out.push({\r\n            familia: familiaVisual(m[1]),\r\n            variacion: limpiar(m[2]).replace(\/\\s+\/g, \"\"),\r\n            lectura: limpiar(m[3]).toUpperCase()\r\n          });\r\n        });\r\n\r\n        const visto = {};\r\n\r\n        return out.filter(function (s) {\r\n          const k = norm(s.familia);\r\n\r\n          if (!k || visto[k]) return false;\r\n\r\n          visto[k] = true;\r\n          return true;\r\n        });\r\n      }\r\n\r\n      function completarSenales(senales) {\r\n        const mapa = {};\r\n\r\n        senales.forEach(function (s) {\r\n          mapa[norm(s.familia)] = s;\r\n        });\r\n\r\n        \/*\r\n         * Familias burs\u00e1tiles que participan del ranking visual.\r\n         * Se ordenan de mayor a menor seg\u00fan la variaci\u00f3n actual.\r\n         * VIX se trata aparte y siempre queda al final.\r\n         *\/\r\n        const familiasMercado = [\r\n          \"EUROPA\",\r\n          \"GLOBAL\",\r\n          \"ASIA\",\r\n          \"EMERGING\",\r\n          \"CHILE \/ IPSA\",\r\n          \"LATAM\",\r\n          \"USA\"\r\n        ];\r\n\r\n        const lista = familiasMercado.map(function (fam) {\r\n          const k = norm(fam);\r\n\r\n          if (mapa[k]) return mapa[k];\r\n\r\n          return {\r\n            familia: fam,\r\n            variacion: \"Sin dato\",\r\n            lectura: \"NO INFORMADO\",\r\n            placeholder: true\r\n          };\r\n        });\r\n\r\n        \/*\r\n         * Orden descendente por variaci\u00f3n:\r\n         * primera fila de mayor a menor, luego segunda fila de mayor a menor.\r\n         * Los registros sin dato quedan al final del bloque burs\u00e1til.\r\n         *\/\r\n        lista.sort(function (a, b) {\r\n          const va = parseNumeroVariacion(a.variacion);\r\n          const vb = parseNumeroVariacion(b.variacion);\r\n\r\n          const aValido = Number.isFinite(va);\r\n          const bValido = Number.isFinite(vb);\r\n\r\n          if (aValido && bValido) return vb - va;\r\n          if (aValido && !bValido) return -1;\r\n          if (!aValido && bValido) return 1;\r\n\r\n          return 0;\r\n        });\r\n\r\n        \/*\r\n         * VIX no participa del ranking de rentabilidad.\r\n         * Se incorpora siempre en la \u00faltima posici\u00f3n.\r\n         *\/\r\n        const vix = mapa[\"VIX\"] || {\r\n          familia: \"VIX\",\r\n          variacion: \"Pendiente\",\r\n          lectura: \"POR INTEGRAR\",\r\n          placeholder: true\r\n        };\r\n\r\n        lista.push(vix);\r\n\r\n        return lista;\r\n      }\r\n\r\n      function parseTendencias(tendenciaJson) {\r\n        if (!tendenciaJson) return {};\r\n\r\n        try {\r\n          const raw = JSON.parse(tendenciaJson);\r\n          const out = {};\r\n\r\n          Object.keys(raw || {}).forEach(function (k) {\r\n            const nk = norm(k);\r\n\r\n            if (!Array.isArray(raw[k])) return;\r\n\r\n            out[nk] = raw[k]\r\n              .map(function (x) { return Number(x); })\r\n              .filter(function (x) { return Number.isFinite(x); });\r\n          });\r\n\r\n          return out;\r\n        } catch (e) {\r\n          return {};\r\n        }\r\n      }\r\n\r\n      function serieFamilia(tendencias, familia) {\r\n        const key = norm(familia);\r\n\r\n        if (tendencias[key]) return tendencias[key];\r\n\r\n        if (key === \"CHILEIPSA\" && tendencias.CHILE) return tendencias.CHILE;\r\n        if (key === \"CHILE\" && tendencias.CHILEIPSA) return tendencias.CHILEIPSA;\r\n\r\n        return [];\r\n      }\r\n\r\n      function fmtValorSpark(x) {\r\n        if (!Number.isFinite(x)) return \"N\/D\";\r\n\r\n        const signo = x > 0 ? \"+\" : \"\";\r\n        let s = (signo + x.toFixed(1) + \"%\").replace(\".\", \",\");\r\n\r\n        return s.replace(\",0%\", \"%\");\r\n      }\r\n\r\n      function renderSparkline(valores) {\r\n        if (!Array.isArray(valores) || valores.length < 2) {\r\n          return \"<div class='tm-spark-empty'>Sin hist\u00f3rico suficiente<\/div>\";\r\n        }\r\n\r\n        const width = 260;\r\n        const height = 56;\r\n        const padX = 5;\r\n        const padY = 7;\r\n\r\n        let min = Math.min.apply(null, valores);\r\n        let max = Math.max.apply(null, valores);\r\n\r\n        if (min === max) {\r\n          min = min - 0.1;\r\n          max = max + 0.1;\r\n        }\r\n\r\n        const step = (width - padX * 2) \/ Math.max(valores.length - 1, 1);\r\n\r\n        const points = valores.map(function (v, i) {\r\n          const x = padX + i * step;\r\n          const ratio = (v - min) \/ (max - min);\r\n          const y = height - padY - ratio * (height - padY * 2);\r\n\r\n          return [x, y];\r\n        });\r\n\r\n        const d = points.map(function (p, i) {\r\n          return (i === 0 ? \"M\" : \"L\") + p[0].toFixed(2) + \" \" + p[1].toFixed(2);\r\n        }).join(\" \");\r\n\r\n        const areaD = d +\r\n          \" L\" + points[points.length - 1][0].toFixed(2) + \" \" + (height - padY).toFixed(2) +\r\n          \" L\" + points[0][0].toFixed(2) + \" \" + (height - padY).toFixed(2) +\r\n          \" Z\";\r\n\r\n        const ceroY = (0 >= min && 0 <= max)\r\n          ? height - padY - ((0 - min) \/ (max - min)) * (height - padY * 2)\r\n          : null;\r\n\r\n        const baseY = height - padY;\r\n        const last = points[points.length - 1];\r\n\r\n        const puntosSvg = points.map(function (p, i) {\r\n          if (i === points.length - 1) return \"\";\r\n          return \"<circle class='tm-spark-point' cx='\" + p[0].toFixed(2) + \"' cy='\" + p[1].toFixed(2) + \"' r='1.05'><\/circle>\";\r\n        }).join(\"\");\r\n\r\n        return (\r\n          \"<svg class='tm-spark-svg' viewBox='0 0 \" + width + \" \" + height + \"' preserveAspectRatio='none' aria-hidden='true'>\" +\r\n            \"<line class='tm-spark-base-axis' x1='0' y1='\" + baseY.toFixed(2) + \"' x2='\" + width + \"' y2='\" + baseY.toFixed(2) + \"'><\/line>\" +\r\n            (ceroY !== null ? \"<line class='tm-spark-axis' x1='0' y1='\" + ceroY.toFixed(2) + \"' x2='\" + width + \"' y2='\" + ceroY.toFixed(2) + \"'><\/line>\" : \"\") +\r\n            \"<path class='tm-spark-area' d='\" + areaD + \"'><\/path>\" +\r\n            \"<path class='tm-spark-line' d='\" + d + \"'><\/path>\" +\r\n            puntosSvg +\r\n            \"<circle class='tm-spark-dot' cx='\" + last[0].toFixed(2) + \"' cy='\" + last[1].toFixed(2) + \"' r='2.7'><\/circle>\" +\r\n          \"<\/svg>\"\r\n        );\r\n      }\r\n\r\n      function renderSenales(senales, tendencias) {\r\n        const lista = completarSenales(senales);\r\n\r\n        senalesBox.innerHTML =\r\n          \"<div class='tm-grid-title'>Ranking general<\/div>\" +\r\n          \"<div class='tm-grid-subtitle'>Cada ficha muestra la se\u00f1al actual y un mini gr\u00e1fico compacto con hasta 20 d\u00edas operativos reales.<\/div>\" +\r\n          \"<div class='tm-grid'>\" +\r\n          lista.map(function (s) {\r\n            const exposicion = exposicionFamilia(s.familia);\r\n            const chip = lecturaVisual(s);\r\n            const clase = estadoClase(s);\r\n            const serie = serieFamilia(tendencias, s.familia);\r\n            const desde = serie.length ? fmtValorSpark(serie[0]) : \"N\/D\";\r\n            const hasta = serie.length ? fmtValorSpark(serie[serie.length - 1]) : \"N\/D\";\r\n\r\n            return (\r\n              \"<div class='tm-signal \" + clase + (s.placeholder ? \" tm-placeholder\" : \"\") + \"'>\" +\r\n                \"<div class='tm-signal-main'>\" +\r\n                  \"<div class='tm-signal-name'>\" + esc(s.familia) + \"<\/div>\" +\r\n                  \"<div class='tm-signal-var'>\" + esc(s.variacion) + \"<\/div>\" +\r\n                \"<\/div>\" +\r\n\r\n                \"<div class='tm-signal-side'>\" +\r\n                  \"<div class='tm-side-label'>Exposici\u00f3n<\/div>\" +\r\n                  \"<div class='tm-side-list'>\" + esc(exposicion) + \"<\/div>\" +\r\n                \"<\/div>\" +\r\n\r\n                \"<div class='tm-spark-wrap'>\" +\r\n                  \"<div class='tm-spark-head'>\" +\r\n                    \"<span class='tm-spark-period'>20D<\/span>\" +\r\n                    \"<span class='tm-spark-range'>\" + esc(desde + \" \u2192 \" + hasta) + \"<\/span>\" +\r\n                  \"<\/div>\" +\r\n                  renderSparkline(serie) +\r\n                \"<\/div>\" +\r\n\r\n                \"<div class='tm-signal-footer'>\" +\r\n                  \"<div class='tm-chip'>\" + esc(chip) + \"<\/div>\" +\r\n                \"<\/div>\" +\r\n              \"<\/div>\"\r\n            );\r\n          }).join(\"\") +\r\n          \"<\/div>\" +\r\n          \"<div class='tm-method-note'>\" +\r\n            \"<strong>Nota de c\u00e1lculo:<\/strong> los porcentajes por familia corresponden a una se\u00f1al compuesta ponderada de los principales \u00edndices asociados a cada bloque de mercado. El mini gr\u00e1fico usa hasta 20 d\u00edas operativos reales por familia, compactando varias corridas del mismo d\u00eda en un solo punto. El VIX no mide retorno: si baja, normalmente disminuye la volatilidad esperada; si sube, aumenta la cautela.\" +\r\n          \"<\/div>\";\r\n      }\r\n\r\n      function parsePctLectura(valor) {\n        const s = limpiar(valor)\n          .replace(\"%\", \"\")\n          .replace(\",\", \".\")\n          .replace(\/[^0-9+\\-.]\/g, \"\");\n        const n = Number(s);\n        return Number.isFinite(n) ? n : null;\n      }\n\n      function claseMercadoPorValor(valor) {\n        if (!Number.isFinite(valor)) return \"tm-market-neutral\";\n\n        \/* Positivos: 0 a +0,50 azul tenue; sobre +0,50 azul poderoso. *\/\n        if (valor > 0.50) return \"tm-market-strong-pos\";\n        if (valor > 0) return \"tm-market-pos\";\n\n        \/* Cero exacto: neutro. *\/\n        if (valor === 0) return \"tm-market-neutral\";\n\n        \/* Negativos: 0 a -0,50 fr\u00edo\/tenue; -0,50 a -1 rojo poderoso; <= -1 rojo brillante. *\/\n        if (valor > -0.50) return \"tm-market-soft-neg\";\n        if (valor > -1.00) return \"tm-market-neg\";\n        return \"tm-market-strong-neg\";\n      }\n\n      function claseFondoPorPromedio(promedio) {\n        if (!Number.isFinite(promedio)) return \"tm-rel-neutral\";\n\n        \/* Fondo global: verde fuerte > +0,50; verde suave entre 0 y +0,50. *\/\n        if (promedio > 0.50) return \"tm-rel-strong-pos\";\n        if (promedio > 0) return \"tm-rel-pos\";\n\n        \/* Cero exacto: neutro. *\/\n        if (promedio === 0) return \"tm-rel-neutral\";\n\n        \/* Negativo: palo de rosa creciente seg\u00fan intensidad. *\/\n        if (promedio > -0.50) return \"tm-rel-soft-neg\";\n        if (promedio > -1.00) return \"tm-rel-neg\";\n        return \"tm-rel-strong-neg\";\n      }\n\n      function renderLecturaDinamica(textoLectura, senales) {\n        const card = lecturaBox.closest(\".tm-relative-card\") || lecturaBox.closest(\".tm-meta-card\");\n        const mapa = {};\n        const valores = [];\n\n        (senales || []).forEach(function (s) {\n          const key = norm(s.familia);\n          if (!key || key === \"VIX\") return;\n\n          const valor = parsePctLectura(s.variacion);\n          if (!Number.isFinite(valor)) return;\n\n          mapa[key] = valor;\n          valores.push(valor);\n\n          if (key === \"CHILEIPSA\") mapa.CHILE = valor;\n          if (key === \"CHILE\") mapa.CHILEIPSA = valor;\n        });\n\n        const promedio = valores.length\n          ? valores.reduce(function (acc, x) { return acc + x; }, 0) \/ valores.length\n          : NaN;\n\n        if (card) {\n          card.classList.remove(\n            \"tm-rel-strong-pos\",\n            \"tm-rel-pos\",\n            \"tm-rel-neutral\",\n            \"tm-rel-soft-neg\",\n            \"tm-rel-neg\",\n            \"tm-rel-strong-neg\"\n          );\n          card.classList.add(claseFondoPorPromedio(promedio));\n          if (Number.isFinite(promedio)) {\n            card.title = \"Promedio general de las 7 familias (VIX excluido): \" +\n              promedio.toFixed(2).replace(\".\", \",\") + \"%\";\n          }\n        }\n\n        const texto = limpiar(textoLectura || \"no informada\");\n        const partes = texto.split(\/(USA|GLOBAL|EUROPA|ASIA|EMERGING|LATAM|CHILE)\/gi);\n\n        lecturaBox.innerHTML = partes.map(function (parte) {\n          const key = norm(parte);\n          const esFamilia = [\"USA\",\"GLOBAL\",\"EUROPA\",\"ASIA\",\"EMERGING\",\"LATAM\",\"CHILE\"].includes(key);\n\n          if (!esFamilia) {\n            return esc(parte)\n              .replace(\/\u2192\/g, \"\u2192<wbr>\")\n              .replace(\/\\\/\/g, \"\/<wbr>\");\n          }\n\n          const valor = mapa[key];\n          const clase = claseMercadoPorValor(valor);\n          const detalle = Number.isFinite(valor)\n            ? \" title='\" + esc(parte.toUpperCase() + \": \" + valor.toFixed(2).replace(\".\", \",\") + \"%\") + \"'\"\n            : \"\";\n\n          return \"<span class='tm-relative-market \" + clase + \"'\" + detalle + \">\" +\n            esc(parte.toUpperCase()) +\n          \"<\/span>\";\n        }).join(\"\");\n      }\n\n      function render(data) {\r\n        const partes = parseFecha(data.fecha);\r\n        const tendencias = parseTendencias(data.tendenciaJson);\r\n\r\n        tituloBox.textContent = limpiarTituloSinHora(data.titulo || \"Lectura diaria de mercados\");\r\n        diaBox.textContent = partes.fechaLarga;\r\n        horaBox.textContent = partes.hora;\r\n        const senales = parseSenales(data.markdown || data.html);\n        renderLecturaDinamica(data.lecturaRelativa || \"no informada\", senales);\n        renderSenales(senales, tendencias);\r\n      }\r\n\r\n      function renderError(error) {\r\n        diaBox.textContent = \"sin actualizaci\u00f3n\";\r\n        horaBox.textContent = \"sin hora\";\r\n        lecturaBox.textContent = \"no disponible\";\r\n\r\n        senalesBox.innerHTML =\r\n          \"<div class='tm-error'>\" +\r\n          \"<strong>No fue posible cargar el resumen de Tasando.com.<\/strong><br>\" +\r\n          esc(error.message || error) +\r\n          \"<\/div>\";\r\n      }\r\n\r\n      function fetchJson(url) {\r\n        const sep = url.includes(\"?\") ? \"&\" : \"?\";\r\n        const finalUrl = url + sep + \"refresh=1&_=\" + Date.now();\r\n\r\n        return fetch(finalUrl, {\r\n          method: \"GET\",\r\n          credentials: \"same-origin\",\r\n          cache: \"no-store\"\r\n        }).then(function (response) {\r\n          if (!response.ok) throw new Error(\"HTTP \" + response.status + \" en \" + url);\r\n          return response.json();\r\n        });\r\n      }\r\n\r\n      function probarEndpoint(i, ultimoError) {\r\n        if (i >= endpoints.length) throw ultimoError || new Error(\"No se pudo consultar ning\u00fan endpoint.\");\r\n\r\n        return fetchJson(endpoints[i]).catch(function (err) {\r\n          return probarEndpoint(i + 1, err);\r\n        });\r\n      }\r\n\r\n      probarEndpoint(0, null)\r\n        .then(extraerComentario)\r\n        .then(render)\r\n        .catch(renderError);\r\n    })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8296663 elementor-widget__width-initial elementor-widget elementor-widget-html\" data-id=\"8296663\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\r\n     TASANDO.COM | INDICADORES DE MERCADO INTERNACIONAL\r\n    Fuente: proxy WordPress existente\r\n\r\n     Endpoint:\r\n     \/propiedades\/wp-json\/tasando\/v1\/sheet\/indicadores-mercado-internacional\r\n\r\n     IMPORTANTE:\r\n     - Este HTML NO usa Google Sheets directo.\r\n     - Usa s\u00f3lo el proxy.\r\n     - No muestra updated_at como hora de corrida.\r\n     - Muestra fecha_hora_corrida s\u00f3lo si el proxy la entrega.\r\n     ========================================================= -->\r\n\r\n<section id=\"tasando-indices-internacionales\">\r\n  <style>\r\n    #tasando-indices-internacionales {\r\n      --ti-width: min(1240px, calc(100vw - 120px));\r\n      --ti-width-notebook: calc(100vw - 48px);\r\n\r\n      --ti-bg-1: #eef2f5;\r\n      --ti-bg-2: #e3e8ef;\r\n      --ti-dark: #111827;\r\n      --ti-text: #0f172a;\r\n      --ti-muted: #475569;\r\n      --ti-border: #cbd5e1;\r\n\r\n      --ti-green-strong: #a7f3d0;\r\n      --ti-green-soft: #d1fae5;\r\n      --ti-yellow-soft: #fef3c7;\r\n      --ti-red-soft: #fee2e2;\r\n\r\n      font-family: Arial, Helvetica, sans-serif;\r\n      width: var(--ti-width) !important;\r\n      max-width: var(--ti-width) !important;\r\n      margin: 28px auto !important;\r\n      padding: 0 !important;\r\n      color: var(--ti-text);\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-indices-internacionales,\r\n    #tasando-indices-internacionales * {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    body .elementor-widget-html:has(#tasando-indices-internacionales),\r\n    body .elementor-widget-html:has(#tasando-indices-internacionales) > .elementor-widget-container,\r\n    body .elementor-column:has(#tasando-indices-internacionales),\r\n    body .elementor-container:has(#tasando-indices-internacionales),\r\n    body .e-con:has(#tasando-indices-internacionales),\r\n    body .e-con-inner:has(#tasando-indices-internacionales) {\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      overflow: visible !important;\r\n      margin-left: auto !important;\r\n      margin-right: auto !important;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-panel {\r\n      width: 100%;\r\n      background:\r\n        radial-gradient(circle at top right, rgba(105, 190, 40, 0.13), transparent 260px),\r\n        linear-gradient(180deg, var(--ti-bg-1) 0%, var(--ti-bg-2) 100%);\r\n      border: 1px solid var(--ti-border);\r\n      border-radius: 20px;\r\n      padding: 20px;\r\n      box-shadow: 0 16px 36px rgba(15, 23, 42, 0.11);\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-head {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      align-items: flex-start;\r\n      gap: 16px;\r\n      margin-bottom: 14px;\r\n      flex-wrap: wrap;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-eyebrow {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      width: fit-content;\r\n      padding: 7px 12px;\r\n      border-radius: 999px;\r\n      background: #edf6e8;\r\n      border: 1px solid rgba(105, 190, 40, 0.26);\r\n      color: #12366f;\r\n      font-size: 12px;\r\n      font-weight: 900;\r\n      margin-bottom: 9px;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-dot {\r\n      width: 8px;\r\n      height: 8px;\r\n      border-radius: 999px;\r\n      background: #69be28;\r\n      box-shadow: 0 0 0 4px rgba(105, 190, 40, 0.14);\r\n      flex: 0 0 8px;\r\n    }\r\n\r\n    #tasando-indices-internacionales h2 {\r\n      margin: 0;\r\n      color: var(--ti-text);\r\n      font-size: clamp(24px, 2.4vw, 34px);\r\n      line-height: 1.12;\r\n      letter-spacing: -0.5px;\r\n      font-weight: 950;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-subtitle {\r\n      margin: 6px 0 0 0;\r\n      color: var(--ti-muted);\r\n      font-size: 13px;\r\n      line-height: 1.45;\r\n      max-width: 860px;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-badges {\r\n      display: flex;\r\n      flex-direction: column;\r\n      align-items: flex-end;\r\n      gap: 8px;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-badge {\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      border-radius: 999px;\r\n      padding: 8px 12px;\r\n      font-size: 11px;\r\n      color: var(--ti-muted);\r\n      white-space: nowrap;\r\n      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);\r\n      font-weight: 750;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-badge strong {\r\n      color: #12366f;\r\n      font-weight: 950;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-wrap {\r\n      width: 100%;\r\n      overflow-x: hidden;\r\n      overflow-y: hidden;\r\n      border-radius: 13px;\r\n      border: 1px solid var(--ti-border);\r\n      background: #ffffff;\r\n      margin: 0 auto;\r\n    }\r\n\r\n    #tasando-indices-internacionales table {\r\n      width: 100%;\r\n      min-width: 100%;\r\n      border-collapse: collapse;\r\n      table-layout: fixed;\r\n      background: #ffffff;\r\n    }\r\n\r\n    #tasando-indices-internacionales th,\r\n    #tasando-indices-internacionales td {\r\n      border-bottom: 1px solid #e2e8f0;\r\n      border-right: 1px solid #edf2f7;\r\n      vertical-align: middle;\r\n      overflow: hidden;\r\n      text-overflow: ellipsis;\r\n    }\r\n\r\n    #tasando-indices-internacionales th {\r\n      background: var(--ti-dark);\r\n      color: #ffffff;\r\n      height: 34px;\r\n      padding: 6px 5px;\r\n      font-size: 10.1px;\r\n      line-height: 1.08;\r\n      font-weight: 900;\r\n      text-align: center;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    #tasando-indices-internacionales td {\r\n      padding: 6px 5px;\r\n      font-size: 10.4px;\r\n      line-height: 1.14;\r\n      font-weight: 650;\r\n      color: var(--ti-text);\r\n      white-space: nowrap;\r\n      text-align: center;\r\n    }\r\n\r\n    #tasando-indices-internacionales tbody tr:nth-child(even) td {\r\n      background: #f8fafc;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-num {\r\n      width: 4%;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-indicador {\r\n      width: 15%;\r\n      text-align: left;\r\n      font-weight: 900;\r\n    }\n    \/* TASANDO_INDICES_LINKS_V1_20260928 *\/\n    #tasando-indices-internacionales .ti-indicador a.ti-metric-link {\n      color: #1565c0 !important;\n      font: inherit !important;\n      font-weight: 900 !important;\n      text-decoration: underline !important;\n      text-decoration-thickness: 1px !important;\n      text-underline-offset: 2px !important;\n      text-decoration-color: rgba(21,101,192,.45) !important;\n      border-bottom: 0 !important;\n      transition: color .18s ease, text-decoration-color .18s ease;\n    }\n\n    #tasando-indices-internacionales .ti-indicador a.ti-metric-link:visited {\n      color: #1565c0 !important;\n    }\n\n    #tasando-indices-internacionales .ti-indicador a.ti-metric-link:hover,\n    #tasando-indices-internacionales .ti-indicador a.ti-metric-link:focus {\n      color: #0b4ea2 !important;\n      text-decoration-color: #0b4ea2 !important;\n      text-decoration-thickness: 2px !important;\n    }\n\r\n\r\n    #tasando-indices-internacionales .ti-tipo {\r\n      width: 6.2%;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-exposicion {\r\n      width: 29%;\r\n      text-align: left;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-sesion {\r\n      width: 10%;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-dir {\r\n      width: 5.8%;\r\n      font-weight: 950;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-base,\r\n    #tasando-indices-internacionales .ti-actual {\r\n      width: 9%;\r\n      text-align: right;\r\n      font-variant-numeric: tabular-nums;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-var {\r\n      width: 8%;\r\n      text-align: right;\r\n      font-weight: 950;\r\n      font-variant-numeric: tabular-nums;\r\n    }\r\n\r\n    #tasando-indices-internacionales th.ti-exposicion,\r\n    #tasando-indices-internacionales td.ti-exposicion {\r\n      text-align: left !important;\r\n    }\r\n\r\n    #tasando-indices-internacionales td.ti-exposicion {\r\n      white-space: normal !important;\r\n      overflow: visible !important;\r\n      text-overflow: initial !important;\r\n      line-height: 1.25 !important;\r\n      padding-top: 6px !important;\r\n      padding-bottom: 6px !important;\r\n      word-break: normal !important;\r\n      overflow-wrap: anywhere !important;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-dir-up {\r\n      color: #059669;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-dir-down {\r\n      color: #dc2626;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-var-up-strong {\r\n      background: var(--ti-green-strong) !important;\r\n      color: #064e3b !important;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-var-up-soft {\r\n      background: var(--ti-green-soft) !important;\r\n      color: #065f46 !important;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-var-up-low {\r\n      background: var(--ti-yellow-soft) !important;\r\n      color: #92400e !important;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-var-down {\r\n      background: var(--ti-red-soft) !important;\r\n      color: #991b1b !important;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-var-neutral {\r\n      background: #f8fafc !important;\r\n      color: #475569 !important;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-loading,\r\n    #tasando-indices-internacionales .ti-error {\r\n      padding: 18px;\r\n      border-radius: 13px;\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      color: var(--ti-muted);\r\n      font-size: 13px;\r\n      text-align: center;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-error {\r\n      background: #fff7ed;\r\n      border-color: #fed7aa;\r\n      color: #9a3412;\r\n      text-align: left;\r\n    }\r\n\r\n    #tasando-indices-internacionales .ti-footer {\r\n      margin-top: 11px;\r\n      color: #64748b;\r\n      font-size: 10.8px;\r\n      line-height: 1.4;\r\n    }\r\n\r\n    @media (max-width: 1200px) and (min-width: 701px) {\r\n      #tasando-indices-internacionales {\r\n        width: var(--ti-width-notebook) !important;\r\n        max-width: var(--ti-width-notebook) !important;\r\n      }\r\n\r\n      #tasando-indices-internacionales th,\r\n      #tasando-indices-internacionales td {\r\n        font-size: 9.1px;\r\n        padding: 5px 4px;\r\n      }\r\n\r\n      #tasando-indices-internacionales td.ti-exposicion {\r\n        font-size: 9px;\r\n        line-height: 1.2 !important;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 700px) {\r\n      #tasando-indices-internacionales {\r\n        width: 100% !important;\r\n        max-width: 100% !important;\r\n        padding: 0 10px !important;\r\n        margin: 18px auto !important;\r\n      }\r\n\r\n      #tasando-indices-internacionales .ti-panel {\r\n        padding: 15px;\r\n        border-radius: 18px;\r\n      }\r\n\r\n      #tasando-indices-internacionales h2 {\r\n        font-size: 21px;\r\n      }\r\n\r\n      #tasando-indices-internacionales .ti-badges {\r\n        align-items: flex-start;\r\n      }\r\n\r\n      #tasando-indices-internacionales .ti-wrap {\r\n        overflow-x: auto;\r\n      }\r\n\r\n      #tasando-indices-internacionales table {\r\n        min-width: 1080px;\r\n      }\r\n\r\n      #tasando-indices-internacionales td.ti-exposicion {\r\n        min-width: 290px !important;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"ti-panel\">\r\n    <div class=\"ti-head\">\r\n      <div>\r\n        <div class=\"ti-eyebrow\">\r\n          <span class=\"ti-dot\"><\/span>\r\n          Mercados en l\u00ednea\r\n        <\/div>\r\n\r\n        <h2>\u00cdndices burs\u00e1tiles y se\u00f1ales de mercado<\/h2>\r\n\r\n        <p class=\"ti-subtitle\">\r\n          Lectura din\u00e1mica de principales \u00edndices internacionales, sesi\u00f3n de mercado,\r\n          direcci\u00f3n y variaci\u00f3n porcentual respecto de la base de comparaci\u00f3n.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"ti-badges\">\r\n        <div class=\"ti-badge\" id=\"tiUpdated\">\r\n          Fecha y hora corrida: actualizando...\r\n        <\/div>\r\n\r\n        <div class=\"ti-badge\" id=\"tiCount\">\r\n          Filtro tabla\/web: <strong>\u00cdNDICE<\/strong>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div id=\"tiTableArea\">\r\n      <div class=\"ti-loading\">\r\n        Cargando informaci\u00f3n desde base interna Tasando.com...\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"ti-footer\">\r\n      <strong>Nota:<\/strong> Los datos presentados corresponden a una recolecci\u00f3n automatizada de informaci\u00f3n disponible en portales web que reportan valores de mercados e \u00edndices burs\u00e1tiles. Estos valores var\u00edan durante la jornada, por lo que deben entenderse como una referencia informativa al momento indicado de recolecci\u00f3n de la data, sin constituir recomendaci\u00f3n financiera ni garant\u00eda de actualizaci\u00f3n posterior.\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    (function () {\r\n      const ENDPOINT =\r\n        window.location.origin +\r\n        \"\/propiedades\/wp-json\/tasando\/v1\/sheet\/indicadores-mercado-internacional\";\r\n\r\n      const area = document.getElementById(\"tiTableArea\");\r\n      const updated = document.getElementById(\"tiUpdated\");\r\n      const count = document.getElementById(\"tiCount\");\r\n\r\n      function limpiarTexto(v) {\r\n        if (v === null || v === undefined) return \"\";\r\n        return String(v).trim();\r\n      }\r\n\r\n      function escapeHTML(value) {\r\n        return limpiarTexto(value)\r\n          .replace(\/&\/g, \"&amp;\")\r\n          .replace(\/<\/g, \"&lt;\")\r\n          .replace(\/>\/g, \"&gt;\")\r\n          .replace(\/\"\/g, \"&quot;\")\r\n          .replace(\/'\/g, \"&#039;\");\r\n      }\r\n\r\n      function normalizar(v) {\r\n        return limpiarTexto(v)\r\n          .toUpperCase()\r\n          .normalize(\"NFD\")\r\n          .replace(\/[\\u0300-\\u036f]\/g, \"\")\r\n          .replace(\/[^A-Z0-9]\/g, \"\");\r\n      }\r\n\r\n      function cell(row, index) {\r\n        if (!Array.isArray(row)) return \"\";\r\n        if (index === null || index === undefined) return \"\";\r\n        if (index < 0 || index >= row.length) return \"\";\r\n        return limpiarTexto(row[index]);\r\n      }\r\n\r\n      function buscarCol(headers, aliases) {\r\n        const h = headers.map(normalizar);\r\n        const a = aliases.map(normalizar);\r\n\r\n        for (let i = 0; i < h.length; i++) {\r\n          if (a.includes(h[i])) return i;\r\n        }\r\n\r\n        return null;\r\n      }\r\n\r\n      function normalizarFechaVisible(v) {\r\n        let s = limpiarTexto(v);\r\n\r\n        if (!s) return \"\";\r\n\r\n        let m = s.match(\/Date\\((\\d{4}),(\\d{1,2}),(\\d{1,2})(?:,(\\d{1,2}),(\\d{1,2}),(\\d{1,2}))?\\)\/);\r\n\r\n        if (m) {\r\n          const year = Number(m[1]);\r\n          const month = Number(m[2]) + 1;\r\n          const day = Number(m[3]);\r\n          const hour = Number(m[4] || 0);\r\n          const minute = Number(m[5] || 0);\r\n          const second = Number(m[6] || 0);\r\n\r\n          return (\r\n            String(year).padStart(4, \"0\") +\r\n            \"-\" +\r\n            String(month).padStart(2, \"0\") +\r\n            \"-\" +\r\n            String(day).padStart(2, \"0\") +\r\n            \" \" +\r\n            String(hour).padStart(2, \"0\") +\r\n            \":\" +\r\n            String(minute).padStart(2, \"0\") +\r\n            \":\" +\r\n            String(second).padStart(2, \"0\")\r\n          );\r\n        }\r\n\r\n        m = s.match(\/\\d{4}-\\d{2}-\\d{2}[ T]\\d{2}:\\d{2}(?::\\d{2})?\/);\r\n        if (m) return m[0].replace(\"T\", \" \");\r\n\r\n        m = s.match(\/\\d{2}-\\d{2}-\\d{4}\\s+\\d{2}:\\d{2}(?::\\d{2})?\/);\r\n        if (m) return m[0];\r\n\r\n        m = s.match(\/\\d{2}\\\/\\d{2}\\\/\\d{4}\\s+\\d{2}:\\d{2}(?::\\d{2})?\/);\r\n        if (m) return m[0];\r\n\r\n        return \"\";\r\n      }\r\n\r\n      function detectarFecha(data) {\r\n        \/*\r\n          S\u00f3lo se muestra la fecha real de corrida.\r\n          No se usa updated_at, porque updated_at es hora t\u00e9cnica del proxy\/cache.\r\n        *\/\r\n\r\n        const directos = [\r\n          data.fecha_hora_corrida,\r\n          data.fechaHoraCorrida,\r\n          data.fecha_corrida,\r\n          data.fecha\r\n        ];\r\n\r\n        for (const item of directos) {\r\n          const f = normalizarFechaVisible(item);\r\n          if (f) return f;\r\n        }\r\n\r\n        const allRows = [];\r\n\r\n        if (Array.isArray(data.headers)) allRows.push(data.headers);\r\n\r\n        if (Array.isArray(data.rows)) {\r\n          data.rows.forEach(function (r) {\r\n            allRows.push(r);\r\n          });\r\n        }\r\n\r\n        for (const row of allRows) {\r\n          if (!Array.isArray(row)) continue;\r\n\r\n          const rowText = row.map(limpiarTexto).join(\" | \");\r\n          const rowNorm = normalizar(rowText);\r\n\r\n          if (\r\n            rowNorm.includes(\"FECHAHORACORRIDA\") ||\r\n            (rowNorm.includes(\"FECHA\") && rowNorm.includes(\"HORA\"))\r\n          ) {\r\n            const fRow = normalizarFechaVisible(rowText);\r\n            if (fRow) return fRow;\r\n\r\n            for (let i = 0; i < row.length; i++) {\r\n              const etiqueta = normalizar(row[i]);\r\n\r\n              const f0 = normalizarFechaVisible(row[i]);\r\n              if (f0) return f0;\r\n\r\n              if (etiqueta.includes(\"FECHA\") && etiqueta.includes(\"HORA\")) {\r\n                const f1 = normalizarFechaVisible(cell(row, i + 1));\r\n                const f2 = normalizarFechaVisible(cell(row, i + 2));\r\n\r\n                if (f1) return f1;\r\n                if (f2) return f2;\r\n              }\r\n            }\r\n          }\r\n        }\r\n\r\n        return \"\";\r\n      }\r\n\r\n      function esFilaEncabezado(row) {\r\n        const joined = row.map(normalizar).join(\"|\");\r\n\r\n        return (\r\n          joined.includes(\"INDICADOR\") &&\r\n          (joined.includes(\"TIPO\") || joined.includes(\"DIR\") || joined.includes(\"VAR\"))\r\n        );\r\n      }\r\n\r\n      function detectarTabla(data) {\r\n        const headersProxy = Array.isArray(data.headers) ? data.headers : [];\r\n        const rawRows = Array.isArray(data.rows) ? data.rows : [];\r\n\r\n        const candidatos = [];\r\n\r\n        if (headersProxy.some(function (c) { return limpiarTexto(c) !== \"\"; })) {\r\n          candidatos.push({\r\n            row: headersProxy,\r\n            rawIndex: -1\r\n          });\r\n        }\r\n\r\n        rawRows.forEach(function (row, index) {\r\n          candidatos.push({\r\n            row: row,\r\n            rawIndex: index\r\n          });\r\n        });\r\n\r\n        for (const c of candidatos) {\r\n          if (esFilaEncabezado(c.row)) {\r\n            return {\r\n              headers: c.row,\r\n              rows: c.rawIndex === -1 ? rawRows : rawRows.slice(c.rawIndex + 1)\r\n            };\r\n          }\r\n        }\r\n\r\n        return {\r\n          headers: headersProxy,\r\n          rows: rawRows\r\n        };\r\n      }\r\n\r\n      function parseNumero(valor) {\r\n        let s = limpiarTexto(valor)\r\n          .replace(\"%\", \"\")\r\n          .replace(\"+\", \"\")\r\n          .replace(\/\\s+\/g, \"\")\r\n          .replace(\/[^\\d,.\\-]\/g, \"\");\r\n\r\n        if (!s) return null;\r\n\r\n        if (s.includes(\",\") && s.includes(\".\")) {\r\n          if (s.lastIndexOf(\",\") > s.lastIndexOf(\".\")) {\r\n            s = s.replace(\/\\.\/g, \"\").replace(\",\", \".\");\r\n          } else {\r\n            s = s.replace(\/,\/g, \"\");\r\n          }\r\n        } else if (s.includes(\",\")) {\r\n          s = s.replace(\",\", \".\");\r\n        }\r\n\r\n        const n = Number(s);\r\n\r\n        return Number.isNaN(n) ? null : n;\r\n      }\r\n\r\n      function varClass(valor) {\r\n        const n = parseNumero(valor);\r\n\r\n        if (n === null || n === 0) return \"ti-var-neutral\";\r\n        if (n >= 0.5) return \"ti-var-up-strong\";\r\n        if (n >= 0.2) return \"ti-var-up-soft\";\r\n        if (n > 0) return \"ti-var-up-low\";\r\n\r\n        return \"ti-var-down\";\r\n      }\r\n\r\n      function dirClass(valor) {\r\n        const s = normalizar(valor);\r\n\r\n        if (s.includes(\"SUBE\")) return \"ti-dir-up\";\r\n        if (s.includes(\"BAJA\")) return \"ti-dir-down\";\r\n\r\n        return \"\";\r\n      }\r\n\r\n      function exposicionDetallada(indicador, original) {\r\n        const nombre = normalizar(indicador);\r\n        const expo = limpiarTexto(original);\r\n\r\n        const esGenerico =\r\n          !expo ||\r\n          normalizar(expo) === \"REGIONAL\" ||\r\n          normalizar(expo) === \"GLOBAL\" ||\r\n          normalizar(expo) === \"INTERNACIONAL\";\r\n\r\n        if (!esGenerico) return expo;\r\n\r\n        const mapa = [\r\n          {\r\n            claves: [\"EUROSTOXX50\", \"EUROSTOXX\"],\r\n            texto: \"Alemania, Francia, Italia, Espa\u00f1a, Pa\u00edses Bajos, B\u00e9lgica, Finlandia e Irlanda\"\r\n          },\r\n          {\r\n            claves: [\"STOXX600\"],\r\n            texto: \"Alemania, Francia, Reino Unido, Suiza, Pa\u00edses Bajos, Suecia, Italia, Espa\u00f1a, Dinamarca, Finlandia, Noruega, B\u00e9lgica, Austria, Irlanda, Portugal y Luxemburgo\"\r\n          },\r\n          {\r\n            claves: [\"MSCIEMERGINGMARKETS\", \"MSCIEMERGING\"],\r\n            texto: \"China, India, Taiw\u00e1n, Corea del Sur, Brasil, Arabia Saudita, Sud\u00e1frica, M\u00e9xico, Indonesia, Tailandia, Malasia, Emiratos \u00c1rabes Unidos, Qatar, Polonia, Turqu\u00eda, Chile, Per\u00fa y Colombia\"\r\n          },\r\n          {\r\n            claves: [\"MSCIACASIAPACIFIC\", \"MSCIASIAPACIFIC\", \"MSCIACASIA\"],\r\n            texto: \"China, Jap\u00f3n, Hong Kong, India, Australia, Corea del Sur, Taiw\u00e1n, Singapur, Nueva Zelanda, Indonesia, Malasia, Tailandia y Filipinas\"\r\n          },\r\n          {\r\n            claves: [\"MSCIEMLATINAMERICA\", \"MSCILATINAMERICA\", \"LATINAMERICA\"],\r\n            texto: \"Brasil, M\u00e9xico, Chile, Per\u00fa y Colombia\"\r\n          },\r\n          {\r\n            claves: [\"SP500FUTURES\", \"S&P500FUTURES\", \"SP500\", \"S&P500\", \"NASDAQ100\", \"NASDAQCOMPOSITE\", \"DOWJONES\", \"RUSSELL2000\"],\r\n            texto: \"Estados Unidos\"\r\n          },\r\n          {\r\n            claves: [\"VIX\"],\r\n            texto: \"Estados Unidos, Global\"\r\n          },\r\n          {\r\n            claves: [\"DAX\"],\r\n            texto: \"Alemania\"\r\n          },\r\n          {\r\n            claves: [\"FTSEMIB\"],\r\n            texto: \"Italia\"\r\n          },\r\n          {\r\n            claves: [\"CAC40\"],\r\n            texto: \"Francia\"\r\n          },\r\n          {\r\n            claves: [\"IBEX35\"],\r\n            texto: \"Espa\u00f1a\"\r\n          },\r\n          {\r\n            claves: [\"FTSE100\"],\r\n            texto: \"Reino Unido\"\r\n          },\r\n          {\r\n            claves: [\"NIKKEI225\", \"TOPIX\"],\r\n            texto: \"Jap\u00f3n\"\r\n          },\r\n          {\r\n            claves: [\"KOSPI\"],\r\n            texto: \"Corea del Sur\"\r\n          },\r\n          {\r\n            claves: [\"TAIWANWEIGHTED\"],\r\n            texto: \"Taiw\u00e1n\"\r\n          },\r\n          {\r\n            claves: [\"SHANGHAICOMPOSITE\"],\r\n            texto: \"China\"\r\n          },\r\n          {\r\n            claves: [\"HANGSENG\"],\r\n            texto: \"Hong Kong, China\"\r\n          },\r\n          {\r\n            claves: [\"BSESENSEX30\", \"SENSEX\", \"NIFTY50\"],\r\n            texto: \"India\"\r\n          },\r\n          {\r\n            claves: [\"SPASX200\", \"S&PASX200\"],\r\n            texto: \"Australia\"\r\n          },\r\n          {\r\n            claves: [\"BOVESPA\"],\r\n            texto: \"Brasil\"\r\n          },\r\n          {\r\n            claves: [\"COLCAP\"],\r\n            texto: \"Colombia\"\r\n          },\r\n          {\r\n            claves: [\"SPBMVIPC\", \"BMVIPC\"],\r\n            texto: \"M\u00e9xico\"\r\n          },\r\n          {\r\n            claves: [\"SPTSXCOMPOSITE\", \"TSXCOMPOSITE\"],\r\n            texto: \"Canad\u00e1\"\r\n          },\r\n          {\r\n            claves: [\"IPSA\"],\r\n            texto: \"Chile\"\r\n          },\r\n          {\r\n            claves: [\"JAKARTACOMPOSITE\"],\r\n            texto: \"Indonesia\"\r\n          }\r\n        ];\r\n\r\n        for (const item of mapa) {\r\n          for (const clave of item.claves) {\r\n            if (nombre.includes(normalizar(clave))) {\r\n              return item.texto;\r\n            }\r\n          }\r\n        }\r\n\r\n        return expo || \"No clasificado\";\r\n      }\n      \/* TASANDO_INDICES_LINKS_V1_20260928\n         Fuente primaria: Investing.com.\n         Si un indicador futuro no est\u00e1 mapeado, usa Yahoo Finance como respaldo. *\/\n      const enlacesMetricas = {\n        \"HANGSENG\": \"https:\/\/es.investing.com\/indices\/hang-sen-40\",\n        \"SPASX200\": \"https:\/\/es.investing.com\/indices\/aus-200\",\n        \"CAC40\": \"https:\/\/es.investing.com\/indices\/france-40\",\n        \"STOXX600\": \"https:\/\/es.investing.com\/indices\/stoxx-600\",\n        \"EUROSTOXX50\": \"https:\/\/es.investing.com\/indices\/eu-stoxx50\",\n        \"SPBMVIPC\": \"https:\/\/es.investing.com\/indices\/ipc\",\n        \"FTSE100\": \"https:\/\/es.investing.com\/indices\/uk-100\",\n        \"DAX\": \"https:\/\/es.investing.com\/indices\/germany-30\",\n        \"BOVESPA\": \"https:\/\/es.investing.com\/indices\/bovespa\",\n        \"FTSEMIB\": \"https:\/\/es.investing.com\/indices\/it-mib-40\",\n        \"TAIWANWEIGHTED\": \"https:\/\/es.investing.com\/indices\/taiwan-weighted\",\n        \"TOPIX\": \"https:\/\/es.investing.com\/indices\/topix\",\n        \"RUSSELL2000\": \"https:\/\/es.investing.com\/indices\/smallcap-2000\",\n        \"IBEX35\": \"https:\/\/es.investing.com\/indices\/spain-35\",\n        \"COLCAP\": \"https:\/\/es.investing.com\/indices\/colcap\",\n        \"SP500FUTURES\": \"https:\/\/es.investing.com\/indices\/us-spx-500-futures\",\n        \"DOWJONES\": \"https:\/\/es.investing.com\/indices\/us-30\",\n        \"SP500\": \"https:\/\/es.investing.com\/indices\/us-spx-500\",\n        \"NIKKEI225\": \"https:\/\/es.investing.com\/indices\/japan-ni225\",\n        \"NASDAQCOMPOSITE\": \"https:\/\/es.investing.com\/indices\/nasdaq-composite\",\n        \"SPTSXCOMPOSITE\": \"https:\/\/es.investing.com\/indices\/s-p-tsx-composite\",\n        \"MSCIACASIAPACIFIC\": \"https:\/\/es.investing.com\/indices\/msci-ac-asia-pacific\",\n        \"NASDAQ100\": \"https:\/\/es.investing.com\/indices\/nq-100\",\n        \"IPSA\": \"https:\/\/es.investing.com\/indices\/ipsa\",\n        \"MSCIEMERGINGMARKETS\": \"https:\/\/es.investing.com\/indices\/msci-emerging-markets\",\n        \"MSCIEMLATINAMERICA\": \"https:\/\/es.investing.com\/indices\/msci-em-latin-america\",\n        \"JAKARTACOMPOSITE\": \"https:\/\/es.investing.com\/indices\/idx-composite\",\n        \"BSESENSEX30\": \"https:\/\/es.investing.com\/indices\/sensex\",\n        \"NIFTY50\": \"https:\/\/es.investing.com\/indices\/s-p-cnx-nifty\",\n        \"SHANGHAICOMPOSITE\": \"https:\/\/es.investing.com\/indices\/shanghai-composite\",\n        \"KOSPI\": \"https:\/\/es.investing.com\/indices\/kospi\"\n      };\n\n      function urlMetrica(indicador) {\n        const key = normalizar(indicador);\n\n        if (enlacesMetricas[key]) {\n          return {\n            url: enlacesMetricas[key],\n            proveedor: \"Investing.com\"\n          };\n        }\n\n        return {\n          url: \"https:\/\/finance.yahoo.com\/lookup?s=\" + encodeURIComponent(limpiarTexto(indicador)),\n          proveedor: \"Yahoo Finance\"\n        };\n      }\n\r\n\r\n      function numeroFila(valor, index) {\r\n        const v = limpiarTexto(valor);\r\n\r\n        return v ? v : String(index + 1).padStart(3, \"0\");\r\n      }\r\n\r\n      function render(data) {\r\n        if (!data || data.ok !== true) {\r\n          throw new Error((data && data.error) ? data.error : \"Respuesta inv\u00e1lida del proxy.\");\r\n        }\r\n\r\n        const tabla = detectarTabla(data);\r\n        const headers = tabla.headers;\r\n        const rawRows = tabla.rows;\r\n\r\n        const idxNum = buscarCol(headers, [\"N\u00b0\", \"N\u00ba\", \"N\", \"#\", \"NUMERO\", \"NRO\"]);\r\n        const idxIndicador = buscarCol(headers, [\"INDICADOR\", \"NOMBRE\"]);\r\n        const idxTipo = buscarCol(headers, [\"TIPO\"]);\r\n        const idxExpo = buscarCol(headers, [\"EXPOSICION\", \"EXPOSICI\u00d3N\", \"PAIS\", \"PA\u00cdS\", \"PAISES\", \"PA\u00cdSES\", \"REGION\", \"REGI\u00d3N\"]);\r\n        const idxSesion = buscarCol(headers, [\"SESION\", \"SESI\u00d3N\", \"ESTADO\", \"ESTADOSESION\"]);\r\n        const idxDir = buscarCol(headers, [\"DIR\", \"DIRECCION\", \"DIRECCI\u00d3N\", \"TENDENCIA\"]);\r\n        const idxBase = buscarCol(headers, [\"BASE_VAR\", \"BASEVAR\", \"BASE\", \"CIERREANT\", \"CIERREANTERIOR\", \"APERTURA\"]);\r\n        const idxActual = buscarCol(headers, [\"VALOR ACTUAL\", \"VALOR_ACTUAL\", \"VALORACTUAL\", \"ACTUAL\", \"ULTIMO\", \"\u00daLTIMO\"]);\r\n        const idxVar = buscarCol(headers, [\"VAR. %\", \"VAR %\", \"VAR_%\", \"VAR%\", \"VARIACION\", \"VARIACI\u00d3N\", \"VAR\"]);\r\n\r\n        if (idxIndicador === null) {\r\n          throw new Error(\"No se detect\u00f3 columna INDICADOR.\");\r\n        }\r\n\r\n        const rows = rawRows.filter(function (row) {\r\n          const ind = cell(row, idxIndicador);\r\n\r\n          if (!ind || normalizar(ind) === \"INDICADOR\") return false;\r\n\r\n          if (idxTipo === null) return true;\r\n\r\n          const tipo = normalizar(cell(row, idxTipo));\r\n\r\n          return !tipo || tipo === \"INDICE\" || tipo === \"INDICES\";\r\n        });\r\n\r\n        const fecha = detectarFecha(data);\r\n\r\n        updated.innerHTML = fecha\r\n          ? \"Fecha y hora corrida: <strong>\" + escapeHTML(fecha) + \"<\/strong>\"\r\n          : \"Fecha y hora corrida: <strong>no informada en proxy<\/strong>\";\r\n\r\n        count.innerHTML =\r\n          \"Filtro tabla\/web: <strong>\u00cdNDICE<\/strong> \u00b7 \" +\r\n          escapeHTML(rows.length) +\r\n          \" registros\";\r\n\r\n        if (!rows.length) {\r\n          area.innerHTML =\r\n            '<div class=\"ti-error\"><strong>No se encontraron registros v\u00e1lidos para mostrar.<\/strong><\/div>';\r\n          return;\r\n        }\r\n\r\n        let html = \"\";\r\n\r\n        html += '<div class=\"ti-wrap\">';\r\n        html += '<table>';\r\n        html += '<thead>';\r\n        html += '<tr>';\r\n        html += '<th class=\"ti-num\">N\u00b0<\/th>';\r\n        html += '<th class=\"ti-indicador\">INDICADOR<\/th>';\r\n        html += '<th class=\"ti-tipo\">TIPO<\/th>';\r\n        html += '<th class=\"ti-exposicion\">EXPOSICI\u00d3N<\/th>';\r\n        html += '<th class=\"ti-sesion\">SESI\u00d3N<\/th>';\r\n        html += '<th class=\"ti-dir\">DIR<\/th>';\r\n        html += '<th class=\"ti-base\">BASE_VAR<\/th>';\r\n        html += '<th class=\"ti-actual\">VALOR ACTUAL<\/th>';\r\n        html += '<th class=\"ti-var\">VAR. %<\/th>';\r\n        html += '<\/tr>';\r\n        html += '<\/thead>';\r\n        html += '<tbody>';\r\n\r\n        rows.forEach(function (row, index) {\r\n          const indicador = cell(row, idxIndicador);\r\n          const expo = exposicionDetallada(indicador, idxExpo !== null ? cell(row, idxExpo) : \"\");\r\n          const dir = idxDir !== null ? cell(row, idxDir) : \"\";\r\n          const variacion = idxVar !== null ? cell(row, idxVar) : \"\";\r\n\r\n          html += '<tr>';\r\n\r\n          html +=\r\n            '<td class=\"ti-num\">' +\r\n            escapeHTML(numeroFila(idxNum !== null ? cell(row, idxNum) : \"\", index)) +\r\n            '<\/td>';\n          const detalleMetrica = urlMetrica(indicador);\n\n          html +=\n            '<td class=\"ti-indicador\" title=\"' +\n            escapeHTML(indicador) +\n            '\">' +\n            '<a class=\"ti-metric-link\" href=\"' +\n            escapeHTML(detalleMetrica.url) +\n            '\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"Abrir ' +\n            escapeHTML(indicador) +\n            ' en ' +\n            escapeHTML(detalleMetrica.proveedor) +\n            '\">' +\n            escapeHTML(indicador) +\n            '<\/a>' +\n            '<\/td>';\r\n\r\n          html +=\r\n            '<td class=\"ti-tipo\">' +\r\n            escapeHTML(idxTipo !== null ? cell(row, idxTipo) : \"INDICE\") +\r\n            '<\/td>';\r\n\r\n          html +=\r\n            '<td class=\"ti-exposicion\" title=\"' +\r\n            escapeHTML(expo) +\r\n            '\">' +\r\n            escapeHTML(expo) +\r\n            '<\/td>';\r\n\r\n          html +=\r\n            '<td class=\"ti-sesion\">' +\r\n            escapeHTML(idxSesion !== null ? cell(row, idxSesion) : \"\") +\r\n            '<\/td>';\r\n\r\n          html +=\r\n            '<td class=\"ti-dir ' +\r\n            dirClass(dir) +\r\n            '\">' +\r\n            escapeHTML(dir) +\r\n            '<\/td>';\r\n\r\n          html +=\r\n            '<td class=\"ti-base\">' +\r\n            escapeHTML(idxBase !== null ? cell(row, idxBase) : \"\") +\r\n            '<\/td>';\r\n\r\n          html +=\r\n            '<td class=\"ti-actual\">' +\r\n            escapeHTML(idxActual !== null ? cell(row, idxActual) : \"\") +\r\n            '<\/td>';\r\n\r\n          html +=\r\n            '<td class=\"ti-var ' +\r\n            varClass(variacion) +\r\n            '\">' +\r\n            escapeHTML(variacion) +\r\n            '<\/td>';\r\n\r\n          html += '<\/tr>';\r\n        });\r\n\r\n        html += '<\/tbody>';\r\n        html += '<\/table>';\r\n        html += '<\/div>';\r\n\r\n        area.innerHTML = html;\r\n      }\r\n\r\n      function renderError(error) {\r\n        updated.textContent = \"Fecha y hora corrida: sin actualizaci\u00f3n\";\r\n        count.innerHTML = \"Filtro tabla\/web: <strong>\u00cdNDICE<\/strong>\";\r\n\r\n        area.innerHTML =\r\n          '<div class=\"ti-error\">' +\r\n          '<strong>No fue posible cargar la tabla.<\/strong><br>' +\r\n          escapeHTML(error.message || error) +\r\n          '<\/div>';\r\n      }\r\n\r\n      const qs = new URLSearchParams(window.location.search);\r\n\r\n      const url =\r\n        ENDPOINT +\r\n        (qs.get(\"refresh\") === \"1\" ? \"?refresh=1&_=\" : \"?_=\") +\r\n        Date.now();\r\n\r\n      fetch(url, {\r\n        method: \"GET\",\r\n        credentials: \"same-origin\",\r\n        cache: \"no-store\"\r\n      })\r\n        .then(function (response) {\r\n          if (!response.ok) throw new Error(\"HTTP \" + response.status);\r\n          return response.json();\r\n        })\r\n        .then(render)\r\n        .catch(renderError);\r\n    })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d0ea168 elementor-widget elementor-widget-html\" data-id=\"d0ea168\" data-element_type=\"widget\" data-e-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\/* V2: usa NOTICIAS_CANDIDATAS para mostrar 2 internacionales y 2 nacionales\n   por mejor PUNTAJE_EDITORIAL, excluyendo la noticia destacada superior. *\/\n(() => {\n  if (window.tasandoNoticiasV2) return;\n  window.tasandoNoticiasV2 = true;\n\n  const style=document.createElement('style');\n  style.textContent=`\n  body.page-id-12661 #tasando-top-internacional .card,\n  body.page-id-12661 #tasando-top-nacional .card{height:100%;}\n  body.page-id-12661 .tasando-columna-titulo{\n    font-size:20px!important;\n    line-height:1.2!important;\n    font-weight:800!important;\n    margin:0 0 18px!important;\n    padding:0!important;\n  }\n  body.page-id-12661 #tasando-top-internacional .tasando-columna-titulo{color:#fff!important;}\n  body.page-id-12661 #tasando-top-nacional .tasando-columna-titulo{color:#173b70!important;}\n  `;\n  document.head.append(style);\n\n  const SHEET_ID='1CWF86IVJdHd4SU9413W4RKN2z_QAa3z0guqs2bqxdDo';\n  const URL_CANDIDATAS='https:\/\/docs.google.com\/spreadsheets\/d\/'+SHEET_ID+'\/gviz\/tq?sheet=NOTICIAS_CANDIDATAS&headers=1&tqx=out:json';\n  const URL_DESTACADA='https:\/\/docs.google.com\/spreadsheets\/d\/'+SHEET_ID+'\/gviz\/tq?sheet=NOTICIA_DESTACADA&headers=1&tqx=out:json';\n\n  const crear=(tag,clase,texto)=>{\n    const el=document.createElement(tag);\n    if(clase) el.className=clase;\n    el.textContent=texto||'';\n    return el;\n  };\n\n  const fecha=s=>{\n    s=String(s||'').trim();\n    if(!s) return 'Fecha no disponible';\n    if(\/^\\d{4}-\\d{2}-\\d{2}$\/.test(s)) return s.split('-').reverse().join('\/')+' (hora no informada)';\n    const d=new Date(s);\n    return Number.isNaN(d.getTime())\n      ? 'Fecha no disponible'\n      : new Intl.DateTimeFormat('es-CL',{\n          dateStyle:'short',\n          timeStyle:'short',\n          timeZone:'America\/Santiago'\n        }).format(d);\n  };\n\n  const numero=v=>{\n    const n=Number(String(v??'').replace(',','.'));\n    return Number.isFinite(n)?n:0;\n  };\n\n  async function leerHoja(url){\n    const response=await fetch(url+'&_='+Math.floor(Date.now()\/300000),{\n      signal:AbortSignal.timeout(15000),\n      credentials:'omit',\n      cache:'no-store'\n    });\n    if(!response.ok) throw new Error('HTTP '+response.status);\n    const raw=await response.text();\n    const start=raw.indexOf('{'), end=raw.lastIndexOf('}');\n    if(start<0||end<start) throw new Error('Respuesta no v\u00e1lida');\n    const data=JSON.parse(raw.slice(start,end+1));\n    if(data.status!=='ok'||!data.table) throw new Error('Hoja no disponible');\n    const keys=data.table.cols.map(c=>String(c.label||c.id||'').trim());\n    return data.table.rows.map(r=>{\n      const o={};\n      keys.forEach((k,i)=>{\n        const c=r.c?.[i];\n        o[k]=c==null?'':String(c.f!=null?c.f:(c.v??''));\n      });\n      return o;\n    });\n  }\n\n  function claveNoticia(n){\n    return String(n.ID_REGISTRO||'').trim() || String(n.URL||'').trim();\n  }\n\n  function topDos(rows,ambito,destacada){\n    const claveDest=claveNoticia(destacada||{});\n    const urlDest=String(destacada?.URL||'').trim();\n    return rows\n      .filter(n=>\n        String(n.AMBITO||'').trim().toUpperCase()===ambito &&\n        String(n.TITULAR||'').trim() &&\n        \/^https?:\\\/\\\/\/i.test(String(n.URL||'').trim()) &&\n        (!claveDest || claveNoticia(n)!==claveDest) &&\n        (!urlDest || String(n.URL||'').trim()!==urlDest)\n      )\n      .sort((a,b)=>{\n        const ds=numero(b.PUNTAJE_EDITORIAL)-numero(a.PUNTAJE_EDITORIAL);\n        if(ds) return ds;\n        return new Date(b.FECHA_PUBLICACION||0)-new Date(a.FECHA_PUBLICACION||0);\n      })\n      .slice(0,2);\n  }\n\n  function renderAmbito(rows,ambito){\n    const root=document.getElementById('tasando-top-'+ambito.toLowerCase());\n    if(!root) return;\n    const card=root.querySelector('.card');\n    if(!card) return;\n\n    const fragment=document.createDocumentFragment();\n    const titulo=ambito==='INTERNACIONAL'?'Internacional':'Nacional';\n    fragment.append(crear('h2','tasando-columna-titulo',titulo));\n\n    if(!rows.length){\n      const aviso=crear('p','summary noticias-aviso','No hay noticias disponibles para este \u00e1mbito en la selecci\u00f3n editorial actual.');\n      fragment.append(aviso);\n      card.replaceChildren(fragment);\n      return;\n    }\n\n    rows.forEach((n,i)=>{\n      const article=crear('article','tasando-noticia');\n      if(i){\n        article.style.borderTop='1px solid rgba(130,140,155,.35)';\n        article.style.marginTop='16px';\n        article.style.paddingTop='16px';\n      }\n\n      const head=crear('div','head');\n      head.append(crear('span','source',\n        String(n.FUENTE||'Fuente')+' \u00b7 '+fecha(n.FECHA_PUBLICACION)\n      ));\n\n      const link=crear('a','title',n.TITULAR);\n      link.href=n.URL;\n      link.target='_blank';\n      link.rel='noopener noreferrer';\n\n      article.append(head,link);\n\n      if(String(n.RESUMEN||'').trim()){\n        article.append(crear('p','summary',n.RESUMEN));\n      }\n\n      if(String(n.METRICAS_RELACIONADAS||'').trim()){\n        const p=crear(\n          'p',\n          'summary',\n          'Contexto tem\u00e1tico: '+n.METRICAS_RELACIONADAS+'. No implica una relaci\u00f3n causal comprobada.'\n        );\n        p.style.marginTop='8px';\n        article.append(p);\n      }\n\n      if(String(n.PROYECCION_EXTRACTO||'').trim()){\n        const details=crear('details','summary');\n        details.style.marginTop='8px';\n        details.append(\n          crear('summary','', 'Perspectiva publicada por la fuente'),\n          crear('p','',n.PROYECCION_EXTRACTO)\n        );\n        article.append(details);\n      }\n\n      const foot=crear('div','footer');\n      const read=crear('a','read','Leer fuente \u2197');\n      read.href=n.URL;\n      read.target='_blank';\n      read.rel='noopener noreferrer';\n      foot.append(read);\n      article.append(foot);\n      fragment.append(article);\n    });\n\n    const capture=rows[0].FECHA_CAPTURA;\n    if(capture){\n      const d=new Date(capture);\n      const stale=!Number.isNaN(d.getTime()) && (Date.now()-d.getTime()>36*3600000);\n      const status=crear(\n        'p',\n        'summary',\n        '\u00daltima recopilaci\u00f3n: '+fecha(capture)+(stale?' \u00b7 Se conserva la \u00faltima selecci\u00f3n disponible.':'')\n      );\n      status.style.marginTop='12px';\n      fragment.append(status);\n    }\n\n    card.replaceChildren(fragment);\n    card.dataset.noticiasActualizadas='si';\n  }\n\n  async function cargar(){\n    try{\n      const [candidatas,destacadas]=await Promise.all([\n        leerHoja(URL_CANDIDATAS),\n        leerHoja(URL_DESTACADA).catch(()=>[])\n      ]);\n      const destacada=destacadas.find(n=>String(n.TITULAR||'').trim())||null;\n      renderAmbito(topDos(candidatas,'INTERNACIONAL',destacada),'INTERNACIONAL');\n      renderAmbito(topDos(candidatas,'NACIONAL',destacada),'NACIONAL');\n    }catch(error){\n      for(const root of document.querySelectorAll('#tasando-top-internacional .card,#tasando-top-nacional .card')){\n        root.replaceChildren(\n          crear('p','summary noticias-aviso','No se pudo consultar la selecci\u00f3n editorial de noticias. Revise la \u00faltima corrida del scraper.')\n        );\n      }\n      console.warn('Tasando noticias V2:',error);\n    }\n  }\n\n  if(document.readyState==='loading'){\n    document.addEventListener('DOMContentLoaded',cargar,{once:true});\n  }else{\n    cargar();\n  }\n})();\n<\/script>\n<section id=\"tasando-top-internacional\">\r\n<style>\r\n#tasando-top-internacional,\r\n#tasando-top-internacional *{\r\n  box-sizing:border-box;\r\n}\r\n\r\n#tasando-top-internacional{\r\n  width:min(1180px,calc(100vw - 60px));\r\n  margin:0 auto 6px auto !important;\r\n  padding:0 !important;\r\nclear:both;\r\n  font-family:\"Segoe UI\",Arial,sans-serif;\r\n}\r\n\r\n#tasando-top-internacional .card{\r\n  background:linear-gradient(135deg,#173b70,#214f8a);\r\n  border:1px solid #173b70;\r\n  border-radius:9px;\r\n\r\n  \/* PADDING MUY REDUCIDO *\/\r\n  padding:6px 9px 5px !important;\r\n\r\n  box-shadow:0 2px 7px rgba(15,23,42,.07);\r\n}\r\n\r\n#tasando-top-internacional .head{\r\n  display:flex;\r\n  justify-content:space-between;\r\n  align-items:center;\r\n  gap:6px;\r\n\r\n  \/* MENOS ESPACIO *\/\r\n  margin:0 0 3px 0 !important;\r\n}\r\n\r\n#tasando-top-internacional .label,\r\n#tasando-top-internacional .source{\r\n  font-size:8.5px;\r\n  line-height:1;\r\n  font-weight:800;\r\n  border-radius:20px;\r\n\r\n  \/* CHIPS M\u00c1S PEQUE\u00d1OS *\/\r\n  padding:3px 6px !important;\r\n}\r\n\r\n#tasando-top-internacional .label{\r\n  background:#fff;\r\n  color:#173b70;\r\n}\r\n\r\n#tasando-top-internacional .source{\r\n  background:rgba(255,255,255,.12);\r\n  color:#fff;\r\n}\r\n\r\n#tasando-top-internacional .title{\r\n  display:block;\r\n\r\n  \/* MENOS MARGEN *\/\r\n  margin:0 0 2px 0 !important;\r\n\r\n  padding:0 !important;\r\n\r\n  color:#ffd84d !important;\r\n\r\n  font-size:16px;\r\n  line-height:1.13;\r\n  font-weight:850;\r\n\r\n  text-decoration:none !important;\r\n}\r\n\r\n#tasando-top-internacional .summary{\r\n  margin:0 !important;\r\n  padding:0 !important;\r\n\r\n  color:rgba(255,255,255,.88);\r\n\r\n  font-size:11.2px;\r\n  line-height:1.28;\r\n}\r\n\r\n#tasando-top-internacional .footer{\r\n  text-align:right;\r\n\r\n  \/* CASI SIN ESPACIO *\/\r\n  margin:2px 0 0 0 !important;\r\n  padding:0 !important;\r\n}\r\n\r\n#tasando-top-internacional .read{\r\n  color:#ffaaa3 !important;\r\n\r\n  font-size:10px;\r\n  font-weight:800;\r\n\r\n  text-decoration:none !important;\r\n}\r\n\r\n@media(max-width:700px){\r\n\r\n  #tasando-top-internacional{\r\n    width:calc(100vw - 16px);\r\n    margin-bottom:5px !important;\r\n  }\r\n\r\n  #tasando-top-internacional .card{\r\n    padding:6px 8px 5px !important;\r\n  }\r\n\r\n  #tasando-top-internacional .title{\r\n    font-size:14px;\r\n  }\r\n\r\n  #tasando-top-internacional .summary{\r\n    font-size:10.8px;\r\n  }\r\n}\r\n<\/style>\n  <div class=\"card\">\n    <div class=\"head\">\n      <h2 class=\"tasando-columna-titulo\">Internacional<\/h2>\n      <span class=\"source\">Actualizaci\u00f3n autom\u00e1tica<\/span>\n    <\/div>\n    <p class=\"summary noticias-aviso\">Cargando noticias...<\/p>\n  <\/div>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d734a68 elementor-widget elementor-widget-html\" data-id=\"d734a68\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section id=\"tasando-top-nacional\">\n<style>\n#tasando-top-nacional,\n#tasando-top-nacional *{box-sizing:border-box;}\n\n#tasando-top-nacional{\n  width:100%;\n  margin:0!important;\n  padding:0!important;\n  font-family:\"Segoe UI\",Arial,sans-serif;\n}\n\n#tasando-top-nacional .card{\n  width:100%;\n  height:100%;\n  background:linear-gradient(135deg,#eee7e6,#f5f1f0);\n  border:1px solid #d9ccca;\n  border-radius:9px;\n  padding:16px 18px!important;\n  box-shadow:0 2px 7px rgba(15,23,42,.05);\n}\n\n#tasando-top-nacional .head{\n  display:flex;\n  justify-content:space-between;\n  align-items:center;\n  flex-wrap:wrap;\n  gap:8px;\n  margin:0 0 8px 0!important;\n}\n\n#tasando-top-nacional .source{\n  font-size:8.5px;\n  line-height:1;\n  font-weight:800;\n  border-radius:20px;\n  padding:3px 6px!important;\n  background:#fff;\n  color:#6f5559;\n  border:1px solid #ddd0ce;\n}\n\n#tasando-top-nacional .title{\n  display:block;\n  margin:0 0 6px 0!important;\n  padding:0!important;\n  color:#173b70!important;\n  font-size:16px;\n  line-height:1.13;\n  font-weight:850;\n  text-decoration:none!important;\n}\n\n#tasando-top-nacional .summary{\n  margin:0!important;\n  padding:0!important;\n  color:#4f5259;\n  font-size:11.2px;\n  line-height:1.28;\n}\n\n#tasando-top-nacional .footer{\n  text-align:right;\n  margin:8px 0 0 0!important;\n  padding:0!important;\n}\n\n#tasando-top-nacional .read{\n  color:#8b5f65!important;\n  font-size:10px;\n  font-weight:800;\n  text-decoration:none!important;\n}\n\n@media(max-width:700px){\n  #tasando-top-nacional .title{font-size:14px;}\n  #tasando-top-nacional .summary{font-size:10.8px;}\n}\n<\/style>\n\n<div class=\"card\">\n  <div class=\"head\">\n    <h2 class=\"tasando-columna-titulo\">Nacional<\/h2>\n    <span class=\"source\">Actualizaci\u00f3n autom\u00e1tica<\/span>\n  <\/div>\n  <p class=\"summary noticias-aviso\">Cargando noticias...<\/p>\n<\/div>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a88d44f elementor-widget elementor-widget-html\" data-id=\"a88d44f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\r\n     TASANDO.COM | HTML 1\r\n     HERO EST\u00c1TICO MERCADOS INTERNACIONALES\r\n     Ubicaci\u00f3n: arriba del resumen din\u00e1mico.\r\n     No lee Google Sheets.\r\n     ========================================================= -->\r\n\r\n<section id=\"tasando-mercados-hero-v12\">\r\n  <style>\r\n    #tasando-mercados-hero-v12 {\r\n      --tm-max: min(1240px, calc(100vw - 120px));\r\n      --tm-max-tablet: calc(100vw - 48px);\r\n      --tm-blue: #102a54;\r\n      --tm-green: #69be28;\r\n\r\n      width: var(--tm-max) !important;\r\n      max-width: var(--tm-max) !important;\r\n      margin: 24px auto 18px auto !important;\r\n      padding: 0 !important;\r\n      font-family: Arial, Helvetica, sans-serif;\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-mercados-hero-v12,\r\n    #tasando-mercados-hero-v12 * {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    body .elementor-widget-html:has(#tasando-mercados-hero-v12),\r\n    body .elementor-widget-html:has(#tasando-mercados-hero-v12) > .elementor-widget-container,\r\n    body .elementor-column:has(#tasando-mercados-hero-v12),\r\n    body .elementor-container:has(#tasando-mercados-hero-v12),\r\n    body .e-con:has(#tasando-mercados-hero-v12),\r\n    body .e-con-inner:has(#tasando-mercados-hero-v12) {\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      overflow: visible !important;\r\n      margin-left: auto !important;\r\n      margin-right: auto !important;\r\n    }\r\n\r\n    #tasando-mercados-hero-v12 .tm-hero {\r\n      width: 100%;\r\n      border-radius: 22px;\r\n      padding: 30px 34px;\r\n      color: #ffffff;\r\n      background:\r\n        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),\r\n        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),\r\n        radial-gradient(circle at 82% 20%, rgba(105,190,40,0.22), transparent 260px),\r\n        linear-gradient(135deg, #14315d 0%, #102a54 54%, #08182f 100%);\r\n      background-size: 40px 40px, 40px 40px, auto, auto;\r\n      display: grid;\r\n      grid-template-columns: 1.28fr 0.92fr;\r\n      gap: 30px;\r\n      align-items: center;\r\n      overflow: hidden;\r\n      box-shadow: 0 18px 42px rgba(15, 23, 42, 0.16);\r\n    }\r\n\r\n    #tasando-mercados-hero-v12 .tm-hero-pill {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      width: fit-content;\r\n      padding: 8px 14px;\r\n      border-radius: 999px;\r\n      background: rgba(255,255,255,0.12);\r\n      border: 1px solid rgba(255,255,255,0.22);\r\n      color: #ffffff;\r\n      font-size: 12px;\r\n      font-weight: 800;\r\n      margin-bottom: 13px;\r\n      backdrop-filter: blur(3px);\r\n    }\r\n\r\n    #tasando-mercados-hero-v12 .tm-hero-dot {\r\n      width: 9px;\r\n      height: 9px;\r\n      border-radius: 50%;\r\n      background: var(--tm-green);\r\n      box-shadow: 0 0 0 4px rgba(105,190,40,0.18);\r\n      flex: 0 0 auto;\r\n    }\r\n\r\n    #tasando-mercados-hero-v12 .tm-hero-title {\r\n      margin: 0 0 14px 0;\r\n      color: #ffffff;\r\n      font-size: clamp(30px, 3.2vw, 46px);\r\n      line-height: 1.08;\r\n      font-weight: 900;\r\n      letter-spacing: -0.8px;\r\n      max-width: 840px;\r\n    }\r\n\r\n    #tasando-mercados-hero-v12 .tm-hero-sub {\r\n      margin: 0;\r\n      color: rgba(255,255,255,0.88);\r\n      font-size: 14px;\r\n      line-height: 1.55;\r\n      max-width: 860px;\r\n      font-weight: 400;\r\n    }\r\n\r\n    #tasando-mercados-hero-v12 .tm-market-screen {\r\n      min-height: 210px;\r\n      border-radius: 20px;\r\n      background:\r\n        radial-gradient(circle at 78% 10%, rgba(105,190,40,.18), transparent 150px),\r\n        linear-gradient(180deg, rgba(255,255,255,0.13), rgba(255,255,255,0.07));\r\n      border: 1px solid rgba(255,255,255,0.22);\r\n      padding: 16px;\r\n      position: relative;\r\n      overflow: hidden;\r\n      box-shadow:\r\n        inset 0 1px 0 rgba(255,255,255,0.14),\r\n        0 12px 30px rgba(0,0,0,0.14);\r\n    }\r\n\r\n    #tasando-mercados-hero-v12 .tm-market-inner {\r\n      position: relative;\r\n      min-height: 178px;\r\n      border-radius: 16px;\r\n      background:\r\n        radial-gradient(circle at 75% 30%, rgba(105,190,40,.16), transparent 120px),\r\n        linear-gradient(180deg, #091827 0%, #050b14 100%);\r\n      overflow: hidden;\r\n      border: 1px solid rgba(255,255,255,0.10);\r\n      box-shadow: inset 0 0 22px rgba(255,255,255,0.05);\r\n    }\r\n\r\n    #tasando-mercados-hero-v12 .tm-market-svg {\r\n      width: 100%;\r\n      height: 178px;\r\n      display: block;\r\n    }\r\n\r\n    @media (max-width: 1200px) {\r\n      #tasando-mercados-hero-v12 {\r\n        width: var(--tm-max-tablet) !important;\r\n        max-width: var(--tm-max-tablet) !important;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 980px) {\r\n      #tasando-mercados-hero-v12 .tm-hero {\r\n        grid-template-columns: 1fr;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 700px) {\r\n      #tasando-mercados-hero-v12 {\r\n        width: 100% !important;\r\n        max-width: 100% !important;\r\n        padding: 0 10px !important;\r\n        margin: 16px auto 14px auto !important;\r\n      }\r\n\r\n      #tasando-mercados-hero-v12 .tm-hero {\r\n        padding: 22px 18px;\r\n        border-radius: 18px;\r\n      }\r\n\r\n      #tasando-mercados-hero-v12 .tm-hero-title {\r\n        font-size: 28px;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"tm-hero\">\r\n    <div>\r\n      <div class=\"tm-hero-pill\">\r\n        <span class=\"tm-hero-dot\"><\/span>\r\n        Mercados & Noticias\r\n      <\/div>\r\n\r\n      <h2 class=\"tm-hero-title\">\r\n        Informaci\u00f3n econ\u00f3mica, se\u00f1ales de mercado y contexto para decidir mejor\r\n      <\/h2>\r\n\r\n      <p class=\"tm-hero-sub\">\r\n        Esta secci\u00f3n re\u00fane titulares econ\u00f3micos, informaci\u00f3n de mercado y referencias de coyuntura para complementar la lectura de indicadores, fondos, activos e instrumentos financieros.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <div class=\"tm-market-screen\" aria-hidden=\"true\">\r\n      <div class=\"tm-market-inner\">\r\n        <svg class=\"tm-market-svg\" viewBox=\"0 0 520 260\" preserveAspectRatio=\"none\">\r\n          <defs>\r\n            <linearGradient id=\"tmLineGreenHeroV12\" x1=\"0\" x2=\"1\" y1=\"0\" y2=\"0\">\r\n              <stop offset=\"0%\" stop-color=\"#69be28\"\/>\r\n              <stop offset=\"45%\" stop-color=\"#38d68f\"\/>\r\n              <stop offset=\"100%\" stop-color=\"#f5bd42\"\/>\r\n            <\/linearGradient>\r\n\r\n            <linearGradient id=\"tmLineBlueHeroV12\" x1=\"0\" x2=\"1\" y1=\"0\" y2=\"0\">\r\n              <stop offset=\"0%\" stop-color=\"#7d7cff\"\/>\r\n              <stop offset=\"55%\" stop-color=\"#4cc9f0\"\/>\r\n              <stop offset=\"100%\" stop-color=\"#38d68f\"\/>\r\n            <\/linearGradient>\r\n\r\n            <linearGradient id=\"tmAreaHeroV12\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\r\n              <stop offset=\"0%\" stop-color=\"rgba(105,190,40,0.32)\"\/>\r\n              <stop offset=\"100%\" stop-color=\"rgba(105,190,40,0)\"\/>\r\n            <\/linearGradient>\r\n\r\n            <filter id=\"tmGlowHeroV12\" x=\"-30%\" y=\"-30%\" width=\"160%\" height=\"160%\">\r\n              <feGaussianBlur stdDeviation=\"2.8\" result=\"blur\"\/>\r\n              <feMerge>\r\n                <feMergeNode in=\"blur\"\/>\r\n                <feMergeNode in=\"SourceGraphic\"\/>\r\n              <\/feMerge>\r\n            <\/filter>\r\n          <\/defs>\r\n\r\n          <rect x=\"0\" y=\"0\" width=\"520\" height=\"260\" fill=\"#050b14\"\/>\r\n\r\n          <g opacity=\"0.16\" stroke=\"#ffffff\" stroke-width=\"1\">\r\n            <line x1=\"36\" y1=\"34\" x2=\"494\" y2=\"34\"\/>\r\n            <line x1=\"36\" y1=\"70\" x2=\"494\" y2=\"70\"\/>\r\n            <line x1=\"36\" y1=\"106\" x2=\"494\" y2=\"106\"\/>\r\n            <line x1=\"36\" y1=\"142\" x2=\"494\" y2=\"142\"\/>\r\n            <line x1=\"36\" y1=\"178\" x2=\"494\" y2=\"178\"\/>\r\n            <line x1=\"36\" y1=\"214\" x2=\"494\" y2=\"214\"\/>\r\n\r\n            <line x1=\"70\" y1=\"24\" x2=\"70\" y2=\"224\"\/>\r\n            <line x1=\"126\" y1=\"24\" x2=\"126\" y2=\"224\"\/>\r\n            <line x1=\"182\" y1=\"24\" x2=\"182\" y2=\"224\"\/>\r\n            <line x1=\"238\" y1=\"24\" x2=\"238\" y2=\"224\"\/>\r\n            <line x1=\"294\" y1=\"24\" x2=\"294\" y2=\"224\"\/>\r\n            <line x1=\"350\" y1=\"24\" x2=\"350\" y2=\"224\"\/>\r\n            <line x1=\"406\" y1=\"24\" x2=\"406\" y2=\"224\"\/>\r\n            <line x1=\"462\" y1=\"24\" x2=\"462\" y2=\"224\"\/>\r\n          <\/g>\r\n\r\n          <path\r\n            d=\"M 36 170 C 64 158, 76 132, 104 140 S 144 154, 166 116 S 208 76, 240 102 S 286 158, 318 124 S 356 82, 392 96 S 444 84, 494 54 L 494 224 L 36 224 Z\"\r\n            fill=\"url(#tmAreaHeroV12)\"\r\n            opacity=\"0.56\"\r\n          \/>\r\n\r\n          <path\r\n            d=\"M 36 170 C 64 158, 76 132, 104 140 S 144 154, 166 116 S 208 76, 240 102 S 286 158, 318 124 S 356 82, 392 96 S 444 84, 494 54\"\r\n            fill=\"none\"\r\n            stroke=\"url(#tmLineGreenHeroV12)\"\r\n            stroke-width=\"6\"\r\n            stroke-linecap=\"round\"\r\n            stroke-linejoin=\"round\"\r\n            filter=\"url(#tmGlowHeroV12)\"\r\n          \/>\r\n\r\n          <path\r\n            d=\"M 36 92 C 58 38, 82 62, 98 42 S 132 104, 156 82 S 194 54, 218 68 S 254 140, 284 126 S 318 96, 350 134 S 388 188, 420 162 S 462 150, 494 182\"\r\n            fill=\"none\"\r\n            stroke=\"url(#tmLineBlueHeroV12)\"\r\n            stroke-width=\"4\"\r\n            stroke-linecap=\"round\"\r\n            stroke-linejoin=\"round\"\r\n            opacity=\"0.82\"\r\n          \/>\r\n\r\n          <g fill=\"#ffffff\" stroke=\"rgba(255,255,255,0.48)\" stroke-width=\"2\">\r\n            <circle cx=\"104\" cy=\"140\" r=\"6\"\/>\r\n            <circle cx=\"166\" cy=\"116\" r=\"6\"\/>\r\n            <circle cx=\"240\" cy=\"102\" r=\"6\"\/>\r\n            <circle cx=\"318\" cy=\"124\" r=\"6\"\/>\r\n            <circle cx=\"392\" cy=\"96\" r=\"6\"\/>\r\n            <circle cx=\"494\" cy=\"54\" r=\"6\"\/>\r\n          <\/g>\r\n\r\n          <g opacity=\"0.9\">\r\n            <rect x=\"48\" y=\"204\" width=\"10\" height=\"20\" rx=\"2\" fill=\"#69be28\"\/>\r\n            <rect x=\"68\" y=\"192\" width=\"10\" height=\"32\" rx=\"2\" fill=\"#38d68f\"\/>\r\n            <rect x=\"88\" y=\"198\" width=\"10\" height=\"26\" rx=\"2\" fill=\"#f5bd42\"\/>\r\n            <rect x=\"108\" y=\"180\" width=\"10\" height=\"44\" rx=\"2\" fill=\"#69be28\"\/>\r\n            <rect x=\"128\" y=\"188\" width=\"10\" height=\"36\" rx=\"2\" fill=\"#38d68f\"\/>\r\n            <rect x=\"148\" y=\"172\" width=\"10\" height=\"52\" rx=\"2\" fill=\"#f5bd42\"\/>\r\n            <rect x=\"168\" y=\"186\" width=\"10\" height=\"38\" rx=\"2\" fill=\"#69be28\"\/>\r\n            <rect x=\"188\" y=\"158\" width=\"10\" height=\"66\" rx=\"2\" fill=\"#38d68f\"\/>\r\n            <rect x=\"208\" y=\"174\" width=\"10\" height=\"50\" rx=\"2\" fill=\"#f5bd42\"\/>\r\n            <rect x=\"228\" y=\"150\" width=\"10\" height=\"74\" rx=\"2\" fill=\"#69be28\"\/>\r\n            <rect x=\"248\" y=\"176\" width=\"10\" height=\"48\" rx=\"2\" fill=\"#38d68f\"\/>\r\n            <rect x=\"268\" y=\"164\" width=\"10\" height=\"60\" rx=\"2\" fill=\"#f5bd42\"\/>\r\n            <rect x=\"288\" y=\"184\" width=\"10\" height=\"40\" rx=\"2\" fill=\"#69be28\"\/>\r\n            <rect x=\"308\" y=\"152\" width=\"10\" height=\"72\" rx=\"2\" fill=\"#38d68f\"\/>\r\n            <rect x=\"328\" y=\"138\" width=\"10\" height=\"86\" rx=\"2\" fill=\"#f5bd42\"\/>\r\n            <rect x=\"348\" y=\"160\" width=\"10\" height=\"64\" rx=\"2\" fill=\"#69be28\"\/>\r\n            <rect x=\"368\" y=\"144\" width=\"10\" height=\"80\" rx=\"2\" fill=\"#38d68f\"\/>\r\n            <rect x=\"388\" y=\"132\" width=\"10\" height=\"92\" rx=\"2\" fill=\"#f5bd42\"\/>\r\n            <rect x=\"408\" y=\"156\" width=\"10\" height=\"68\" rx=\"2\" fill=\"#69be28\"\/>\r\n            <rect x=\"428\" y=\"140\" width=\"10\" height=\"84\" rx=\"2\" fill=\"#38d68f\"\/>\r\n            <rect x=\"448\" y=\"126\" width=\"10\" height=\"98\" rx=\"2\" fill=\"#f5bd42\"\/>\r\n          <\/g>\r\n        <\/svg>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d40a43b elementor-widget elementor-widget-html\" data-id=\"d40a43b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\r\n     TASANDO.COM | HTML 3 V14\r\n     DESCRIPCI\u00d3N \/ COMENTARIO POR MERCADOS EN FICHAS\r\n     Fuente: WEB_COMENTARIOS v\u00eda proxy WordPress.\r\n\r\n     MEJORA V14:\r\n     - Reemplaza el bloque plano de p\u00e1rrafos por fichas.\r\n     - Ordena las fichas desde la se\u00f1al m\u00e1s favorable hasta la m\u00e1s d\u00e9bil.\r\n     - Usa 3 fichas por fila en escritorio, 2 en tablet, 1 en celular.\r\n     - Cada ficha muestra familia, variaci\u00f3n, lectura y comentario.\r\n     - Mantiene bloques destacados: En simple, lectura relativa y contacto.\r\n     ========================================================= -->\r\n\r\n<section id=\"tasando-mercados-descripcion-v14\">\r\n  <style>\r\n    #tasando-mercados-descripcion-v14 {\r\n      --tm-max: min(1240px, calc(100vw - 120px));\r\n      --tm-max-tablet: calc(100vw - 48px);\r\n\r\n      --tm-blue: #102a54;\r\n      --tm-blue-2: #17396f;\r\n      --tm-dark: #0f172a;\r\n      --tm-text: #1e293b;\r\n      --tm-muted: #64748b;\r\n      --tm-line: #cbd5e1;\r\n      --tm-green: #69be28;\r\n\r\n      --tm-pos-bg: #e8f7ec;\r\n      --tm-pos-text: #166534;\r\n      --tm-pos-dot: #16a34a;\r\n\r\n      --tm-neu-bg: #eef3f8;\r\n      --tm-neu-text: #475569;\r\n      --tm-neu-dot: #94a3b8;\r\n\r\n      --tm-lneg-bg: #fff4e6;\r\n      --tm-lneg-text: #9a5b00;\r\n      --tm-lneg-dot: #f59e0b;\r\n\r\n      --tm-neg-bg: #feecec;\r\n      --tm-neg-text: #991b1b;\r\n      --tm-neg-dot: #dc2626;\r\n\r\n      width: var(--tm-max) !important;\r\n      max-width: var(--tm-max) !important;\r\n      margin: 0 auto 22px auto !important;\r\n      padding: 0 !important;\r\n      font-family: Arial, Helvetica, sans-serif;\r\n      color: var(--tm-text);\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14,\r\n    #tasando-mercados-descripcion-v14 * {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    body .elementor-widget-html:has(#tasando-mercados-descripcion-v14),\r\n    body .elementor-widget-html:has(#tasando-mercados-descripcion-v14) > .elementor-widget-container,\r\n    body .elementor-column:has(#tasando-mercados-descripcion-v14),\r\n    body .elementor-container:has(#tasando-mercados-descripcion-v14),\r\n    body .e-con:has(#tasando-mercados-descripcion-v14),\r\n    body .e-con-inner:has(#tasando-mercados-descripcion-v14) {\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      overflow: visible !important;\r\n      margin-left: auto !important;\r\n      margin-right: auto !important;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-content {\r\n      background:\r\n        radial-gradient(circle at top right, rgba(105,190,40,0.10), transparent 260px),\r\n        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);\r\n      border: 1px solid #d7dde6;\r\n      border-radius: 20px;\r\n      padding: 22px 24px;\r\n      box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-section-label {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      width: fit-content;\r\n      padding: 7px 12px;\r\n      border-radius: 999px;\r\n      background: #edf6e8;\r\n      border: 1px solid rgba(105,190,40,0.28);\r\n      color: var(--tm-blue);\r\n      font-size: 12px;\r\n      font-weight: 850;\r\n      margin: 0 0 14px 0;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-section-label::before {\r\n      content: \"\";\r\n      width: 8px;\r\n      height: 8px;\r\n      border-radius: 50%;\r\n      background: var(--tm-green);\r\n      box-shadow: 0 0 0 4px rgba(105,190,40,0.14);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-order-note {\r\n      margin: -4px 0 18px 0;\r\n      color: var(--tm-muted);\r\n      font-size: 12px;\r\n      line-height: 1.45;\r\n      font-weight: 500;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-loading,\r\n    #tasando-mercados-descripcion-v14 .tm-error {\r\n      padding: 18px;\r\n      border-radius: 13px;\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      color: var(--tm-muted);\r\n      font-size: 13px;\r\n      text-align: center;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-error {\r\n      background: #fff7ed;\r\n      border-color: #fed7aa;\r\n      color: #9a3412;\r\n      text-align: left;\r\n      line-height: 1.45;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-market-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(3, minmax(0, 1fr));\r\n      gap: 14px;\r\n      align-items: stretch;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-market-card {\r\n      position: relative;\r\n      display: flex;\r\n      flex-direction: column;\r\n      min-height: 230px;\r\n      padding: 16px 16px 15px 16px;\r\n      border-radius: 18px;\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      box-shadow: 0 8px 22px rgba(15, 23, 42, 0.065);\r\n      overflow: hidden;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-market-card::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      top: 0;\r\n      left: 0;\r\n      width: 100%;\r\n      height: 4px;\r\n      background: #cbd5e1;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-market-card.tm-state-pos::before {\r\n      background: var(--tm-pos-dot);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-market-card.tm-state-neu::before {\r\n      background: var(--tm-neu-dot);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-market-card.tm-state-lneg::before {\r\n      background: var(--tm-lneg-dot);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-market-card.tm-state-neg::before {\r\n      background: var(--tm-neg-dot);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-card-top {\r\n      display: grid;\r\n      grid-template-columns: minmax(0, 1fr) auto;\r\n      gap: 10px;\r\n      align-items: start;\r\n      margin-bottom: 12px;\r\n      padding-bottom: 11px;\r\n      border-bottom: 1px solid #e2e8f0;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-family {\r\n      margin: 0;\r\n      color: var(--tm-dark);\r\n      font-size: 17px;\r\n      line-height: 1.1;\r\n      font-weight: 900;\r\n      letter-spacing: .02em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-var {\r\n      margin-top: 6px;\r\n      color: var(--tm-blue);\r\n      font-size: 20px;\r\n      line-height: 1;\r\n      font-weight: 900;\r\n      font-variant-numeric: tabular-nums;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-chip {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 7px;\r\n      width: fit-content;\r\n      max-width: 100%;\r\n      border-radius: 999px;\r\n      padding: 6px 10px;\r\n      font-size: 10.5px;\r\n      line-height: 1.15;\r\n      font-weight: 850;\r\n      border: 1px solid transparent;\r\n      white-space: normal;\r\n      text-transform: uppercase;\r\n      overflow-wrap: anywhere;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-chip::before {\r\n      content: \"\";\r\n      width: 8px;\r\n      height: 8px;\r\n      border-radius: 50%;\r\n      flex: 0 0 8px;\r\n      display: inline-block;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-state-pos .tm-chip {\r\n      background: var(--tm-pos-bg);\r\n      color: var(--tm-pos-text);\r\n      border-color: rgba(22,101,52,.18);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-state-pos .tm-chip::before {\r\n      background: var(--tm-pos-dot);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-state-neu .tm-chip {\r\n      background: var(--tm-neu-bg);\r\n      color: var(--tm-neu-text);\r\n      border-color: rgba(71,85,105,.18);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-state-neu .tm-chip::before {\r\n      background: var(--tm-neu-dot);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-state-lneg .tm-chip {\r\n      background: var(--tm-lneg-bg);\r\n      color: var(--tm-lneg-text);\r\n      border-color: rgba(154,91,0,.18);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-state-lneg .tm-chip::before {\r\n      background: var(--tm-lneg-dot);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-state-neg .tm-chip {\r\n      background: var(--tm-neg-bg);\r\n      color: var(--tm-neg-text);\r\n      border-color: rgba(153,27,27,.18);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-state-neg .tm-chip::before {\r\n      background: var(--tm-neg-dot);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-card-body {\r\n      color: var(--tm-text);\r\n      font-size: 14px;\r\n      line-height: 1.58;\r\n      font-weight: 400 !important;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-card-body p {\r\n      margin: 0;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-card-body strong,\r\n    #tasando-mercados-descripcion-v14 .tm-card-body b,\r\n    #tasando-mercados-descripcion-v14 .tm-simple strong,\r\n    #tasando-mercados-descripcion-v14 .tm-fm-card strong,\r\n    #tasando-mercados-descripcion-v14 .tm-cta strong {\r\n      color: var(--tm-dark);\r\n      font-weight: 700 !important;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-card-index {\r\n      margin-top: auto;\r\n      padding-top: 12px;\r\n      color: var(--tm-muted);\r\n      font-size: 11px;\r\n      font-weight: 750;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-highlight-grid {\r\n      display: grid;\r\n      grid-template-columns: 1fr 1fr;\r\n      gap: 14px;\r\n      margin-top: 16px;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-simple,\r\n    #tasando-mercados-descripcion-v14 .tm-reading,\r\n    #tasando-mercados-descripcion-v14 .tm-fm-card,\r\n    #tasando-mercados-descripcion-v14 .tm-cta {\r\n      border-radius: 16px;\r\n      padding: 15px 16px;\r\n      border: 1px solid #dbe5ef;\r\n      background: #ffffff;\r\n      box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-simple {\r\n      background: #f8fafc;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-reading {\r\n      background: #edf6e8;\r\n      border-color: rgba(105,190,40,.30);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-fm-card {grid-column:span 1!important;min-height:230px;display:flex;flex-direction:column;justify-content:center;\r\n      grid-column: 1 \/ -1;\r\n      background:\r\n        radial-gradient(circle at top right, rgba(105,190,40,0.10), transparent 220px),\r\n        #ffffff;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-block-label {\r\n      display: block;\r\n      margin-bottom: 7px;\r\n      color: var(--tm-blue);\r\n      font-size: 12px;\r\n      font-weight: 900;\r\n      text-transform: uppercase;\r\n      letter-spacing: .04em;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-simple p,\r\n    #tasando-mercados-descripcion-v14 .tm-reading p,\r\n    #tasando-mercados-descripcion-v14 .tm-fm-card p,\r\n    #tasando-mercados-descripcion-v14 .tm-cta p {\r\n      margin: 0;\r\n      color: var(--tm-text);\r\n      font-size: 14px;\r\n      line-height: 1.58;\r\n      font-weight: 400 !important;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-reading-value {\r\n      display: block;\r\n      color: var(--tm-dark);\r\n      font-size: 15px;\r\n      line-height: 1.35;\r\n      font-weight: 800;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-cta {\r\n      margin-top: 16px;\r\n      background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-actions {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      gap: 10px;\r\n      margin: 14px 0;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-btn {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      padding: 11px 16px;\r\n      border-radius: 999px;\r\n      font-size: 13px;\r\n      line-height: 1;\r\n      font-weight: 850;\r\n      text-decoration: none !important;\r\n      border: 1px solid transparent;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-btn-primary {\r\n      background: var(--tm-blue);\r\n      color: #ffffff !important;\r\n      box-shadow: 0 8px 18px rgba(18,54,111,.16);\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-market-grid>.tm-fm-card p{font-size:12.5px!important;line-height:1.48!important;}#tasando-mercados-descripcion-v14 .tm-market-grid>.tm-fm-card .tm-block-label{font-size:11px!important;margin-bottom:9px!important;}#tasando-mercados-descripcion-v14 .tm-btn-secondary {background:#25d366!important;color:#fff!important;border-color:#25d366!important;box-shadow:0 6px 16px rgba(37,211,102,.23);\r\n      background: #ffffff;\r\n      color: var(--tm-blue) !important;\r\n      border-color: #cbd5e1;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-contact {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      gap: 14px 22px;\r\n      color: var(--tm-blue);\r\n      font-size: 14px;\r\n      line-height: 1.45;\r\n      font-weight: 750;\r\n    }\r\n\r\n    #tasando-mercados-descripcion-v14 .tm-contact a {\r\n      color: var(--tm-blue);\r\n      text-decoration: none;\r\n      font-weight: 800;\r\n    }\r\n\r\n    @media (max-width: 1200px) {\r\n      #tasando-mercados-descripcion-v14 {\r\n        width: var(--tm-max-tablet) !important;\r\n        max-width: var(--tm-max-tablet) !important;\r\n      }\r\n\r\n      #tasando-mercados-descripcion-v14 .tm-market-grid {\r\n        grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      }\r\n    }\r\n\r\n    @media (max-width: 760px) {\r\n      #tasando-mercados-descripcion-v14 {\r\n        width: 100% !important;\r\n        max-width: 100% !important;\r\n        padding: 0 10px !important;\r\n      }\r\n\r\n      #tasando-mercados-descripcion-v14 .tm-content {\r\n        padding: 16px;\r\n        border-radius: 16px;\r\n      }\r\n\r\n      #tasando-mercados-descripcion-v14 .tm-market-grid,\r\n      #tasando-mercados-descripcion-v14 .tm-highlight-grid {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #tasando-mercados-descripcion-v14 .tm-market-card {\r\n        min-height: auto;\r\n      }\r\n\r\n      #tasando-mercados-descripcion-v14 .tm-card-body,\r\n      #tasando-mercados-descripcion-v14 .tm-simple p,\r\n      #tasando-mercados-descripcion-v14 .tm-reading p,\r\n      #tasando-mercados-descripcion-v14 .tm-fm-card p,\r\n      #tasando-mercados-descripcion-v14 .tm-cta p {\r\n        font-size: 13.5px;\r\n        line-height: 1.55;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"tm-content\">\r\n    <div class=\"tm-section-label\">Descripci\u00f3n por mercados<\/div>\r\n    <div class=\"tm-order-note\">\r\n      Lectura ordenada desde la se\u00f1al m\u00e1s favorable hasta la m\u00e1s d\u00e9bil.\r\n    <\/div>\r\n\r\n    <div id=\"tmDescripcionContenidoV14\">\r\n      <div class=\"tm-loading\">Cargando comentario de mercados desde base interna Tasando.com...<\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    (function () {\r\n      const root = document.getElementById(\"tasando-mercados-descripcion-v14\");\r\n      if (!root) return;\r\n\r\n      const endpoints = [\r\n        window.location.origin + \"\/propiedades\/wp-json\/tasando\/v1\/sheet\/comentario-mercados\",\r\n        window.location.origin + \"\/propiedades\/wp-json\/tasando\/v1\/sheet\/web-comentarios\",\r\n        window.location.origin + \"\/propiedades\/wp-json\/tasando\/v1\/sheet\/mercados-comentario\",\r\n        window.location.origin + \"\/wp-json\/tasando\/v1\/sheet\/comentario-mercados\",\r\n        window.location.origin + \"\/wp-json\/tasando\/v1\/sheet\/web-comentarios\",\r\n        window.location.origin + \"\/wp-json\/tasando\/v1\/sheet\/mercados-comentario\"\r\n      ];\r\n\r\n      const claveObjetivo = \"MERCADOS_DIA\";\r\n      const contenido = root.querySelector(\"#tmDescripcionContenidoV14\");\r\n\r\n      function limpiar(v) {\r\n        if (v === null || v === undefined) return \"\";\r\n        return String(v)\r\n          .replace(\/\\r\\n\/g, \"\\n\")\r\n          .replace(\/\\r\/g, \"\\n\")\r\n          .replace(\/&lt;br\\s*\\\/?&gt;\/gi, \"\\n\")\r\n          .replace(\/<br\\s*\\\/?>\/gi, \"\\n\")\r\n          .replace(\/\\\\\\|\/g, \"|\")\r\n          .replace(\/\\\\([\\\\`*_\\[\\]{}()#+\\-.!|:])\/g, \"$1\")\r\n          .trim();\r\n      }\r\n\r\n      function esc(v) {\r\n        return limpiar(v)\r\n          .replace(\/&\/g, \"&amp;\")\r\n          .replace(\/<\/g, \"&lt;\")\r\n          .replace(\/>\/g, \"&gt;\")\r\n          .replace(\/\"\/g, \"&quot;\")\r\n          .replace(\/'\/g, \"&#039;\");\r\n      }\r\n\r\n      function norm(v) {\r\n        return limpiar(v)\r\n          .toUpperCase()\r\n          .normalize(\"NFD\")\r\n          .replace(\/[\\u0300-\\u036f]\/g, \"\")\r\n          .replace(\/[^A-Z0-9]\/g, \"\");\r\n      }\r\n\r\n      function buscarCol(headers, aliases) {\r\n        const h = headers.map(norm);\r\n        const a = aliases.map(norm);\r\n\r\n        for (let i = 0; i < h.length; i++) {\r\n          if (a.includes(h[i])) return i;\r\n        }\r\n        return -1;\r\n      }\r\n\r\n      function cell(row, idx) {\r\n        if (!Array.isArray(row)) return \"\";\r\n        if (idx < 0 || idx >= row.length) return \"\";\r\n        return limpiar(row[idx]);\r\n      }\r\n\r\n      function validarProxy(data) {\r\n        const real = data && data.data && data.data.headers ? data.data : data;\r\n\r\n        if (!real || real.ok !== true) {\r\n          throw new Error((real && real.error) ? real.error : \"Respuesta inv\u00e1lida del proxy.\");\r\n        }\r\n\r\n        const headers = Array.isArray(real.headers) ? real.headers : [];\r\n        const rows = Array.isArray(real.rows) ? real.rows : [];\r\n\r\n        if (!headers.length || !rows.length) {\r\n          throw new Error(\"El proxy no devolvi\u00f3 headers\/rows con datos.\");\r\n        }\r\n\r\n        return { headers, rows };\r\n      }\r\n\r\n      function extraerComentario(data) {\r\n        const tabla = validarProxy(data);\r\n        const headers = tabla.headers;\r\n        const rows = tabla.rows;\r\n\r\n        const idxClave = buscarCol(headers, [\"CLAVE\"]);\r\n        const idxMarkdown = buscarCol(headers, [\"TEXTO_MARKDOWN\", \"TEXTO MARKDOWN\", \"MARKDOWN\"]);\r\n        const idxHtml = buscarCol(headers, [\"TEXTO_HTML\", \"TEXTO HTML\", \"HTML\"]);\r\n        const idxLectura = buscarCol(headers, [\"LECTURA_RELATIVA\", \"LECTURA RELATIVA\"]);\r\n        const idxEstado = buscarCol(headers, [\"ESTADO\"]);\r\n\r\n        if (idxClave < 0) {\r\n          throw new Error(\"No se detect\u00f3 la columna CLAVE en WEB_COMENTARIOS.\");\r\n        }\r\n\r\n        const row = rows.find(function (r) {\r\n          const clave = norm(cell(r, idxClave));\r\n          const estado = idxEstado >= 0 ? norm(cell(r, idxEstado)) : \"PUBLICAR\";\r\n          return clave === norm(claveObjetivo) && (!estado || estado === \"PUBLICAR\");\r\n        });\r\n\r\n        if (!row) {\r\n          throw new Error(\"No se encontr\u00f3 fila con CLAVE = MERCADOS_DIA y ESTADO = PUBLICAR.\");\r\n        }\r\n\r\n        const markdown = idxMarkdown >= 0 ? cell(row, idxMarkdown) : \"\";\r\n        const html = idxHtml >= 0 ? cell(row, idxHtml) : \"\";\r\n\r\n        if (!markdown && !html) {\r\n          throw new Error(\"La fila no tiene TEXTO_MARKDOWN ni TEXTO_HTML.\");\r\n        }\r\n\r\n        return {\r\n          markdown: markdown,\r\n          html: html,\r\n          lecturaRelativa: idxLectura >= 0 ? cell(row, idxLectura) : \"\"\r\n        };\r\n      }\r\n\r\n      function mdInline(texto) {\r\n        return esc(texto).replace(\/\\*\\*(.*?)\\*\\*\/g, \"<strong>$1<\/strong>\");\r\n      }\r\n\r\n      function familiaVisual(familia) {\r\n        const f = norm(familia);\r\n\r\n        if (f === \"CHILE\" || f === \"CHILEIPSA\") return \"CHILE \/ IPSA\";\r\n        if (f === \"EUROPA\") return \"EUROPA\";\r\n        if (f === \"GLOBAL\") return \"GLOBAL\";\r\n        if (f === \"ASIA\") return \"ASIA\";\r\n        if (f === \"EMERGING\") return \"EMERGING\";\r\n        if (f === \"LATAM\") return \"LATAM\";\r\n        if (f === \"USA\") return \"USA\";\r\n        if (f === \"VIX\") return \"VIX\";\r\n\r\n        return limpiar(familia).toUpperCase();\r\n      }\r\n\r\n      function parseNumeroVariacion(valor) {\r\n        const s = limpiar(valor)\r\n          .replace(\"\u2212\", \"-\")\r\n          .replace(\"%\", \"\")\r\n          .replace(\/\\s+\/g, \"\")\r\n          .replace(\",\", \".\");\r\n\r\n        const n = Number(s);\r\n        return Number.isFinite(n) ? n : null;\r\n      }\r\n\r\n      function puntajeLectura(lectura) {\r\n        const t = norm(lectura);\r\n\r\n        if (t.includes(\"NEGATIVO\") && !t.includes(\"LEVEMENTE\")) return -4;\r\n        if (t.includes(\"LEVEMENTENEGATIVO\")) return -2;\r\n        if (t.includes(\"NEUTRO\")) return 0;\r\n        if (t.includes(\"LEVEMENTEPOSITIVO\")) return 2;\r\n        if (t.includes(\"POSITIVO\")) return 4;\r\n\r\n        return 99;\r\n      }\r\n\r\n      function estadoClase(lectura) {\r\n        const t = norm(lectura);\r\n        if (t.includes(\"LEVEMENTEPOSITIVO\")) return \"tm-state-pos\";\r\n        if (t.includes(\"LEVEMENTENEGATIVO\")) return \"tm-state-lneg\";\r\n        if (t.includes(\"POSITIVO\")) return \"tm-state-pos\";\r\n        if (t.includes(\"NEGATIVO\")) return \"tm-state-neg\";\r\n        return \"tm-state-neu\";\r\n      }\r\n\r\n      function parseSenales(markdown) {\r\n        const t = limpiar(markdown).replace(\/\\*\\*\/g, \"\");\r\n        const lines = t.split(\"\\n\").map(limpiar).filter(Boolean);\r\n        const out = [];\r\n\r\n        lines.forEach(function (line) {\r\n          const m = line.match(\/^(.+?)\\s*\\|\\s*VAR:\\s*([+\\-\u2212]?\\s*\\d+(?:[.,]\\d+)?%)\\s*\\|\\s*(.+)$\/i);\r\n          if (!m) return;\r\n\r\n          out.push({\r\n            familia: familiaVisual(m[1]),\r\n            variacion: limpiar(m[2]).replace(\/\\s+\/g, \"\"),\r\n            lectura: limpiar(m[3]).toUpperCase()\r\n          });\r\n        });\r\n\r\n        const visto = {};\r\n        return out.filter(function (s) {\r\n          const k = norm(s.familia);\r\n          if (!k || visto[k]) return false;\r\n          visto[k] = true;\r\n          return true;\r\n        });\r\n      }\r\n\r\n      function ordenarSenalesMejorAPeor(senales) {\r\n        return senales.slice().sort(function (a, b) {\r\n          const aKey = norm(a.familia);\r\n          const bKey = norm(b.familia);\r\n\r\n          const aEsVix = aKey === \"VIX\";\r\n          const bEsVix = bKey === \"VIX\";\r\n\r\n          if (aEsVix && !bEsVix) return 1;\r\n          if (!aEsVix && bEsVix) return -1;\r\n\r\n          const av = parseNumeroVariacion(a.variacion);\r\n          const bv = parseNumeroVariacion(b.variacion);\r\n\r\n          const aSinDato = av === null;\r\n          const bSinDato = bv === null;\r\n\r\n          if (aSinDato && !bSinDato) return 1;\r\n          if (!aSinDato && bSinDato) return -1;\r\n\r\n          if (av !== null && bv !== null && av !== bv) {\r\n            return bv - av;\r\n          }\r\n\r\n          const al = puntajeLectura(a.lectura);\r\n          const bl = puntajeLectura(b.lectura);\r\n\r\n          if (al !== bl) return bl - al;\r\n\r\n          return a.familia.localeCompare(b.familia);\r\n        });\r\n      }\r\n\r\n      function familiaDesdeParrafo(parrafo) {\r\n        const plano = limpiar(parrafo).replace(\/\\*\\*\/g, \"\").trim();\r\n        const m = plano.match(\/^En\\s+([A-Za-z\u00c1\u00c9\u00cd\u00d3\u00da\u00d1\u00e1\u00e9\u00ed\u00f3\u00fa\u00f1\u00fc\u00dc \/]+?),\/i);\r\n        if (!m) return \"\";\r\n        return familiaVisual(m[1]);\r\n      }\r\n\r\n      function senalPorFamilia(senales) {\r\n        const mapa = {};\r\n        senales.forEach(function (s) {\r\n          mapa[norm(s.familia)] = s;\r\n        });\r\n        return mapa;\r\n      }\r\n\r\n      function ordenarParrafosMercado(parrafos, markdown) {\r\n        const senales = ordenarSenalesMejorAPeor(parseSenales(markdown));\r\n        if (!senales.length) return parrafos;\r\n\r\n        const orden = {};\r\n        senales.forEach(function (s, idx) {\r\n          orden[norm(s.familia)] = idx;\r\n        });\r\n\r\n        const mercados = [];\r\n        const otros = [];\r\n\r\n        parrafos.forEach(function (p, idx) {\r\n          const familia = familiaDesdeParrafo(p);\r\n          const key = norm(familia);\r\n\r\n          if (familia && orden[key] !== undefined) {\r\n            mercados.push({ texto: p, orden: orden[key], original: idx });\r\n          } else {\r\n            otros.push({ texto: p, original: idx });\r\n          }\r\n        });\r\n\r\n        mercados.sort(function (a, b) {\r\n          if (a.orden !== b.orden) return a.orden - b.orden;\r\n          return a.original - b.original;\r\n        });\r\n\r\n        return mercados.map(function (x) { return x.texto; })\r\n          .concat(otros.map(function (x) { return x.texto; }));\r\n      }\r\n\r\n      function extraerSimple(markdown) {\r\n        const t = limpiar(markdown);\r\n        const m = t.match(\/\ud83d\udd0e\\s*En simple:\\s*([\\s\\S]*?)(?=\\n\\s*\ud83d\udccc|\\n\\s*Para\\s+\\*\\*fondos mutuos\\*\\*|\\n\\s*Para\\s+fondos mutuos|$)\/i);\r\n        return m ? limpiar(m[1]).replace(\/\\*\\*\/g, \"\") : \"\";\r\n      }\r\n\r\n      function extraerComentarioFondos(parrafos) {\r\n        const idx = parrafos.findIndex(function (p) {\r\n          const n = norm(p);\r\n          return n.startsWith(\"PARAFONDOSMUTUOS\");\r\n        });\r\n\r\n        if (idx < 0) return { fondos: \"\", parrafos: parrafos };\r\n\r\n        const fondos = parrafos[idx];\r\n        const copia = parrafos.slice();\r\n        copia.splice(idx, 1);\r\n\r\n        return { fondos: fondos, parrafos: copia };\r\n      }\r\n\r\n      function parrafosLimpios(markdown) {\r\n        const lines = limpiar(markdown).split(\"\\n\").map(limpiar).filter(Boolean);\r\n        const out = [];\r\n        let saltarSenales = false;\r\n        let saltarUrl = false;\r\n        let saltarLectura = false;\r\n\r\n        lines.forEach(function (line) {\r\n          const plano = line.replace(\/\\*\\*\/g, \"\").trim();\r\n          const n = norm(plano);\r\n\r\n          if (!plano) return;\r\n          if (plano.startsWith(\"\ud83d\udcca\")) return;\r\n\r\n          if (n.includes(\"SENALESDEMERCADOPORFAMILIA\")) {\r\n            saltarSenales = true;\r\n            return;\r\n          }\r\n\r\n          if (saltarSenales) {\r\n            if (line.includes(\"| VAR:\")) return;\r\n\r\n            if (\/^En\\s+\/i.test(plano) || \/^\ud83d\udd0e\/i.test(plano) || \/^\ud83d\udccc\/i.test(plano) || \/^Para\\s+\/i.test(plano)) {\r\n              saltarSenales = false;\r\n            } else {\r\n              return;\r\n            }\r\n          }\r\n\r\n          if (n.includes(\"SENALESMERCADO\") || n.includes(\"HOJAINTERNA\") || n.includes(\"CAPTURADOR\")) return;\r\n\r\n          if (n.startsWith(\"REVISELOSRESULTADOSACTUALIZADOSEN\") || n.startsWith(\"REVISELAMATRIZDEFONDOSMUTUOSEN\")) {\r\n            saltarUrl = true;\r\n            return;\r\n          }\r\n\r\n          if (saltarUrl && \/^https?:\\\/\\\/\/i.test(plano)) {\r\n            saltarUrl = false;\r\n            return;\r\n          }\r\n\r\n          if (\/^https?:\\\/\\\/\/i.test(plano)) return;\r\n          if (n.startsWith(\"ENTASANDOCOMAPOYAMOS\")) return;\r\n          if (n.includes(\"WHATSAPP\") && n.includes(\"56997878034\")) return;\r\n          if (n.includes(\"WWWTASANDOCOM\")) return;\r\n          if (n.startsWith(\"MERCADOSINVERSIONESFONDOSMUTUOS\")) return;\r\n          if (n.startsWith(\"CONTENIDOINFORMATIVOYEDUCATIVO\")) return;\r\n          if (n.includes(\"NOCONSTITUYERECOMENDACIONPERSONALIZADA\")) return;\r\n          if (plano.startsWith(\"#\")) return;\r\n\r\n          if (plano.startsWith(\"\ud83d\udccc\")) {\r\n            saltarLectura = true;\r\n            return;\r\n          }\r\n\r\n          if (saltarLectura) {\r\n            saltarLectura = false;\r\n            return;\r\n          }\r\n\r\n          if (plano.startsWith(\"\ud83d\udd0e\")) return;\r\n\r\n          out.push(line);\r\n        });\r\n\r\n        return out;\r\n      }\r\n\r\n      function renderCuerpo(data) {\r\n        const simple = extraerSimple(data.markdown);\r\n        const senalesOrdenadas = ordenarSenalesMejorAPeor(parseSenales(data.markdown));\r\n        const mapaSenales = senalPorFamilia(senalesOrdenadas);\r\n        const parrafosBase = parrafosLimpios(data.markdown);\r\n        const extraidos = extraerComentarioFondos(parrafosBase);\r\n        const parrafos = ordenarParrafosMercado(extraidos.parrafos, data.markdown);\r\n        const fondos = extraidos.fondos;\r\n\r\n        let html = \"\";\r\n\r\n        html += \"<div class='tm-market-grid'>\";\r\n\r\n        parrafos.forEach(function (p, idx) {\r\n          const familia = familiaDesdeParrafo(p);\r\n          const key = norm(familia);\r\n          const senal = mapaSenales[key] || {};\r\n          const lectura = senal.lectura || \"LECTURA\";\r\n          const variacion = senal.variacion || \"\";\r\n          const clase = estadoClase(lectura);\r\n\r\n          html +=\r\n            \"<article class='tm-market-card \" + clase + \"'>\" +\r\n              \"<div class='tm-card-top'>\" +\r\n                \"<div>\" +\r\n                  \"<h3 class='tm-family'>\" + esc(familia || \"Mercado\") + \"<\/h3>\" +\r\n                  (variacion ? \"<div class='tm-var'>\" + esc(variacion) + \"<\/div>\" : \"\") +\r\n                \"<\/div>\" +\r\n                \"<div class='tm-chip'>\" + esc(lectura) + \"<\/div>\" +\r\n              \"<\/div>\" +\r\n              \"<div class='tm-card-body'><p>\" + mdInline(p) + \"<\/p><\/div>\" +\r\n              \"<div class='tm-card-index'>Lectura \" + esc(String(idx + 1)) + \" de \" + esc(String(parrafos.length)) + \"<\/div>\" +\r\n            \"<\/article>\";\r\n        });\r\n\r\n        html += \"<\/div>\";\r\n\r\n        html += \"<div class='tm-highlight-grid'>\";\r\n\r\n        if (false && simple) { \/* M37: ocultar bloque 'En simple' por redundante *\/\r\n          html +=\r\n            \"<div class='tm-simple'>\" +\r\n              \"<span class='tm-block-label'>En simple<\/span>\" +\r\n              \"<p>\" + esc(simple) + \"<\/p>\" +\r\n            \"<\/div>\";\r\n        }\r\n\r\n        if (false && data.lecturaRelativa) { \/* Bloque inferior duplicado desactivado: mantener lectura coloreada superior *\/\r\n          html +=\r\n            \"<div class='tm-reading'>\" +\r\n              \"<span class='tm-block-label'>Lectura relativa del d\u00eda<\/span>\" +\r\n              \"<span class='tm-reading-value'>\" + esc(data.lecturaRelativa) + \"<\/span>\" +\r\n            \"<\/div>\";\r\n        }\r\n\r\n        if (fondos) {\r\n          html +=\r\n            \"<div class='tm-fm-card'>\" +\r\n              \"<span class='tm-block-label'>Implicancia para fondos mutuos<\/span>\" +\r\n              \"<p>\" + mdInline(fondos) + \"<\/p>\" +\r\n            \"<\/div>\";\r\n        }\r\n\r\n        html += \"<\/div>\";\r\n\r\n        html +=\r\n          \"<div class='tm-cta'>\" +\r\n            \"<span class='tm-block-label'>Tasando.com<\/span>\" +\r\n            \"<p>En <strong>Tasando.com<\/strong> apoyamos con monitoreo de mercados, an\u00e1lisis financiero, seguimiento de acciones, ETF y fondos mutuos, adem\u00e1s de soluciones de <strong>business intelligence y automatizaci\u00f3n de reportes<\/strong>.<\/p>\" +\r\n            \"<div class='tm-actions'>\" +\r\n              \"<a class='tm-btn tm-btn-primary' href='https:\/\/tasando.com\/propiedades\/fondos-mutuos\/' target='_blank' rel='noopener noreferrer'>Ver fondos mutuos<\/a>\" +\r\n              \"<a class='tm-btn tm-btn-secondary' href='https:\/\/wa.me\/56997878034' target='_blank' rel='noopener noreferrer'>WhatsApp<\/a>\" +\r\n            \"<\/div>\" +\r\n            \"<div class='tm-contact'>\" +\r\n              \"<a href='https:\/\/wa.me\/56997878034' target='_blank' rel='noopener noreferrer'>\ud83d\udcf2 WhatsApp: +56 99 7878 034<\/a>\" +\r\n              \"<a href='https:\/\/www.tasando.com' target='_blank' rel='noopener noreferrer'>\ud83c\udf10 www.tasando.com<\/a>\" +\r\n            \"<\/div>\" +\r\n          \"<\/div>\";\r\n\r\n        contenido.innerHTML = html;\n\n        \/\/ M38: tarjeta final Tasando.com distribuida en dos columnas.\n        (function(){\n          var tarjeta=contenido.querySelector(\".tm-cta\");\n          if(!tarjeta||tarjeta.querySelector(\".tm-cta-logo\"))return;\n          var izquierda=document.createElement(\"div\");\n          izquierda.className=\"tm-cta-izquierda\";\n          while(tarjeta.firstChild)izquierda.appendChild(tarjeta.firstChild);\n          var derecha=document.createElement(\"div\");\n          derecha.className=\"tm-cta-logo\";\n          var enlace=document.createElement(\"a\");\n          enlace.href=\"https:\/\/tasando.com\/propiedades\/\";\n          enlace.setAttribute(\"aria-label\",\"Tasando.com: ir al inicio\");\n          var imagen=document.createElement(\"img\");\n          var logoSuperior=document.querySelector(\"#cwp-header-wrap .cwp-desktop-header .custom-logo\")||document.querySelector(\"#cwp-header-wrap .custom-logo\");\n          imagen.src=(logoSuperior&&logoSuperior.getAttribute(\"src\"))||\"https:\/\/tasando.com\/propiedades\/wp-content\/uploads\/2026\/08\/cropped-image-1.png\";\n          imagen.alt=\"Logotipo Tasando.com\";\n          imagen.loading=\"lazy\";\n          imagen.decoding=\"async\";\n          imagen.width=636;\n          imagen.height=316;\n          enlace.appendChild(imagen);\n          derecha.appendChild(enlace);\n          tarjeta.appendChild(izquierda);\n          tarjeta.appendChild(derecha);\n          if(!document.getElementById(\"tm-cta-dos-columnas-m38\")){\n            var estilo=document.createElement(\"style\");\n            estilo.id=\"tm-cta-dos-columnas-m38\";\n            estilo.textContent=[\n              \"#tasando-mercados-descripcion-v14 .tm-cta{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center!important;column-gap:26px;row-gap:16px;padding:18px 20px!important}\",\n              \"#tasando-mercados-descripcion-v14 .tm-cta-izquierda{min-width:0;text-align:left}\",\n              \"#tasando-mercados-descripcion-v14 .tm-cta-izquierda .tm-actions{margin:12px 0!important;gap:10px}\",\n              \"#tasando-mercados-descripcion-v14 .tm-cta-logo{min-width:0;min-height:150px;display:flex;align-items:center;justify-content:center;border-left:1px solid #dbe5ef;padding:8px 12px 8px 24px}\",\n              \"#tasando-mercados-descripcion-v14 .tm-cta-logo a{display:flex;justify-content:center;align-items:center;width:100%;max-width:260px;text-decoration:none!important}\",\n              \"#tasando-mercados-descripcion-v14 .tm-cta-logo img{display:block;width:100%;height:auto;max-height:160px;object-fit:contain;object-position:center}\",\n              \"@media(max-width:760px){#tasando-mercados-descripcion-v14 .tm-cta{grid-template-columns:minmax(0,1fr)!important;padding:16px!important}#tasando-mercados-descripcion-v14 .tm-cta-logo{border-left:0;border-top:1px solid #dbe5ef;padding:16px 4px 0;min-height:0}#tasando-mercados-descripcion-v14 .tm-cta-logo a{max-width:220px}}\"\n            ].join(\"\\n\");\n            document.head.appendChild(estilo);\n          }\n        })();\n\n\n        (function(){\n          var rej=contenido.querySelector(\".tm-market-grid\");\n          if(!rej)return;\n          var nueva=document.createElement(\"aside\");\n          nueva.className=\"tm-reading-colors\";\n          nueva.innerHTML=\"<div class='tm-reading-label'>LECTURA RELATIVA DEL D\u00cdA<\/div><div class='tm-reading-value'>Actualizando lectura...<\/div>\";\n          rej.appendChild(nueva);\n          var fondosCard=contenido.querySelector('.tm-highlight-grid .tm-fm-card');\n          if(fondosCard)rej.appendChild(fondosCard);\n          var restante=contenido.querySelector('.tm-highlight-grid');\n          if(restante&&!restante.children.length)restante.remove();\n          if(!document.getElementById(\"tm-reading-m35-styles\")){\n            var st=document.createElement(\"style\");\n            st.id=\"tm-reading-m35-styles\";\n            st.textContent=[\n             \"html.tm-reading-m35 #tasando-mercados-resumen-v27 .tm-relative-card{display:flex!important}\",\n             \"html.tm-reading-m35 #tasando-mercados-resumen-v27 .tm-meta-panel{grid-template-columns:1fr 1fr 1.5fr!important}\",\n             \"#tasando-mercados-descripcion-v14 .tm-market-grid>.tm-reading-colors{grid-column:span 1;display:flex;flex-direction:column;justify-content:center;min-height:230px;min-width:0;padding:16px 16px;background:linear-gradient(135deg,#eef9f1,#dff3e5);border:1px solid #a4d7b4;border-radius:18px;box-shadow:0 8px 22px rgba(15,23,42,.065)}\",\n             \"#tasando-mercados-descripcion-v14 .tm-reading-colors .tm-reading-label{font-size:12px;line-height:1.2;font-weight:850;letter-spacing:.04em;color:#41668d;margin-bottom:12px}\",\n             \"#tasando-mercados-descripcion-v14 .tm-reading-colors .tm-reading-value{font-weight:950;font-size:clamp(15px,1.25vw,18px);line-height:1.24;overflow-wrap:anywhere;color:#102a54}\",\n             \"#tasando-mercados-descripcion-v14 .tm-reading-colors .tm-relative-market{font-weight:950}\",\n             \"#tasando-mercados-descripcion-v14 .tm-reading-colors .tm-market-strong-pos{color:#0057ff}\",\n             \"#tasando-mercados-descripcion-v14 .tm-reading-colors .tm-market-pos{color:#5b88d8}\",\n             \"#tasando-mercados-descripcion-v14 .tm-reading-colors .tm-market-neutral{color:#173b70}\",\n             \"#tasando-mercados-descripcion-v14 .tm-reading-colors .tm-market-soft-neg{color:#7890b8}\",\n             \"#tasando-mercados-descripcion-v14 .tm-reading-colors .tm-market-neg{color:#e3263e}\",\n             \"#tasando-mercados-descripcion-v14 .tm-reading-colors .tm-market-strong-neg{color:#ff001f}\",\n             \"#tasando-mercados-descripcion-v14 .tm-reading-colors.tm-rel-strong-pos{background:linear-gradient(135deg,#dff7e8,#c9efd7);border-color:#78c893}\",\n             \"#tasando-mercados-descripcion-v14 .tm-reading-colors.tm-rel-pos{background:linear-gradient(135deg,#eef9f1,#dff3e5);border-color:#a4d7b4}\",\n             \"#tasando-mercados-descripcion-v14 .tm-reading-colors.tm-rel-neutral{background:linear-gradient(135deg,#fff,#f3f6f9);border-color:#d7dde6}\",\n             \"#tasando-mercados-descripcion-v14 .tm-reading-colors.tm-rel-soft-neg{background:linear-gradient(135deg,#fbf5f6,#f6e9ec);border-color:#e4c8cf}\",\n             \"#tasando-mercados-descripcion-v14 .tm-reading-colors.tm-rel-neg{background:linear-gradient(135deg,#fcecf0,#f6dde3);border-color:#dfaaba}\",\n             \"#tasando-mercados-descripcion-v14 .tm-reading-colors.tm-rel-strong-neg{background:linear-gradient(135deg,#f4dfe3,#e9c8cf);border-color:#c98998}\",\n             \"@media(max-width:1200px){#tasando-mercados-descripcion-v14 .tm-market-grid>.tm-reading-colors{grid-column:span 1}}\",\n             \"@media(max-width:760px){#tasando-mercados-descripcion-v14 .tm-market-grid>.tm-reading-colors{grid-column:1\/-1;min-height:145px;padding:18px}#tasando-mercados-descripcion-v14 .tm-reading-colors .tm-reading-value{font-size:18px}}\"\n            ].join(\"\\n\");\n            document.head.appendChild(st);\n          }\n          var src=document.querySelector(\"#tasando-mercados-resumen-v27 .tm-relative-card\");\n          if(!src)return;\n          var sync=function(){\n            var original=document.querySelector(\"#tasando-mercados-resumen-v27 .tm-relative-card\");\n            var target=document.querySelector(\"#tasando-mercados-descripcion-v14 .tm-market-grid>.tm-reading-colors\");\n            var val=original&&original.querySelector(\"#tmResumenLecturaV27\");\n            if(!target||!val||!val.textContent.trim()||\/cargando\/i.test(val.textContent))return;\n            var inner=target.querySelector(\".tm-reading-value\");\n            if(inner&&inner.innerHTML!==val.innerHTML)inner.innerHTML=val.innerHTML;\n            target.className=\"tm-reading-colors \"+Array.from(original.classList).filter(function(c){return c.indexOf(\"tm-rel-\")===0}).join(\" \");\n            document.documentElement.classList.add(\"tm-reading-m35\");\n          };\n          if(!window.__tmReadingM35Observer){\n            window.__tmReadingM35Observer=new MutationObserver(sync);\n            window.__tmReadingM35Observer.observe(src,{attributes:true,childList:true,subtree:true,characterData:true});\n          }\n          sync();\n        })();\n\r\n      }\r\n\r\n      function renderError(error) {\r\n        contenido.innerHTML =\r\n          \"<div class='tm-error'>\" +\r\n          \"<strong>No fue posible cargar el comentario de Tasando.com.<\/strong><br>\" +\r\n          esc(error.message || error) +\r\n          \"<\/div>\";\r\n      }\r\n\r\n      function fetchJson(url) {\r\n        const sep = url.includes(\"?\") ? \"&\" : \"?\";\r\n        const finalUrl = url + sep + \"refresh=1&_=\" + Date.now();\r\n\r\n        return fetch(finalUrl, {\r\n          method: \"GET\",\r\n          credentials: \"same-origin\",\r\n          cache: \"no-store\"\r\n        }).then(function (response) {\r\n          if (!response.ok) throw new Error(\"HTTP \" + response.status + \" en \" + url);\r\n          return response.json();\r\n        });\r\n      }\r\n\r\n      function probarEndpoint(i, ultimoError) {\r\n        if (i >= endpoints.length) throw ultimoError || new Error(\"No se pudo consultar ning\u00fan endpoint.\");\r\n\r\n        return fetchJson(endpoints[i]).catch(function (err) {\r\n          return probarEndpoint(i + 1, err);\r\n        });\r\n      }\r\n\r\n      probarEndpoint(0, null)\r\n        .then(extraerComentario)\r\n        .then(renderCuerpo)\r\n        .catch(renderError);\r\n    })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dd68259 elementor-widget elementor-widget-html\" data-id=\"dd68259\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\r\n     TASANDO.COM | BLOQUE EXPLICATIVO ECUACI\u00d3N DE SE\u00d1ALES\r\n     Ubicaci\u00f3n sugerida:\r\n     - Debajo del ranking general \/ indicadores por familia.\r\n     - Antes de la descripci\u00f3n por mercados.\r\n     ========================================================= -->\r\n\r\n<section id=\"tasando-metodo-senales\">\r\n  <style>\r\n    #tasando-metodo-senales {\r\n      --tm-blue: #102a54;\r\n      --tm-dark: #0f172a;\r\n      --tm-text: #1e293b;\r\n      --tm-muted: #64748b;\r\n      --tm-line: #cbd5e1;\r\n      --tm-green: #69be28;\r\n      --tm-soft: #f8fafc;\r\n\r\n      width: min(1240px, calc(100vw - 120px)) !important;\r\n      max-width: min(1240px, calc(100vw - 120px)) !important;\r\n      margin: 18px auto 22px auto !important;\r\n      font-family: Arial, Helvetica, sans-serif;\r\n      color: var(--tm-text);\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-metodo-senales,\r\n    #tasando-metodo-senales * {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-panel {\r\n      background:\r\n        radial-gradient(circle at top right, rgba(105,190,40,0.12), transparent 260px),\r\n        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);\r\n      border: 1px solid var(--tm-line);\r\n      border-radius: 22px;\r\n      padding: 22px;\r\n      box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-eyebrow {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      width: fit-content;\r\n      padding: 7px 12px;\r\n      border-radius: 999px;\r\n      background: #edf6e8;\r\n      border: 1px solid rgba(105,190,40,0.28);\r\n      color: var(--tm-blue);\r\n      font-size: 12px;\r\n      font-weight: 850;\r\n      margin-bottom: 12px;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-eyebrow::before {\r\n      content: \"\";\r\n      width: 7px;\r\n      height: 7px;\r\n      border-radius: 50%;\r\n      background: var(--tm-green);\r\n      box-shadow: 0 0 0 4px rgba(105,190,40,0.14);\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-title {\r\n      margin: 0 0 8px 0;\r\n      color: var(--tm-dark);\r\n      font-size: clamp(22px, 1.8vw, 30px);\r\n      line-height: 1.15;\r\n      font-weight: 900;\r\n      letter-spacing: -0.4px;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-intro {\r\n      margin: 0 0 18px 0;\r\n      color: #475569;\r\n      font-size: 14px;\r\n      line-height: 1.55;\r\n      max-width: 980px;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-grid {\r\n      display: grid;\r\n      grid-template-columns: 1.1fr 1fr 1fr;\r\n      gap: 14px;\r\n      align-items: stretch;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-card {\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      border-radius: 17px;\r\n      padding: 16px;\r\n      box-shadow: 0 8px 20px rgba(15, 23, 42, 0.055);\r\n      min-height: 155px;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-card-title {\r\n      margin: 0 0 10px 0;\r\n      color: var(--tm-blue);\r\n      font-size: 12px;\r\n      line-height: 1.2;\r\n      font-weight: 900;\r\n      text-transform: uppercase;\r\n      letter-spacing: 0.04em;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-formula-box {\r\n      background: linear-gradient(135deg, #0f172a 0%, #102a54 100%);\r\n      border-radius: 16px;\r\n      padding: 16px;\r\n      color: #ffffff;\r\n      min-height: 155px;\r\n      display: flex;\r\n      flex-direction: column;\r\n      justify-content: center;\r\n      box-shadow: inset 0 0 0 1px rgba(255,255,255,0.10);\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-formula-label {\r\n      margin: 0 0 8px 0;\r\n      color: rgba(255,255,255,0.72);\r\n      font-size: 11px;\r\n      font-weight: 850;\r\n      text-transform: uppercase;\r\n      letter-spacing: 0.06em;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-formula {\r\n      margin: 0;\r\n      font-size: clamp(19px, 1.6vw, 25px);\r\n      line-height: 1.25;\r\n      font-weight: 900;\r\n      letter-spacing: -0.2px;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-formula small {\r\n      display: block;\r\n      margin-top: 8px;\r\n      color: rgba(255,255,255,0.72);\r\n      font-size: 12px;\r\n      line-height: 1.35;\r\n      font-weight: 600;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-list {\r\n      margin: 0;\r\n      padding: 0;\r\n      list-style: none;\r\n      display: grid;\r\n      gap: 8px;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-list li {\r\n      position: relative;\r\n      padding-left: 18px;\r\n      color: #334155;\r\n      font-size: 13px;\r\n      line-height: 1.4;\r\n      font-weight: 600;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-list li::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      left: 0;\r\n      top: 6px;\r\n      width: 7px;\r\n      height: 7px;\r\n      border-radius: 50%;\r\n      background: var(--tm-green);\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-highlight {\r\n      margin-top: 14px;\r\n      display: grid;\r\n      grid-template-columns: repeat(4, minmax(0, 1fr));\r\n      gap: 10px;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-mini {\r\n      background: #ffffff;\r\n      border: 1px solid #d7dde6;\r\n      border-radius: 14px;\r\n      padding: 12px;\r\n      min-height: 88px;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-mini-label {\r\n      margin: 0 0 7px 0;\r\n      color: #64748b;\r\n      font-size: 10px;\r\n      line-height: 1;\r\n      font-weight: 900;\r\n      text-transform: uppercase;\r\n      letter-spacing: 0.04em;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-mini-value {\r\n      margin: 0;\r\n      color: #0f172a;\r\n      font-size: 13px;\r\n      line-height: 1.32;\r\n      font-weight: 800;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-vix-note {\r\n      border-color: rgba(105,190,40,0.35);\r\n      background:\r\n        radial-gradient(circle at top right, rgba(105,190,40,0.13), transparent 110px),\r\n        #ffffff;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-foot {\r\n      margin: 14px 0 0 0;\r\n      padding: 12px 14px;\r\n      border-radius: 14px;\r\n      background: rgba(239,246,255,0.72);\r\n      border: 1px solid #dbeafe;\r\n      color: #334155;\r\n      font-size: 12.5px;\r\n      line-height: 1.5;\r\n      font-weight: 550;\r\n    }\r\n\r\n    #tasando-metodo-senales .tm-method-foot strong {\r\n      color: var(--tm-blue);\r\n      font-weight: 900;\r\n    }\r\n\r\n    @media (max-width: 980px) {\r\n      #tasando-metodo-senales {\r\n        width: calc(100vw - 48px) !important;\r\n        max-width: calc(100vw - 48px) !important;\r\n      }\r\n\r\n      #tasando-metodo-senales .tm-method-grid {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #tasando-metodo-senales .tm-method-highlight {\r\n        grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      }\r\n    }\r\n\r\n    @media (max-width: 560px) {\r\n      #tasando-metodo-senales {\r\n        width: 100% !important;\r\n        max-width: 100% !important;\r\n        padding: 0 10px !important;\r\n      }\r\n\r\n      #tasando-metodo-senales .tm-method-panel {\r\n        padding: 16px;\r\n        border-radius: 18px;\r\n      }\r\n\r\n      #tasando-metodo-senales .tm-method-highlight {\r\n        grid-template-columns: 1fr;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"tm-method-panel\">\r\n    <div class=\"tm-method-eyebrow\">Metodolog\u00eda de lectura<\/div>\r\n\r\n    <h2 class=\"tm-method-title\">C\u00f3mo se calcula la se\u00f1al por familia<\/h2>\r\n\r\n    <p class=\"tm-method-intro\">\r\n      Cada porcentaje resume una lectura t\u00e1ctica de mercado por bloque regional. No corresponde necesariamente al retorno de un solo \u00edndice, sino a una se\u00f1al agregada construida desde los principales \u00edndices representativos de cada familia.\r\n    <\/p>\r\n\r\n    <div class=\"tm-method-grid\">\r\n      <div class=\"tm-formula-box\">\r\n        <p class=\"tm-formula-label\">Ecuaci\u00f3n general<\/p>\r\n        <p class=\"tm-formula\">\r\n          Se\u00f1al familia = \u03a3<br>\r\n          peso \u00edndice \u00d7 variaci\u00f3n \u00edndice\r\n          <small>\r\n            La se\u00f1al se expresa como variaci\u00f3n porcentual diaria agregada del bloque.\r\n          <\/small>\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"tm-method-card\">\r\n        <h3 class=\"tm-method-card-title\">Qu\u00e9 entra al c\u00e1lculo<\/h3>\r\n        <ul class=\"tm-method-list\">\r\n          <li>\u00cdndices burs\u00e1tiles representativos de cada regi\u00f3n.<\/li>\r\n          <li>Variaci\u00f3n diaria respecto de la base de comparaci\u00f3n.<\/li>\r\n          <li>Ponderaci\u00f3n seg\u00fan relevancia del mercado dentro de la familia.<\/li>\r\n          <li>Clasificaci\u00f3n cualitativa: positivo, neutro o negativo.<\/li>\r\n        <\/ul>\r\n      <\/div>\r\n\r\n      <div class=\"tm-method-card\">\r\n        <h3 class=\"tm-method-card-title\">C\u00f3mo debe leerse<\/h3>\r\n        <ul class=\"tm-method-list\">\r\n          <li>No es una recomendaci\u00f3n autom\u00e1tica de compra o venta.<\/li>\r\n          <li>Sirve como term\u00f3metro diario de apetito por riesgo.<\/li>\r\n          <li>Debe cruzarse con tendencia, aceleraci\u00f3n y ranking de fondos.<\/li>\r\n          <li>El mini gr\u00e1fico muestra la evoluci\u00f3n de la se\u00f1al, no el nivel del \u00edndice.<\/li>\r\n        <\/ul>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"tm-method-highlight\">\r\n      <div class=\"tm-mini\">\r\n        <p class=\"tm-mini-label\">Chile \/ IPSA<\/p>\r\n        <p class=\"tm-mini-value\">\r\n          Se\u00f1al local basada en el comportamiento diario del IPSA.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"tm-mini\">\r\n        <p class=\"tm-mini-label\">USA<\/p>\r\n        <p class=\"tm-mini-value\">\r\n          Lectura agregada de \u00edndices estadounidenses amplios y tecnol\u00f3gicos.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"tm-mini\">\r\n        <p class=\"tm-mini-label\">Global \/ Europa \/ Asia<\/p>\r\n        <p class=\"tm-mini-value\">\r\n          Bloques construidos con \u00edndices representativos de sus principales mercados.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"tm-mini tm-vix-note\">\r\n        <p class=\"tm-mini-label\">VIX<\/p>\r\n        <p class=\"tm-mini-value\">\r\n          Lectura inversa: si baja, suele indicar menor volatilidad esperada; si sube, mayor cautela.\r\n        <\/p>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <p class=\"tm-method-foot\">\r\n      <strong>Nota:<\/strong> el objetivo del indicador es sintetizar direcci\u00f3n y fuerza relativa por familia de mercado. Por eso puede diferir visualmente de un gr\u00e1fico tradicional de precios o niveles de \u00edndice, como el IPSA, S&amp;P 500 o Nasdaq.\r\n    <\/p>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-458c663 elementor-widget__width-initial elementor-widget elementor-widget-html\" data-id=\"458c663\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\r\n     TASANDO.COM | CTA SIMPLE MERCADOS & NOTICIAS\r\n     Uso sugerido: insertar despu\u00e9s de la galer\u00eda RSS\r\n     ========================================================= -->\r\n\r\n<section id=\"tasando-mercados-cta-simple\">\r\n  <style>\r\n    #tasando-mercados-cta-simple {\r\n      --tm-max: 1180px;\r\n      --tm-blue: #102a54;\r\n      --tm-green: #2f9e44;\r\n      --tm-green-soft: #e9f7ee;\r\n      --tm-text: #102033;\r\n      --tm-muted: #556273;\r\n      --tm-border: rgba(15, 23, 42, 0.10);\r\n      --tm-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);\r\n\r\n      width: min(var(--tm-max), calc(100vw - 40px));\r\n      margin: 28px auto;\r\n      font-family: Arial, Helvetica, sans-serif;\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-mercados-cta-simple,\r\n    #tasando-mercados-cta-simple * {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-mercados-cta-simple .tm-cta-box {\r\n      display: grid;\r\n      grid-template-columns: minmax(0, 1fr) auto;\r\n      gap: 22px;\r\n      align-items: center;\r\n\r\n      border-radius: 22px;\r\n      padding: 24px;\r\n\r\n      background:\r\n        radial-gradient(circle at 12% 20%, rgba(47, 158, 68, 0.18) 0%, transparent 32%),\r\n        linear-gradient(135deg, #eef6e8 0%, #f8fafc 58%, #eef4ff 100%);\r\n\r\n      border: 1px solid var(--tm-border);\r\n      box-shadow: var(--tm-shadow);\r\n    }\r\n\r\n    #tasando-mercados-cta-simple h3 {\r\n      margin: 0;\r\n      color: var(--tm-text);\r\n      font-size: clamp(22px, 2.2vw, 30px);\r\n      line-height: 1.15;\r\n      font-weight: 900;\r\n      letter-spacing: -0.4px;\r\n      max-width: 820px;\r\n    }\r\n\r\n    #tasando-mercados-cta-simple p {\r\n      margin: 9px 0 0 0;\r\n      color: var(--tm-muted);\r\n      font-size: 14px;\r\n      line-height: 1.55;\r\n      max-width: 880px;\r\n    }\r\n\r\n    #tasando-mercados-cta-simple .tm-btn {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      min-width: 220px;\r\n\r\n      border-radius: 12px;\r\n      padding: 14px 18px;\r\n\r\n      background: var(--tm-green);\r\n      color: #ffffff !important;\r\n      text-decoration: none !important;\r\n\r\n      font-size: 14px;\r\n      font-weight: 900;\r\n      box-shadow: 0 10px 24px rgba(47, 158, 68, 0.28);\r\n\r\n      transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;\r\n    }\r\n\r\n    #tasando-mercados-cta-simple .tm-btn:hover {\r\n      transform: translateY(-1px);\r\n      opacity: 0.96;\r\n      box-shadow: 0 14px 28px rgba(47, 158, 68, 0.34);\r\n    }\r\n\r\n    #tasando-mercados-cta-simple .tm-disclaimer {\r\n      margin-top: 12px;\r\n      color: #6b7788;\r\n      font-size: 11.5px;\r\n      line-height: 1.45;\r\n      text-align: center;\r\n    }\r\n\r\n    @media (max-width: 900px) {\r\n      #tasando-mercados-cta-simple .tm-cta-box {\r\n        grid-template-columns: 1fr;\r\n        gap: 16px;\r\n      }\r\n\r\n      #tasando-mercados-cta-simple .tm-btn {\r\n        width: fit-content;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 640px) {\r\n      #tasando-mercados-cta-simple {\r\n        width: calc(100vw - 24px);\r\n        margin: 22px auto;\r\n      }\r\n\r\n      #tasando-mercados-cta-simple .tm-cta-box {\r\n        padding: 18px;\r\n        border-radius: 18px;\r\n      }\r\n\r\n      #tasando-mercados-cta-simple h3 {\r\n        font-size: 22px;\r\n      }\r\n\r\n      #tasando-mercados-cta-simple p {\r\n        font-size: 13.2px;\r\n      }\r\n\r\n      #tasando-mercados-cta-simple .tm-btn {\r\n        width: 100%;\r\n        min-width: 0;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"tm-cta-box\">\r\n    <div>\r\n      <h3>\r\n        \u00bfQuieres una lectura m\u00e1s profunda de mercados financieros, fondos o matrices comparativas?\r\n      <\/h3>\r\n\r\n      <p>\r\n        Tasando.com puede apoyar el an\u00e1lisis de instrumentos, interpretaci\u00f3n de se\u00f1ales,\r\n        comparaci\u00f3n de fondos, lectura de riesgo y construcci\u00f3n de insumos para decisiones\r\n        de inversi\u00f3n y gesti\u00f3n patrimonial.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <a class=\"tm-btn\" href=\"https:\/\/tasando.com\/propiedades\/contacto\/\" target=\"_self\">\r\n      Contactar a Tasando.com \u2192\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <div class=\"tm-disclaimer\">\r\n    Contenido informativo y educativo. No constituye recomendaci\u00f3n personalizada de inversi\u00f3n.\r\n    Toda decisi\u00f3n debe considerar objetivos, horizonte, tolerancia al riesgo y situaci\u00f3n financiera de cada usuario.\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f309903 elementor-widget elementor-widget-html\" data-id=\"f309903\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\r\n     FOOTER TASANDO CUSTOM - GRILLA 6 CELDAS\r\n     - Im\u00e1genes sin enlaces\r\n     - Iconos sociales con enlaces reales\r\n     - Dise\u00f1ado para pegar en Elementor como widget HTML\r\n     - Grilla institucional de 6 celdas\r\n     - 5 logos cargados + 1 celda pendiente para nuevo logo\r\n     ========================================================= -->\r\n<section id=\"tasando-footer-custom\" aria-label=\"Footer Tasando\">\r\n  <style>\r\n    \/* =========================================================\r\n       CORRECCI\u00d3N PARA ELEMENTOR\r\n       Fuerza que el widget HTML que contiene este footer no quede\r\n       con ancho personalizado ni desplazado.\r\n       ========================================================= *\/\r\n    body .elementor-widget-html:has(#tasando-footer-custom),\r\n    body .elementor-widget-html:has(#tasando-footer-custom) > .elementor-widget-container {\r\n      width: 100% !important;\r\n      max-width: 100% !important;\r\n      min-width: 0 !important;\r\n      margin-left: auto !important;\r\n      margin-right: auto !important;\r\n      padding-left: 0 !important;\r\n      padding-right: 0 !important;\r\n      left: auto !important;\r\n      right: auto !important;\r\n      transform: none !important;\r\n      align-self: stretch !important;\r\n      overflow: visible !important;\r\n    }\r\n\r\n    #tasando-footer-custom {\r\n      --tf-blue: #102a54;\r\n      --tf-blue-2: #1f3763;\r\n      --tf-green: #69be28;\r\n      --tf-text: #ffffff;\r\n      --tf-muted: rgba(255, 255, 255, 0.86);\r\n      --tf-line: rgba(255, 255, 255, 0.16);\r\n      --tf-card: rgba(255, 255, 255, 0.97);\r\n      --tf-shadow: 0 18px 42px rgba(0, 0, 0, 0.18);\r\n\r\n      display: block;\r\n      width: min(1180px, calc(100vw - 48px)) !important;\r\n      max-width: none !important;\r\n      margin: 48px auto 0 auto !important;\r\n      padding: 0;\r\n      font-family: Arial, Helvetica, sans-serif;\r\n      color: var(--tf-text);\r\n      box-sizing: border-box;\r\n      clear: both;\r\n      overflow: visible;\r\n      position: relative;\r\n      left: auto;\r\n      right: auto;\r\n      transform: none;\r\n    }\r\n\r\n    #tasando-footer-custom * {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-wrap {\r\n      width: 100%;\r\n      margin: 0 auto;\r\n      padding: 46px 28px 26px 28px;\r\n      border-radius: 0;\r\n      background:\r\n        radial-gradient(circle at 12% 18%, rgba(105, 190, 40, 0.14), transparent 26%),\r\n        radial-gradient(circle at 82% 22%, rgba(255, 255, 255, 0.08), transparent 24%),\r\n        linear-gradient(135deg, rgba(16, 42, 84, 0.98), rgba(31, 55, 99, 0.96));\r\n      overflow: hidden;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-container {\r\n      width: 100%;\r\n      max-width: 1120px;\r\n      margin: 0 auto;\r\n      padding: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-main {\r\n      display: grid;\r\n      grid-template-columns: minmax(260px, 0.78fr) minmax(0, 2.22fr);\r\n      gap: 30px;\r\n      align-items: stretch;\r\n      width: 100%;\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-info {\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-info h3 {\r\n      margin: 0 0 12px 0;\r\n      color: #ffffff;\r\n      font-size: clamp(22px, 2vw, 30px);\r\n      line-height: 1.12;\r\n      letter-spacing: -0.3px;\r\n      font-weight: 950;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-info p {\r\n      margin: 0 0 20px 0;\r\n      color: var(--tf-muted);\r\n      font-size: 15px;\r\n      line-height: 1.65;\r\n      max-width: 410px;\r\n      font-weight: 600;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-phone {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      width: max-content;\r\n      color: #ffffff;\r\n      font-size: 17px;\r\n      line-height: 1.1;\r\n      font-weight: 950;\r\n      text-decoration: none;\r\n      transition: color 0.18s ease;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-phone:hover {\r\n      color: var(--tf-green);\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logos {\r\n      display: grid;\r\n      grid-template-columns: repeat(3, minmax(0, 1fr));\r\n      gap: 16px;\r\n      align-items: stretch;\r\n      width: 100%;\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card {\r\n      width: 100%;\r\n      min-width: 0;\r\n      min-height: 138px;\r\n      padding: 16px;\r\n      border-radius: 18px;\r\n      background: var(--tf-card);\r\n      border: 1px solid rgba(255, 255, 255, 0.75);\r\n      box-shadow: var(--tf-shadow);\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      overflow: hidden;\r\n      cursor: default;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card img {\r\n      display: block;\r\n      width: auto;\r\n      max-width: 100%;\r\n      height: auto;\r\n      object-fit: contain;\r\n      border-radius: 10px;\r\n      pointer-events: none;\r\n      user-select: none;\r\n      -webkit-user-drag: none;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-usm img {\r\n      max-height: 94px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-ifrs img {\r\n      max-height: 78px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-inn img {\r\n      max-height: 88px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-uc img {\r\n      max-height: 92px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-pucv img {\r\n      max-height: 96px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-pending {\r\n      background:\r\n        linear-gradient(135deg, rgba(255,255,255,0.92), rgba(237,246,232,0.96));\r\n      border: 1px dashed rgba(16, 42, 84, 0.28);\r\n      color: var(--tf-blue);\r\n      text-align: center;\r\n      padding: 18px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-pending-text {\r\n      display: block;\r\n      font-size: 13px;\r\n      line-height: 1.25;\r\n      font-weight: 950;\r\n      letter-spacing: -0.1px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-pending-sub {\r\n      display: block;\r\n      margin-top: 5px;\r\n      font-size: 11px;\r\n      line-height: 1.25;\r\n      font-weight: 800;\r\n      color: rgba(16, 42, 84, 0.68);\r\n    }\r\n\r\n    #tasando-footer-custom .tf-bottom {\r\n      margin-top: 34px;\r\n      padding-top: 22px;\r\n      border-top: 1px solid var(--tf-line);\r\n      display: grid;\r\n      grid-template-columns: 1fr auto;\r\n      gap: 22px;\r\n      align-items: center;\r\n      width: 100%;\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-copy {\r\n      color: rgba(255, 255, 255, 0.92);\r\n      font-size: 14px;\r\n      line-height: 1.45;\r\n      font-weight: 600;\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-copy a {\r\n      color: var(--tf-green);\r\n      font-weight: 950;\r\n      text-decoration: none;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-copy a:hover {\r\n      text-decoration: underline;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-social {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: flex-end;\r\n      gap: 14px;\r\n      flex-wrap: wrap;\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-social a {\r\n      width: 30px;\r\n      height: 30px;\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      border-radius: 999px;\r\n      text-decoration: none;\r\n      transition: transform 0.18s ease, background 0.18s ease;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-social a:hover {\r\n      transform: translateY(-2px);\r\n      background: rgba(255, 255, 255, 0.12);\r\n    }\r\n\r\n    #tasando-footer-custom .tf-social svg {\r\n      width: 18px;\r\n      height: 18px;\r\n      display: block;\r\n      fill: currentColor;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-facebook { color: #1877f2; }\r\n    #tasando-footer-custom .tf-whatsapp { color: #25d366; }\r\n    #tasando-footer-custom .tf-linkedin { color: #0a66c2; }\r\n    #tasando-footer-custom .tf-instagram { color: #e4405f; }\r\n    #tasando-footer-custom .tf-youtube { color: #ff0000; }\r\n\r\n    @media (max-width: 980px) {\r\n      #tasando-footer-custom {\r\n        width: calc(100vw - 32px) !important;\r\n        margin-top: 38px !important;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-wrap {\r\n        padding: 38px 22px 26px 22px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-main {\r\n        grid-template-columns: 1fr;\r\n        gap: 28px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-info p {\r\n        max-width: 100%;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-logos {\r\n        grid-template-columns: repeat(3, minmax(0, 1fr));\r\n      }\r\n\r\n      #tasando-footer-custom .tf-logo-card {\r\n        min-height: 132px;\r\n        padding: 15px;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 720px) {\r\n      #tasando-footer-custom {\r\n        width: calc(100vw - 24px) !important;\r\n        margin-top: 34px !important;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-wrap {\r\n        padding: 34px 18px 24px 18px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-logos {\r\n        grid-template-columns: 1fr;\r\n        gap: 14px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-logo-card {\r\n        min-height: 138px;\r\n        padding: 18px;\r\n        border-radius: 18px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-logo-card-usm img,\r\n      #tasando-footer-custom .tf-logo-card-ifrs img,\r\n      #tasando-footer-custom .tf-logo-card-inn img,\r\n      #tasando-footer-custom .tf-logo-card-uc img,\r\n      #tasando-footer-custom .tf-logo-card-pucv img {\r\n        max-height: 92px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-bottom {\r\n        grid-template-columns: 1fr;\r\n        gap: 16px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-social {\r\n        justify-content: flex-start;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"tf-wrap\">\r\n    <div class=\"tf-container\">\r\n\r\n      <div class=\"tf-main\">\r\n        <div class=\"tf-info\">\r\n          <h3>Est\u00e1ndares Nacionales e Internacionales<\/h3>\r\n          <p>\r\n            Tasaciones y an\u00e1lisis t\u00e9cnicos con enfoque profesional, respaldo metodol\u00f3gico\r\n            y criterios consistentes para distintos tipos de activos y encargos.\r\n          <\/p>\r\n          <a class=\"tf-phone\" href=\"tel:+56997878034\">+56 99 7878 034<\/a>\r\n        <\/div>\r\n\r\n        <div class=\"tf-logos\" aria-label=\"Referencias t\u00e9cnicas y est\u00e1ndares profesionales\">\r\n          <div class=\"tf-logo-card tf-logo-card-usm\">\r\n            <img\r\n              src=\"https:\/\/portalusm.helen.cl\/img\/logo_usm.png\"\r\n              alt=\"Universidad T\u00e9cnica Federico Santa Mar\u00eda\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n\r\n          <div class=\"tf-logo-card tf-logo-card-uc\">\r\n            <img\r\n              src=\"https:\/\/co-lab-research.net\/wp-content\/uploads\/2018\/03\/logo-puc-chile.jpg?w=620\"\r\n              alt=\"Pontificia Universidad Cat\u00f3lica de Chile\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n\r\n          <div class=\"tf-logo-card tf-logo-card-pucv\">\r\n            <img\r\n              src=\"https:\/\/www.pucv.cl\/uuaa\/site\/artic\/20160808\/imag\/foto_0000000120160808123016.png\"\r\n              alt=\"Pontificia Universidad Cat\u00f3lica de Valpara\u00edso\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n\r\n          <div class=\"tf-logo-card tf-logo-card-ifrs\">\r\n            <img\r\n              src=\"https:\/\/pmpartners.es\/wp-content\/uploads\/2024\/04\/international-financial-reporting-standards-ifrs-foundation-vector-logo-removebg-preview.png\"\r\n              alt=\"IFRS - International Financial Reporting Standards\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n\r\n          <div class=\"tf-logo-card tf-logo-card-inn\">\r\n            <img\r\n              src=\"https:\/\/managementsystems.world\/media\/images\/logos\/instituto_nacional_de_normalizacion_inn\"\r\n              alt=\"Instituto Nacional de Normalizaci\u00f3n\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n\r\n           <div class=\"tf-logo-card tf-logo-card-inn\">\r\n            <img\r\n              src=\"https:\/\/q-bo.org\/wp-content\/uploads\/logo-normas-iso-1000x828.png\"\r\n              alt=\"Logo ISO\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"tf-bottom\">\r\n        <div class=\"tf-copy\">\r\n          Copyright \u00a9 2026 Tasando.com - Powered by\r\n          <a href=\"https:\/\/www.superchat.cl\" target=\"_blank\" rel=\"noopener\">www.superchat.cl<\/a>\r\n        <\/div>\r\n\r\n        <nav class=\"tf-social\" aria-label=\"Redes sociales Tasando\">\r\n          <a class=\"tf-facebook\" href=\"https:\/\/www.facebook.com\/profile.php?id=100084838899398\" target=\"_blank\" rel=\"noopener\" aria-label=\"Facebook Tasando\">\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M14 8.5V6.9c0-.8.2-1.3 1.3-1.3H17V2.2c-.8-.1-1.7-.2-2.6-.2-2.7 0-4.6 1.7-4.6 4.7v1.8H6.8V12h3v10H14V12h2.9l.5-3.5H14z\"\/>\r\n            <\/svg>\r\n          <\/a>\r\n\r\n          <a class=\"tf-whatsapp\" href=\"https:\/\/api.whatsapp.com\/send?phone=56997878034\" target=\"_blank\" rel=\"noopener\" aria-label=\"WhatsApp Tasando\">\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M20.5 3.5A11.8 11.8 0 0 0 12.1 0C5.6 0 .3 5.3.3 11.8c0 2.1.5 4.1 1.6 5.9L0 24l6.5-1.7a11.8 11.8 0 0 0 5.6 1.4h.1c6.5 0 11.8-5.3 11.8-11.8 0-3.2-1.2-6.1-3.5-8.4zm-8.4 18.2c-1.8 0-3.5-.5-5-1.4l-.4-.2-3.9 1 1-3.8-.2-.4a9.8 9.8 0 0 1-1.5-5.2c0-5.4 4.4-9.8 9.9-9.8 2.6 0 5.1 1 7 2.9a9.8 9.8 0 0 1 2.9 7c.1 5.5-4.3 9.9-9.8 9.9zm5.4-7.4c-.3-.1-1.8-.9-2.1-1-.3-.1-.5-.1-.7.1-.2.3-.8 1-.9 1.2-.2.2-.3.2-.6.1-.3-.1-1.2-.4-2.3-1.4-.9-.8-1.4-1.7-1.6-2-.2-.3 0-.5.1-.6l.5-.6c.2-.2.2-.3.3-.5.1-.2.1-.4 0-.6-.1-.1-.7-1.7-1-2.3-.3-.6-.5-.5-.7-.5h-.6c-.2 0-.6.1-.9.4-.3.3-1.2 1.2-1.2 2.9s1.3 3.4 1.5 3.6c.2.2 2.5 3.8 6 5.3.8.4 1.5.6 2 .7.8.3 1.6.2 2.2.1.7-.1 1.8-.7 2.1-1.4.3-.7.3-1.3.2-1.4-.1-.2-.3-.3-.6-.4z\"\/>\r\n            <\/svg>\r\n          <\/a>\r\n\r\n          <a class=\"tf-linkedin\" href=\"https:\/\/www.linkedin.com\/company\/101137461\" target=\"_blank\" rel=\"noopener\" aria-label=\"LinkedIn Tasando\">\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M4.98 3.5C4.98 4.88 3.86 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1s2.48 1.12 2.48 2.5zM.3 8h4.4v15H.3V8zm7.1 0h4.2v2.1h.1c.6-1.1 2.1-2.4 4.3-2.4 4.6 0 5.4 3 5.4 6.9V23H17v-7.4c0-1.8 0-4-2.5-4s-2.9 1.9-2.9 3.9V23H7.4V8z\"\/>\r\n            <\/svg>\r\n          <\/a>\r\n\r\n          <a class=\"tf-instagram\" href=\"https:\/\/www.instagram.com\/tasando_com\/\" target=\"_blank\" rel=\"noopener\" aria-label=\"Instagram Tasando\">\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M7.5 2h9A5.5 5.5 0 0 1 22 7.5v9a5.5 5.5 0 0 1-5.5 5.5h-9A5.5 5.5 0 0 1 2 16.5v-9A5.5 5.5 0 0 1 7.5 2zm0 2A3.5 3.5 0 0 0 4 7.5v9A3.5 3.5 0 0 0 7.5 20h9a3.5 3.5 0 0 0 3.5-3.5v-9A3.5 3.5 0 0 0 16.5 4h-9zM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6zm5.3-2.2a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4z\"\/>\r\n            <\/svg>\r\n          <\/a>\r\n\r\n          <a class=\"tf-youtube\" href=\"https:\/\/www.youtube.com\/@TASANDO_COM\" target=\"_blank\" rel=\"noopener\" aria-label=\"YouTube Tasando\">\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M23.5 6.2s-.2-1.7-.9-2.4c-.9-.9-1.9-.9-2.4-1C16.8 2.5 12 2.5 12 2.5h0s-4.8 0-8.2.3c-.5.1-1.5.1-2.4 1C.7 4.5.5 6.2.5 6.2S.2 8.2.2 10.2v1.9c0 2 .3 4 .3 4s.2 1.7.9 2.4c.9.9 2.1.9 2.6 1 1.9.2 8 .3 8 .3s4.8 0 8.2-.3c.5-.1 1.5-.1 2.4-1 .7-.7.9-2.4.9-2.4s.3-2 .3-4v-1.9c0-2-.3-4-.3-4zM9.7 14.5v-7l6.3 3.5-6.3 3.5z\"\/>\r\n            <\/svg>\r\n          <\/a>\r\n        <\/nav>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\n\n<!-- TASANDO_LAYOUT_FIX_20260920_START -->\n<style id=\"tasando-layout-fix-20260920\">\nbody.page-id-12661{\n  --ts-ancho:min(1240px, calc(100vw - 48px));\n  --ts-gap-x:24px;\n  --ts-gap-y:24px;\n}\n\n\/* CONTENEDOR MAESTRO:\n   la p\u00e1gina usa una grilla centrada que mantiene la geometr\u00eda\n   incluso con zoom del navegador muy reducido. *\/\n\/* Reduce el espacio entre la barra de navegaci\u00f3n y el primer recuadro.\n   Mantiene una separaci\u00f3n superior moderada y consistente con el resto de la p\u00e1gina. *\/\nbody.page-id-12661 #cwp-blog-main-content-wrapper{\n  margin-top:0!important;\n  padding-top:10px!important;\n}\nbody.page-id-12661 #post-12661,\nbody.page-id-12661 #post-12661 > .entry-content,\nbody.page-id-12661 .elementor-element-0008442{\n  margin-top:0!important;\n}\nbody.page-id-12661 #post-12661 > .entry-content{\n  padding-top:0!important;\n}\nbody.page-id-12661 .elementor-element-0008442{\n  margin:0!important;\n  padding:14px 0 0!important;\n}\n\nbody.page-id-12661 .elementor-element-d20dc3e{\n  width:100%!important;\n  max-width:100%!important;\n}\n\nbody.page-id-12661 .elementor-element-d20dc3e > .elementor-widget-wrap{\n  display:grid!important;\n  grid-template-columns:\n    minmax(0,1fr)\n    calc((var(--ts-ancho) - var(--ts-gap-x)) \/ 2)\n    var(--ts-gap-x)\n    calc((var(--ts-ancho) - var(--ts-gap-x)) \/ 2)\n    minmax(0,1fr)!important;\n  grid-auto-flow:row!important;\n  grid-auto-rows:auto!important;\n  row-gap:var(--ts-gap-y)!important;\n  column-gap:0!important;\n  align-items:stretch!important;\n  justify-items:stretch!important;\n  width:100%!important;\n  max-width:100%!important;\n  margin:0!important;\n  padding:0!important;\n}\n\n\/* FILAS COMPLETAS:\n   todos los m\u00f3dulos principales ocupan exactamente el mismo ancho. *\/\nbody.page-id-12661 .elementor-element-4cb0cc6,\nbody.page-id-12661 .elementor-element-a88d44f,\nbody.page-id-12661 .elementor-element-d40a43b,\nbody.page-id-12661 .elementor-element-dd68259,\nbody.page-id-12661 .elementor-element-8296663,\nbody.page-id-12661 .elementor-element-458c663{\n  grid-column:2 \/ 5!important;\n  width:100%!important;\n  max-width:none!important;\n  min-width:0!important;\n  margin:0!important;\n  padding:0!important;\n  align-self:stretch!important;\n  box-sizing:border-box!important;\n}\n\n\/* NOTICIAS:\n   Internacional y Nacional comparten una sola fila,\n   con 24px exactos entre ambas columnas. *\/\nbody.page-id-12661 .elementor-element-d0ea168{\n  grid-column:2!important;\n  width:100%!important;\n  max-width:none!important;\n  min-width:0!important;\n  margin:0!important;\n  padding:0!important;\n  align-self:stretch!important;\n  box-sizing:border-box!important;\n}\n\nbody.page-id-12661 .elementor-element-d734a68{\n  grid-column:4!important;\n  width:100%!important;\n  max-width:none!important;\n  min-width:0!important;\n  margin:0!important;\n  padding:0!important;\n  align-self:stretch!important;\n  box-sizing:border-box!important;\n}\n\n\/* Todos los contenedores Elementor interiores quedan neutros. *\/\nbody.page-id-12661 .elementor-element-4cb0cc6 > .elementor-widget-container,\nbody.page-id-12661 .elementor-element-d0ea168 > .elementor-widget-container,\nbody.page-id-12661 .elementor-element-d734a68 > .elementor-widget-container,\nbody.page-id-12661 .elementor-element-a88d44f > .elementor-widget-container,\nbody.page-id-12661 .elementor-element-d40a43b > .elementor-widget-container,\nbody.page-id-12661 .elementor-element-dd68259 > .elementor-widget-container,\nbody.page-id-12661 .elementor-element-8296663 > .elementor-widget-container,\nbody.page-id-12661 .elementor-element-458c663 > .elementor-widget-container{\n  width:100%!important;\n  max-width:none!important;\n  height:100%!important;\n  margin:0!important;\n  padding:0!important;\n}\n\n\/* ANCHO INTERNO:\n   se anulan anchos, m\u00e1rgenes y desplazamientos hist\u00f3ricos de cada m\u00f3dulo. *\/\nbody.page-id-12661 #tasando-mercados-resumen-v27,\nbody.page-id-12661 #tasando-top-internacional,\nbody.page-id-12661 #tasando-top-nacional,\nbody.page-id-12661 #tasando-mercados-hero-v12,\nbody.page-id-12661 #tasando-mercados-descripcion-v14,\nbody.page-id-12661 #tasando-metodo-senales,\nbody.page-id-12661 #tasando-indices-internacionales,\nbody.page-id-12661 #tasando-mercados-cta-simple{\n  width:100%!important;\n  max-width:100%!important;\n  min-width:0!important;\n  margin:0!important;\n  padding:0!important;\n  box-sizing:border-box!important;\n}\n\n\/* El resumen ten\u00eda un margin-top negativo hist\u00f3rico. *\/\nbody.page-id-12661 #tasando-mercados-resumen-v27{\n  margin-top:0!important;\n}\n\n\/* NOTICIAS:\n   misma altura, mismo padding interno y sin elementos superpuestos. *\/\nbody.page-id-12661 #tasando-top-internacional,\nbody.page-id-12661 #tasando-top-nacional{\n  height:100%!important;\n  clear:none!important;\n}\n\nbody.page-id-12661 #tasando-top-internacional .card,\nbody.page-id-12661 #tasando-top-nacional .card{\n  width:100%!important;\n  height:100%!important;\n  margin:0!important;\n  padding:16px 18px!important;\n  box-sizing:border-box!important;\n}\n\nbody.page-id-12661 #tasando-top-internacional .head,\nbody.page-id-12661 #tasando-top-nacional .head{\n  flex-wrap:wrap!important;\n  gap:8px!important;\n  margin:0 0 8px!important;\n}\n\nbody.page-id-12661 #tasando-top-internacional .title,\nbody.page-id-12661 #tasando-top-nacional .title{\n  margin:0 0 6px!important;\n}\n\nbody.page-id-12661 #tasando-top-internacional .footer,\nbody.page-id-12661 #tasando-top-nacional .footer{\n  margin:8px 0 0!important;\n}\n\n\/* Neutraliza posiciones heredadas. *\/\nbody.page-id-12661 .elementor-element-d20dc3e > .elementor-widget-wrap > .elementor-element{\n  position:relative!important;\n  top:auto!important;\n  bottom:auto!important;\n  left:auto!important;\n  right:auto!important;\n}\n\n\/* Footer: fuera del ancho de 1240px. *\/\nbody.page-id-12661 .elementor-element-f309903{\n  grid-column:1 \/ -1!important;\n  width:100%!important;\n  max-width:100%!important;\n  margin:0!important;\n  padding:0!important;\n}\n\n\/* TABLET *\/\n@media(max-width:1200px){\n  body.page-id-12661{\n    --ts-ancho:calc(100vw - 48px);\n  }\n}\n\n\/* M\u00d3VIL:\n   una sola columna manteniendo la misma l\u00ednea lateral. *\/\n@media(max-width:767px){\n  body.page-id-12661{\n    --ts-ancho:calc(100vw - 20px);\n    --ts-gap-x:0px;\n    --ts-gap-y:16px;\n  }\n\n  body.page-id-12661 .elementor-element-0008442{\n    padding-top:8px!important;\n  }\n\n  body.page-id-12661 .elementor-element-d20dc3e > .elementor-widget-wrap{\n    grid-template-columns:10px minmax(0,1fr) 10px!important;\n  }\n\n  body.page-id-12661 .elementor-element-4cb0cc6,\n  body.page-id-12661 .elementor-element-d0ea168,\n  body.page-id-12661 .elementor-element-d734a68,\n  body.page-id-12661 .elementor-element-a88d44f,\n  body.page-id-12661 .elementor-element-d40a43b,\n  body.page-id-12661 .elementor-element-dd68259,\n  body.page-id-12661 .elementor-element-8296663,\n  body.page-id-12661 .elementor-element-458c663{\n    grid-column:2!important;\n    width:100%!important;\n    max-width:none!important;\n    margin:0!important;\n  }\n\n  body.page-id-12661 #tasando-top-internacional .card,\n  body.page-id-12661 #tasando-top-nacional .card{\n    padding:14px!important;\n  }\n}\n<\/style>\n<!-- TASANDO_LAYOUT_FIX_20260920_END -->\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Editorial Tasando.com Lectura diaria de mercados D\u00eda de lectura cargando&#8230; Hora Chile cargando&#8230; Lectura relativa cargando&#8230; Cargando ranking general&#8230; Mercados en l\u00ednea \u00cdndices burs\u00e1tiles y se\u00f1ales de mercado Lectura din\u00e1mica de principales \u00edndices internacionales, sesi\u00f3n de mercado, direcci\u00f3n y variaci\u00f3n porcentual respecto de la base de comparaci\u00f3n. Fecha y hora corrida: actualizando&#8230; Filtro tabla\/web: \u00cdNDICE [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-12661","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mercados Internacionales - Tasando.com<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mercados Internacionales - Tasando.com\" \/>\n<meta property=\"og:description\" content=\"Editorial Tasando.com Lectura diaria de mercados D\u00eda de lectura cargando&#8230; Hora Chile cargando&#8230; Lectura relativa cargando&#8230; Cargando ranking general&#8230; Mercados en l\u00ednea \u00cdndices burs\u00e1tiles y se\u00f1ales de mercado Lectura din\u00e1mica de principales \u00edndices internacionales, sesi\u00f3n de mercado, direcci\u00f3n y variaci\u00f3n porcentual respecto de la base de comparaci\u00f3n. Fecha y hora corrida: actualizando&#8230; Filtro tabla\/web: \u00cdNDICE [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/\" \/>\n<meta property=\"og:site_name\" content=\"Tasaciones\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-24T15:48:21+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo estimado de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"12 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/mercados-internacionales\\\/\",\"url\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/mercados-internacionales\\\/\",\"name\":\"Mercados Internacionales - Tasando.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#website\"},\"datePublished\":\"2025-12-23T14:55:40+00:00\",\"dateModified\":\"2026-09-24T15:48:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/mercados-internacionales\\\/#breadcrumb\"},\"inLanguage\":\"es-CL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tasando.com\\\/propiedades\\\/mercados-internacionales\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/mercados-internacionales\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mercados Internacionales\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#website\",\"url\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/\",\"name\":\"Tasando.com\",\"description\":\"Bienes Ra\u00edces y Activos\",\"publisher\":{\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#organization\"},\"alternateName\":\"Tasando\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es-CL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#organization\",\"name\":\"Tasando.com\",\"alternateName\":\"Tasando\",\"url\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-CL\",\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/logo_tasando.jpeg\",\"contentUrl\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/logo_tasando.jpeg\",\"width\":248,\"height\":133,\"caption\":\"Tasando.com\"},\"image\":{\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mercados Internacionales - Tasando.com","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/","og_locale":"es_ES","og_type":"article","og_title":"Mercados Internacionales - Tasando.com","og_description":"Editorial Tasando.com Lectura diaria de mercados D\u00eda de lectura cargando&#8230; Hora Chile cargando&#8230; Lectura relativa cargando&#8230; Cargando ranking general&#8230; Mercados en l\u00ednea \u00cdndices burs\u00e1tiles y se\u00f1ales de mercado Lectura din\u00e1mica de principales \u00edndices internacionales, sesi\u00f3n de mercado, direcci\u00f3n y variaci\u00f3n porcentual respecto de la base de comparaci\u00f3n. Fecha y hora corrida: actualizando&#8230; Filtro tabla\/web: \u00cdNDICE [&hellip;]","og_url":"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/","og_site_name":"Tasaciones","article_modified_time":"2026-09-24T15:48:21+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tiempo estimado de lectura":"12 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/","url":"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/","name":"Mercados Internacionales - Tasando.com","isPartOf":{"@id":"https:\/\/tasando.com\/propiedades\/#website"},"datePublished":"2025-12-23T14:55:40+00:00","dateModified":"2026-09-24T15:48:21+00:00","breadcrumb":{"@id":"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/#breadcrumb"},"inLanguage":"es-CL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tasando.com\/propiedades\/mercados-internacionales\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/tasando.com\/propiedades\/mercados-internacionales\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/tasando.com\/propiedades\/"},{"@type":"ListItem","position":2,"name":"Mercados Internacionales"}]},{"@type":"WebSite","@id":"https:\/\/tasando.com\/propiedades\/#website","url":"https:\/\/tasando.com\/propiedades\/","name":"Tasando.com","description":"Bienes Ra\u00edces y Activos","publisher":{"@id":"https:\/\/tasando.com\/propiedades\/#organization"},"alternateName":"Tasando","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tasando.com\/propiedades\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es-CL"},{"@type":"Organization","@id":"https:\/\/tasando.com\/propiedades\/#organization","name":"Tasando.com","alternateName":"Tasando","url":"https:\/\/tasando.com\/propiedades\/","logo":{"@type":"ImageObject","inLanguage":"es-CL","@id":"https:\/\/tasando.com\/propiedades\/#\/schema\/logo\/image\/","url":"https:\/\/tasando.com\/propiedades\/wp-content\/uploads\/2024\/05\/logo_tasando.jpeg","contentUrl":"https:\/\/tasando.com\/propiedades\/wp-content\/uploads\/2024\/05\/logo_tasando.jpeg","width":248,"height":133,"caption":"Tasando.com"},"image":{"@id":"https:\/\/tasando.com\/propiedades\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/pages\/12661","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/comments?post=12661"}],"version-history":[{"count":418,"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/pages\/12661\/revisions"}],"predecessor-version":[{"id":16750,"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/pages\/12661\/revisions\/16750"}],"wp:attachment":[{"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/media?parent=12661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}