* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
  background: #ffffff;
}
#p5-container {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* Overlay DOM sobre barra global */
#barra-overlay {
  position: absolute;
  top: 32px; /* TAB_HEIGHT */
  left: 0;
  height: 40px; 
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 12px;
  pointer-events: auto;
  background: transparent;
  z-index: 10;
  font-family: monospace;
  font-size: 12px;
}
#barra-overlay select,
#barra-overlay button {
  font-family: monospace;
  font-size: 12px;
  cursor: pointer;
  border: 1px solid #aaa;
  border-radius: 3px;
  background: #e8e8e8;
  padding: 2px 6px;
}
#barra-overlay select:hover,
#barra-overlay button:hover { background: #d0d0d0; }
#barra-overlay button:disabled,
#barra-overlay select:disabled,
#barra-overlay input:disabled { opacity: 0.45; cursor: default; }
#barra-overlay input[type="range"] { cursor: pointer; width: 80px; }
#barra-overlay label { display: inline-flex; align-items: center; gap: 5px; }

#barra-overlay > label,
#barra-overlay > button,
#barra-overlay > select {
  position: relative;
  z-index: 1;
}

/* Overlay DOM sobre Panel 3 */
#panel3-overlay {
  position: absolute;
  overflow: hidden;
  padding: 4px 12px 0 12px;
  box-sizing: border-box;
  font-size: 12px;
  background: transparent;
  pointer-events: auto;
  z-index: 10;
}
#panel3-overlay button#btn-principal {
  width: 100%;
  padding: 5px 0;
  font-size: 12px;
  cursor: pointer;
  background: #e8e8e8;
  border: 1px solid #aaa;
  border-radius: 3px;
  margin-bottom: 4px;
}
#panel3-overlay button#btn-principal:hover { background: #d0d0d0; }
#panel3-overlay hr.p3-sep {
  border: none;
  border-top: 1px solid #ccc;
  margin: 4px 0;
}
#panel3-overlay .p3-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 2px;
}
#panel3-overlay label { display: inline-flex; align-items: center; }
#panel3-overlay input[type="range"] { cursor: pointer; }