/* Revivir el evento: el reproductor. Es una vitrina: vive dentro de la página que lo muestra (la portada, la página
   del demo, el panel), nunca a pantalla completa ni encima de nada. Solo usa las variables de la identidad. En la
   página propia, la línea de tiempo queda pegada arriba al desplazarse (sticky, dentro de su caja). A 390 px todo se
   apila: línea, monitor, billeteras, puesto, caja. */
.revivir { display: grid; gap: 1rem; contain: layout paint; background: var(--blanco); border: var(--borde);
  box-shadow: var(--sombra); padding: 1rem; color: var(--negro); }
.revivir [hidden] { display: none !important; }
.revivir__cabeza { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; justify-content: space-between; }
.revivir__evento { font-family: var(--letra-datos); font-size: .9rem; color: var(--tinta-suave); }
.revivir__linea { display: grid; gap: .5rem; padding: .7rem; background: var(--papel); border: 2px solid var(--negro); }
.revivir--completo { --revivir-arriba: 4.4rem; }
.revivir--completo .revivir__linea { position: sticky; top: var(--revivir-arriba); z-index: 1; }
.revivir__controles { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.revivir__controles button, .revivir__controles select { min-height: 2.8rem; padding: .3rem .8rem; font: inherit; font-weight: 700;
  background: var(--blanco); color: var(--negro); border: 2px solid var(--negro); border-radius: var(--radio);
  cursor: pointer; }
.revivir__play { min-width: 8.5rem; background: var(--amarillo) !important; font-size: 1.1rem; }
.revivir__controles [aria-pressed="true"] { background: var(--negro); color: var(--amarillo); }
.revivir__velocidades { display: inline-flex; gap: .25rem; }
.revivir__grabaciones { display: inline-flex; gap: .4rem; align-items: center; font-size: .9rem; }
.revivir__grabaciones[hidden] { display: none; }
.revivir__hora { font-family: var(--letra-datos); font-size: clamp(1.6rem, 5vw, 2.2rem); line-height: 1; }
.revivir__pista { position: relative; padding-bottom: 2.9rem; }
.revivir__pista input[type="range"] { width: 100%; min-height: 2.4rem; accent-color: var(--negro); margin: 0; }
.revivir__venta { position: absolute; left: 0; top: 2.3rem; font-size: .75rem; color: var(--tinta-suave);
  border-bottom: 2px dashed var(--tinta-suave); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.revivir__hitos { position: absolute; left: 0; right: 0; bottom: 0; height: 1.7rem; }
.revivir__futuro { background: transparent !important; }
.revivir__hito { position: absolute; transform: translateX(-50%); bottom: 0; padding: .1rem .35rem; font-size: .72rem;
  font-weight: 700; background: var(--blanco); border: 1px solid var(--negro); white-space: nowrap; cursor: pointer; }
.revivir__monitor { display: grid; gap: .8rem; }
.revivir__puestos li { display: grid; gap: .1rem; }
.revivir__puestos small { font-family: var(--letra-datos); font-size: .78rem; color: var(--tinta-suave); }
.revivir__puestos .revivir__rojas { color: var(--rojo); }
.revivir__caja-total { margin: 0; font-weight: 700; font-family: var(--letra-datos); }
.revivir__abajo { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.revivir__panel { display: grid; gap: .5rem; align-content: start; padding: .7rem; border: 2px solid var(--negro); background: var(--papel); }
.revivir__panel h3 { margin: 0; font-size: 1rem; display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.revivir__panel select { font: inherit; border: 2px solid var(--negro); background: var(--blanco); min-height: 2.2rem; }
.revivir__billeteras, .revivir__cola, .revivir__caja ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .4rem; }
.revivir__billetera { display: grid; gap: .2rem; padding: .4rem .5rem; background: var(--blanco); border: 1px solid var(--negro); }
.revivir__ficha { font-size: .85rem; }
.revivir__ficha b { font-weight: 700; }
.revivir__ficha--entregada { color: var(--tinta-suave); text-decoration: line-through; }
.revivir__ficha--entregada b { text-decoration: none; }
.revivir__cola li { padding: .3rem .5rem; font-size: .85rem; color: var(--blanco); }
.revivir__verde { background: var(--verde); }
.revivir__rojo { background: var(--rojo); }
.revivir__nada { color: var(--tinta-suave); font-size: .9rem; background: none !important; }
.revivir__caja { display: grid; gap: .3rem; font-size: .9rem; }
.revivir__total { font-family: var(--letra-datos); font-size: 1.3rem; }
.revivir__reporte { display: grid; gap: .8rem; padding: 1rem; background: var(--amarillo); border: var(--borde); }
.revivir__reporte h3 { margin: 0; font-size: 1.5rem; }
.revivir__reporte-cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: .5rem; margin: 0; }
.revivir__reporte-cifras div { background: var(--blanco); border: 2px solid var(--negro); padding: .5rem; }
.revivir__reporte-cifras dt { font-size: .8rem; color: var(--tinta-suave); }
.revivir__reporte-cifras dd { margin: 0; font-family: var(--letra-datos); font-size: 1.3rem; font-weight: 700; }
.revivir-destello { animation: revivir-destello .8s ease; }
@keyframes revivir-destello { from { background: var(--amarillo); } to { background: transparent; } }
.revivir .demo-cifras small { overflow-wrap: normal; word-break: normal; hyphens: manual; }
@media (max-width: 520px) {
  .revivir { padding: .7rem; }
  .revivir .demo-cifras small { font-size: .78rem; }
  .revivir__hito { font-size: 0; width: .9rem; height: .9rem; padding: 0; background: var(--negro); }
  .revivir__hito[data-hito="pico"] { background: var(--amarillo); }
  .revivir__billetera:nth-child(n+4) { display: none; }
  .revivir__grabaciones span { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .revivir-destello { animation: none; }
  .revivir .demo-curva span { transition: none; }
}
.revivir__pausas { position: absolute; left: 0; right: 0; top: 2.3rem; height: 1rem; pointer-events: none; }
.revivir__pausa { position: absolute; top: 0; font-size: .72rem; color: var(--tinta-suave); white-space: nowrap;
  background: var(--papel); padding: 0 .2rem; }
.revivir__llego { display: block; font-size: .75rem; opacity: .9; }
.revivir__celda { display: block; }
.revivir__en-linea { margin: 0; font-weight: 700; font-family: var(--letra-datos); }
.revivir__etiqueta { font-weight: 700; }
/* Con una foto por minuto la curva tiene cientos de barras: nunca empuja el ancho del reproductor. */
.revivir > *, .revivir__monitor > * { min-width: 0; }
.revivir .demo-curva { gap: 0; overflow: hidden; }
.revivir .demo-curva span { min-width: 0; }
.revivir__pausa--marca { width: .5rem; height: .5rem; padding: 0; border-left: 2px dashed var(--tinta-suave); }
