/* ============================================================
   WASHINGTON ABRE VENEZUELA — capa aditiva de investigacion
   Usa exclusivamente los tokens de base.css. No redefine ninguno.
   ============================================================ */

/* --- niveles de evidencia: HECHO / DATO / INFERENCIA / ESCENARIO / NO SABEMOS --- */
.lvl{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;border:1px solid var(--rule-2);
  border-radius:3px;background:var(--paper-2);color:var(--ink-3);white-space:nowrap}
.lvl::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ink-4)}
.lvl.hecho{color:var(--ink);border-color:var(--ink-3)}
.lvl.hecho::before{background:var(--ink)}
.lvl.dato{color:var(--water);border-color:var(--water)}
.lvl.dato::before{background:var(--water)}
.lvl.infer{color:var(--gold,#b8862f);border-color:var(--gold,#b8862f)}
.lvl.infer::before{background:var(--gold,#b8862f)}
.lvl.escen{color:var(--red);border-color:var(--red)}
.lvl.escen::before{background:var(--red)}
.lvl.nose{color:var(--ink-4);border-style:dashed}
.lvl.nose::before{background:transparent;border:1px solid var(--ink-4)}

.lvl-key{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}

/* bloque con nivel declarado */
.claim{background:var(--card);border:1px solid var(--rule);border-left:5px solid var(--rule-2);
  padding:20px 22px;margin:16px 0;box-shadow:var(--shadow-1)}
.claim.hecho{border-left-color:var(--ink)}
.claim.dato{border-left-color:var(--water)}
.claim.infer{border-left-color:var(--gold,#b8862f)}
.claim.escen{border-left-color:var(--red)}
.claim.nose{border-left-color:var(--ink-4);border-left-style:dashed}
.claim p{margin:10px 0 0;color:var(--ink-2);font-size:18px;line-height:1.6}
.claim p strong{color:var(--ink);font-weight:680}
.claim .src{margin-top:12px}

/* aviso permanente de escenario */
.warn{display:flex;gap:10px;align-items:flex-start;background:var(--red-tint);
  border-left:5px solid var(--red);padding:14px 16px;margin:16px 0;
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--red-deep);line-height:1.6}

/* --- matriz de commodities --- */
.mtx-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:18px;
  border:1px solid var(--rule);background:var(--card)}
.mtx{width:100%;border-collapse:collapse;min-width:760px;font-size:16px}
.mtx th{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);text-align:left;padding:14px 12px;border-bottom:1px solid var(--rule-2);
  background:var(--paper-2);cursor:pointer;user-select:none;white-space:nowrap}
.mtx th:hover{color:var(--ink)}
.mtx th[aria-sort]{color:var(--red)}
.mtx td{padding:14px 12px;border-bottom:1px solid var(--rule);vertical-align:top;color:var(--ink-2)}
.mtx tbody tr:hover{background:var(--paper-2)}
.mtx .cmd{font-family:var(--serif);font-size:19px;color:var(--ink);font-weight:560}
.mtx .num{font-family:var(--mono);font-size:14px;color:var(--ink);white-space:nowrap}
.mtx .ev{font-size:14.5px;line-height:1.5;color:var(--ink-3);max-width:330px}
.rg{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 8px;border-radius:3px;white-space:nowrap}
.rg.material{background:var(--red);color:#fff}
.rg.vigilar{background:var(--gold,#b8862f);color:#fff}
.rg.bajo{background:var(--water-tint);color:var(--water)}
.rg.nulo{background:var(--paper-3);color:var(--ink-3)}
.mtx-bar{height:7px;background:var(--paper-3);margin-top:6px;position:relative;max-width:130px}
.mtx-bar i{position:absolute;inset:0 auto 0 0;background:var(--water);display:block}
.mtx-bar i.hi{background:var(--red)}

/* --- mecanismo GSM-102 (cadena) --- */
.mech{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:22px;
  border:1px solid var(--rule);background:var(--card)}
.mech-st{padding:20px 14px;border-right:1px solid var(--rule);position:relative;cursor:pointer;
  transition:background .18s}
.mech-st:last-child{border-right:0}
.mech-st:hover,.mech-st.on{background:var(--paper-2)}
.mech-st.on{box-shadow:inset 0 3px 0 var(--red)}
.mech-n{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--red)}
.mech-t{font-family:var(--serif);font-size:clamp(17px,1.9vw,21px);color:var(--ink);margin-top:8px;line-height:1.25}
.mech-det{border:1px solid var(--rule);border-top:0;background:var(--paper-2);padding:22px}
.mech-det p{margin:0;color:var(--ink-2);font-size:17.5px;line-height:1.6}
.mech-cov{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.mech-cov>div{padding:18px;background:var(--card);border:1px solid var(--rule)}
.mech-cov .yes{border-left:5px solid var(--water)}
.mech-cov .no{border-left:5px solid var(--red)}

/* --- mapa de flujos --- */
.flow-wrap{margin-top:20px;border:1px solid var(--rule);background:var(--card);padding:18px}
.flow-svg{width:100%;height:auto;display:block}
.flow-node{fill:var(--card);stroke:var(--ink-3);stroke-width:2}
.flow-lab{font-family:var(--mono);font-size:12px;fill:var(--ink);letter-spacing:.08em}
.flow-sub{font-family:var(--mono);font-size:10.5px;fill:var(--ink-3)}
.flow-link{fill:none;stroke:var(--water);opacity:.75;stroke-linecap:round;transition:opacity .2s}
.flow-link.mx{stroke:var(--water)}
.flow-link.ve{stroke:var(--red)}
.flow-link:hover{opacity:1}
.flow-tip{position:absolute;background:var(--ink);color:var(--paper);padding:10px 13px;
  border-radius:8px;font-family:var(--mono);font-size:12px;line-height:1.55;max-width:240px;
  pointer-events:none;opacity:0;transition:opacity .15s;box-shadow:var(--shadow-2);z-index:6}
.flow-tip b{font-family:var(--serif);font-size:17px;display:block;margin-bottom:3px}

/* --- indice de exposicion --- */
.idx-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;margin-top:20px}
.idx-dial{text-align:center;padding:24px;background:var(--card);border:1px solid var(--rule)}
.idx-n{font-family:var(--serif);font-size:clamp(64px,11vw,104px);line-height:.95;color:var(--red)}
.idx-cap{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:8px}
.idx-w{display:grid;gap:14px;padding:22px;background:var(--card);border:1px solid var(--rule)}
.idx-row label{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.idx-row input[type=range]{width:100%;accent-color:var(--red)}
.formula{font-family:var(--mono);font-size:13px;line-height:1.75;background:var(--paper-3);
  padding:16px;overflow-x:auto;color:var(--ink-2);margin-top:16px;border-left:4px solid var(--water)}

/* --- escenarios --- */
.esc{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.esc-card{padding:22px;background:var(--card);border:1px solid var(--rule);border-top:5px solid var(--rule-2);cursor:pointer;transition:transform .18s,box-shadow .18s}
.esc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}
.esc-card.on{box-shadow:var(--shadow-2)}
.esc-card.base{border-top-color:var(--water)}
.esc-card.exp{border-top-color:var(--gold,#b8862f)}
.esc-card.shock{border-top-color:var(--red)}
.esc-k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.esc-t{font-family:var(--serif);font-size:clamp(22px,2.6vw,28px);color:var(--ink);margin-top:6px}
.esc-v{font-family:var(--serif);font-size:clamp(30px,4vw,44px);color:var(--red);margin-top:12px;line-height:1}
.esc-sup{margin-top:12px;font-size:15px;color:var(--ink-3);line-height:1.55}

/* --- radar de senales --- */
.radar{display:grid;gap:10px;margin-top:20px}
.rd-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;
  padding:16px 18px;background:var(--card);border:1px solid var(--rule);border-left:5px solid var(--rule-2)}
.rd-row.temprana{border-left-color:var(--gold,#b8862f)}
.rd-row.material{border-left-color:var(--red)}
.rd-row.estructural{border-left-color:var(--red-deep)}
.rd-t{font-family:var(--serif);font-size:clamp(18px,2.1vw,21px);color:var(--ink);line-height:1.3}
.rd-r{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin-top:6px;line-height:1.5}
.rd-s{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  padding:6px 10px;border-radius:3px;white-space:nowrap;text-align:center}
.rd-s.sin{background:var(--paper-3);color:var(--ink-3)}
.rd-s.temprana{background:var(--gold,#b8862f);color:#fff}
.rd-s.material{background:var(--red);color:#fff}
.rd-s.estructural{background:var(--red-deep);color:#fff}

/* --- conclusion tri-nivel --- */
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.tri>div{padding:22px;background:var(--card);border:1px solid var(--rule)}
.tri .p{border-top:5px solid var(--ink)}
.tri .pb{border-top:5px solid var(--gold,#b8862f)}
.tri .sp{border-top:5px solid var(--red)}
.tri h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-3);margin:0 0 10px}
.tri ul{margin:0;padding-left:18px}
.tri li{color:var(--ink-2);font-size:16.5px;line-height:1.6;margin-bottom:9px}

/* --- refutacion --- */
.refut{background:var(--ink);color:var(--paper);padding:clamp(24px,4vw,40px);margin-top:24px}
.refut .label{color:var(--ink-4)}
.refut h3{font-family:var(--serif);color:var(--paper);font-size:clamp(24px,3.2vw,34px);margin:8px 0 14px}
.refut h3 em{color:var(--red)}
.refut p{color:var(--rule);font-size:18px;line-height:1.65;margin:0 0 12px}
.refut p strong{color:var(--paper)}

/* --- responsive --- */
@media (max-width:900px){
  .idx-grid,.mech-cov,.esc,.tri{grid-template-columns:1fr}
  .mech{grid-template-columns:repeat(2,1fr)}
  .mech-st{border-bottom:1px solid var(--rule)}
}
@media (max-width:560px){
  .mech{grid-template-columns:1fr}
  .rd-row{grid-template-columns:1fr;gap:10px}
  .rd-s{justify-self:start}
}

/* accesibilidad y movimiento reducido */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rise{opacity:1!important;transform:none!important}
}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}

/* impresion limpia */
@media print{
  .topbar,.scrollcue,.hero-cta,.idx-w,.flow-tip{display:none!important}
  body{background:#fff}
  .chapter{padding-block:18px;page-break-inside:avoid}
  .mtx-wrap{overflow:visible}.mtx{min-width:0;font-size:11pt}
  .refut{background:#fff;color:#000;border:2px solid #000}
  .refut p,.refut h3{color:#000}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#444}
}

/* topbar compacto en pantallas chicas: la marca no debe partirse en tres lineas */
@media (max-width:700px){
  .topbar .tb-byline{display:none}
  .topbar .tb-mark{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
  .topbar .tb-right .chip{font-size:10.5px;padding:5px 8px}
}
@media (max-width:420px){
  .topbar .tb-mark{max-width:38vw}
}
