/* ==========================================================================
   simulador.css — "Sé el Banco Central" · SUE
   Usa las variables de styles.css, con valores de respaldo por si esa hoja
   no cargara (caché antigua).
   ========================================================================== */
[hidden]{display:none !important;}

.sim{--sim-rojo:var(--brick,#CD1729);--sim-tinta:var(--ink,#bf0d1f);--sim-suave:var(--ink-soft,#960f1b);
  --sim-tenue:var(--ink-faint,#d4636e);--sim-linea:var(--line,#c9cdb6);--sim-blanco:var(--white,#fbfbf6);
  --sim-papel:var(--paper,#FFFAF2);--sim-papel2:var(--paper-2,#F5EFE5);--sim-oro:var(--gold,#b98a1f);
  --sim-negro:var(--negroclaro,#111);--sim-display:var(--font-display,'Fraunces',serif);--sim-mono:var(--font-mono,'Montserrat',sans-serif);}

/* ---- Tipografía base de datos ---- */
.sim-lbl{font-family:var(--sim-mono);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--sim-tenue);margin-bottom:6px;}
.sim-num{font-family:var(--sim-display);font-size:30px;font-weight:600;line-height:1.05;color:var(--sim-negro);font-variant-numeric:tabular-nums;}
.sim-sub{font-size:12.5px;color:var(--sim-suave);margin-top:6px;}
.sim-dato{background:var(--sim-blanco);padding:18px 20px;}

/* ---- Pasos ---- */
.sim-bloque-titulo{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.sim-bloque-titulo h2{margin:0;font-size:clamp(22px,2.4vw,28px);}
.sim-paso{flex:none;width:32px;height:32px;border-radius:50%;background:var(--sim-rojo);color:#fff;display:grid;place-items:center;font-family:var(--sim-mono);font-weight:600;font-size:14px;}

/* ---- Escenarios ---- */
.sim-escenarios{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:44px;}
.sim-esc{display:flex;flex-direction:column;gap:8px;text-align:left;cursor:pointer;min-height:150px;
  background:var(--sim-blanco);border:1px solid var(--sim-linea);border-radius:6px;padding:16px 16px 14px;color:inherit;font:inherit;
  transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;}
.sim-esc:hover{border-color:var(--sim-tinta);transform:translateY(-2px);}
.sim-esc.is-activo{border:1.5px solid var(--sim-rojo);box-shadow:inset 0 3px 0 var(--sim-rojo);background:#fff;}
.sim-esc-tag{font-family:var(--sim-mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sim-oro);}
.sim-esc-nombre{font-family:var(--sim-display);font-size:18px;font-weight:600;line-height:1.2;color:var(--sim-negro);}
.sim-esc-pie{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.sim-dif{display:inline-flex;gap:4px;}
.sim-dif i{width:8px;height:8px;border-radius:50%;background:var(--sim-papel2);border:1px solid var(--sim-linea);}
.sim-dif i.on{background:var(--sim-rojo);border-color:var(--sim-rojo);}
.sim-esc-rec{font-family:var(--sim-mono);font-size:11px;color:var(--sim-suave);}

/* ---- Situación inicial ---- */
.sim-inicio{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:start;margin-bottom:30px;}
.sim-inicio-texto > p{font-size:16px;max-width:52ch;margin:0 0 18px;}
.sim-partida{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--sim-linea);border:1px solid var(--sim-linea);border-radius:6px;overflow:hidden;}
.sim-reglas{display:grid;gap:12px;padding-top:4px;}
.sim-regla{display:flex;gap:14px;align-items:flex-start;background:var(--sim-papel2);border-radius:6px;padding:14px 16px;}
.sim-regla span{flex:none;width:30px;height:30px;border-radius:50%;background:var(--sim-blanco);border:1px solid var(--sim-linea);display:grid;place-items:center;color:var(--sim-rojo);font-weight:700;}
.sim-regla p{margin:0;font-size:14px;}
.sim-regla strong{color:var(--sim-negro);}
.sim-cta{font-size:14px;padding:15px 26px;}
.sim .btn[disabled]{opacity:.55;cursor:wait;transform:none;}

/* ---- Juego ---- */
.sim-juego{scroll-margin-top:110px;}
.sim-juego-cab{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 24px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--sim-linea);}
.sim-juego-cab .eyebrow{margin-bottom:.3em;}
.sim-juego-esc{font-family:var(--sim-display);font-size:22px;font-weight:600;color:var(--sim-negro);}
.sim-progreso{display:flex;gap:6px;}
.sim-progreso i{width:26px;height:6px;border-radius:3px;background:var(--sim-papel2);border:1px solid var(--sim-linea);}
.sim-progreso i.hecho{background:var(--sim-rojo);border-color:var(--sim-rojo);}
.sim-progreso i.actual{background:var(--sim-oro);border-color:var(--sim-oro);}
.sim-juego-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:36px;align-items:start;}

.sim-evento{position:relative;background:var(--sim-blanco);border:1px solid var(--sim-linea);border-left:4px solid var(--sim-rojo);border-radius:6px;padding:22px 24px 20px;margin-bottom:20px;}
.sim-ev-tipo{display:inline-block;font-family:var(--sim-mono);font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#fff;background:var(--sim-rojo);padding:4px 9px;border-radius:3px;margin-bottom:12px;}
.sim-evento h2{font-size:clamp(21px,2.3vw,26px);line-height:1.2;margin:0 0 .4em;}
.sim-evento p{margin:0 0 14px;font-size:15px;}
.sim-pistas{display:flex;flex-wrap:wrap;gap:8px;}
.sim-pistas span{font-family:var(--sim-mono);font-size:12px;font-weight:600;color:var(--sim-suave);background:var(--sim-papel2);border-radius:20px;padding:5px 12px;}

.sim-decision{margin-bottom:18px;}
.sim-decision-cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;margin-bottom:10px;}
.sim-pregunta{font-family:var(--sim-display);font-size:19px;font-weight:600;color:var(--sim-negro);}
.sim-preview{font-family:var(--sim-mono);font-size:12.5px;font-weight:600;color:var(--sim-rojo);}
.sim-botones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.5fr) repeat(4,minmax(0,1fr));gap:5px;}
.sim-op{font-family:var(--sim-mono);font-size:13px;font-weight:600;padding:13px 2px;border-radius:4px;cursor:pointer;
  border:1.5px solid var(--sim-linea);background:var(--sim-blanco);color:var(--sim-suave);transition:background .12s ease,color .12s ease,border-color .12s ease;}
.sim-op.is-baja{border-color:#9fb3c8;color:#1f4a73;}
.sim-op.is-sube{border-color:#e3a6ad;color:var(--sim-rojo);}
.sim-op.is-mantener{border-color:var(--sim-negro);color:var(--sim-negro);font-size:12px;}
.sim-op.is-baja:hover,.sim-op.is-baja:focus-visible{background:#1f4a73;border-color:#1f4a73;color:#fff;}
.sim-op.is-sube:hover,.sim-op.is-sube:focus-visible{background:var(--sim-rojo);border-color:var(--sim-rojo);color:#fff;}
.sim-op.is-mantener:hover,.sim-op.is-mantener:focus-visible{background:var(--sim-negro);color:#fff;}
.sim-op[disabled]{opacity:.3;cursor:not-allowed;background:var(--sim-blanco);}
.sim-botones-leyenda{display:flex;justify-content:space-between;margin-top:6px;font-family:var(--sim-mono);font-size:11px;color:var(--sim-tenue);}

.sim-informe{margin:0;padding:16px 18px;background:var(--sim-papel2);border-radius:6px;font-size:14.5px;line-height:1.6;min-height:5.2em;}
.sim-informe strong{display:block;font-family:var(--sim-mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--sim-rojo);margin-bottom:6px;}

.sim-tablero{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--sim-linea);border:1px solid var(--sim-linea);border-radius:6px;overflow:hidden;margin-bottom:16px;}
.sim-tablero .is-alerta .sim-num{color:var(--sim-rojo);}
.sim-barra{height:6px;background:var(--sim-papel2);border-radius:3px;margin-top:10px;overflow:hidden;}
.sim-barra span{display:block;height:100%;background:var(--sim-rojo);border-radius:3px;transition:width .4s ease;}

.sim-grafico{background:var(--sim-blanco);border:1px solid var(--sim-linea);border-radius:6px;padding:12px 10px 6px;}
.sim-grafico svg{display:block;width:100%;height:auto;}
.sim-leyenda{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px;font-family:var(--sim-mono);font-size:12px;color:var(--sim-suave);}
.sim-leyenda i{display:inline-block;width:16px;height:3px;border-radius:2px;margin-right:7px;vertical-align:middle;}
.sim-leyenda i.rango{height:10px;background:rgba(185,138,31,.25);}
.sim-leyenda i.piloto{background:repeating-linear-gradient(90deg,#8a8f9c 0 5px,transparent 5px 9px);}

/* ---- Resultado ---- */
.sim-final{max-width:760px;margin:0 auto;text-align:center;background:var(--sim-blanco);border:1.5px solid var(--sim-tinta);border-radius:6px;padding:40px 32px 34px;scroll-margin-top:110px;}
.sim-puntaje{font-family:var(--sim-display);font-weight:600;color:var(--sim-rojo);font-size:96px;line-height:1;margin:10px 0 8px;}
.sim-puntaje small{font-size:30px;color:var(--sim-tenue);}
.sim-final h2{margin:0 0 .2em;}
.sim-record{font-family:var(--sim-mono);font-size:12.5px;font-weight:600;color:var(--sim-oro);margin:0 0 16px;}
.sim-resumen{max-width:58ch;margin:0 auto 22px;font-size:15px;}
.sim-resumen strong{color:var(--sim-negro);}
.sim-final .sim-grafico{text-align:left;}
.sim-leyenda-final{justify-content:center;}
.sim-acciones{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px;}

.sim-como{margin-top:52px;border-top:1px solid var(--sim-linea);padding-top:18px;max-width:780px;}
.sim-como summary{cursor:pointer;font-family:var(--sim-mono);font-size:12.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--sim-rojo);}
.sim-como p{font-size:14px;margin:14px 0 0;}

/* ---- Responsive ---- */
@media (max-width:1000px){
  .sim-escenarios{grid-template-columns:repeat(3,minmax(0,1fr));}
  .sim-inicio,.sim-juego-grid{grid-template-columns:1fr;gap:28px;}
}
@media (max-width:620px){
  .sim-escenarios{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .sim-esc{min-height:0;padding:14px;}
  .sim-esc-nombre{font-size:16px;}
  .sim-partida{grid-template-columns:repeat(2,1fr);}
  .sim-num{font-size:25px;}
  .sim-dato{padding:14px 15px;}
  .sim-botones{grid-template-columns:repeat(4,minmax(0,1fr));}
  .sim-op.is-mantener{grid-column:1 / -1;order:-1;}
  .sim-botones-leyenda{display:none;}
  .sim-progreso i{width:18px;}
  .sim-puntaje{font-size:76px;}
  .sim-final{padding:30px 18px;}
}
@media (prefers-reduced-motion:reduce){.sim-esc,.sim-barra span{transition:none;}}
