/* Vídeo de entrada del laboratorio (lab/presentar.js): marco de móvil que flota
   sobre el laboratorio, que se sigue viendo detrás, con X y pantalla completa. */
.presenta {
  position: fixed; inset: 0; z-index: 80;
  display: grid; place-items: center;
  padding: 16px;
  background: rgba(16, 38, 58, 0.28);
  opacity: 0; transition: opacity .2s ease;
}
.presenta.abierta { opacity: 1; }
.presenta-caja {
  position: relative;
  display: grid; justify-items: center; gap: 10px;
  transform: translateY(16px) scale(.96); transition: transform .22s ease;
}
.presenta.abierta .presenta-caja { transform: none; }

.presenta-movil {
  position: relative;
  height: min(76vh, 720px);
  aspect-ratio: 9 / 17.6;
  padding: 10px;
  border-radius: 44px;
  background: #0E1116;
  box-shadow: 0 0 0 2px #2A2F37, 0 24px 60px rgba(10, 20, 35, .45);
}
.presenta-movil::before { /* isla de la cámara */
  content: ""; position: absolute; top: 18px; left: 50%; z-index: 2;
  width: 26%; height: 22px; border-radius: 12px; background: #0E1116;
  transform: translateX(-50%); pointer-events: none;
}
.presenta-pantalla {
  display: grid; place-items: center;
  width: 100%; height: 100%;
  overflow: hidden; border-radius: 34px; background: #0f2340;
}
.presenta-pantalla video {
  display: block; width: 100%; height: 100%;
  object-fit: contain; background: #0f2340;
}

.presenta-mandos {
  position: absolute; top: 0; left: 100%; z-index: 3;
  display: grid; gap: 10px; margin-left: 14px;
}
.presenta-boton {
  display: grid; place-items: center;
  width: 44px; height: 44px; padding: 0;
  border: 0; border-radius: 50%;
  background: #fff; color: #191C20;
  box-shadow: 0 4px 14px rgba(10, 20, 35, .25);
  cursor: pointer;
}
.presenta-boton:hover { background: #E6EBF2; }
.presenta-boton:focus-visible { outline: 3px solid #F2B544; outline-offset: 2px; }
.presenta-boton svg, .presenta-reabrir svg {
  width: 20px; height: 20px; fill: none; stroke: currentColor;
  stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round;
}
.presenta-pie {
  max-width: 320px; margin: 0;
  padding: 6px 14px; border-radius: 999px;
  background: rgba(255, 255, 255, .92); color: #2E3238;
  font-size: .8125rem; font-weight: 600; text-align: center;
}

/* En móvil, los mandos van encima del marco. */
@media (max-width: 640px) {
  .presenta-movil { height: min(72vh, 640px); border-radius: 36px; padding: 8px; }
  .presenta-pantalla { border-radius: 28px; }
  .presenta-mandos {
    position: static; grid-auto-flow: column; justify-self: end; margin: 0;
  }
}

/* Botón de la tarjeta para volver a verlo en grande. */
.presenta-reabrir {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 12px; min-height: 36px; padding: 0 14px;
  border: 1px solid var(--tinta, #191C20); border-radius: 999px;
  background: #fff; color: var(--tinta, #191C20);
  font: inherit; font-size: .8125rem; font-weight: 600; cursor: pointer;
}
.presenta-reabrir:hover { background: var(--fondo, #F3F6FA); }
.presenta-reabrir span { display: inline !important; color: inherit !important; font-size: inherit !important; }
