body {
  margin: 10px;
  padding: 0;
  background-color: #aaa;
  color: #333;
}

h1, h2{
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
}

footer {
  font-size: 0.9em;
  margin-top: 10px;
  text-align: center;
}

.flex-toolbar {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
  padding: 5px;
  border: 2px solid #333;
  background-color: #eee;
  align-items: center;
}
.flex-toolbar-item {
  flex-basis: auto;
  text-align: center;
  line-height: 2em;
}

.flex-main-container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
}


.height-input {
  width: 3em;
}

.left-panel {
  display: flex;
  flex-direction: column;
  width: 400px;
  border: 2px solid #333;
  background-color: #eee;
  padding: 5px;
}

.left-panel-vertical-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.left-panel-vertical-list-item {
  display: flex;
  gap: 5px;
  align-items: center;
  border: 1px solid #ccc;
  background-color: #f9f9f9;
}

.layer-threshold-input {
  width: 4em;
}

.spacer {
  width: 1em;
}

#infoBox{
  background: white;
  border: solid 1px;
  height: 200px;
  overflow: auto;
}

#infoBox p{
  margin: 0;
  padding: 2px 0px 0px 2px;
}

.panel-toolbar {
  display: flex;
  gap: 5px;
  margin-bottom: 10px;
  padding: 5px;
  border: 2px solid #333;
  background-color: #ddd;
  align-items: center;
}

.panel-toolbar-item{
  flex: 1;
}

.right-panel {
  flex: 1; /* Take remaining space for 3D view */
  border: 2px solid #333;
  background-color: #eee;
  padding: 5px;
}

input{
  height: 1.5em;
}
input:invalid {
  border: red solid 3px;
}

.image-size-input {
  width: 50px;
}

.push-right {
  margin-left: auto;
}
.push-bottom {
  margin-top: auto;
}
#canvasSpace {
  display: flex;
  gap: 5px;
  align-items: flex-start;
}
