* {
  box-sizing: border-box;
  font-family: Arial, sans-serif;
  margin: 0px;
  padding: 0px;
}

body {
  margin: 0;
}

.toolbar {
    padding: 8px;
    background: #2c2c2c;
    color: white;
    position: absolute;
    z-index: 999999999;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
    border-radius: 8px;
    box-shadow:   0px 1px 2px rgba(0, 0, 0, 0.08),
    0px 4px 12px rgba(0, 0, 0, 0.12);
}

.toolbar button {
  margin-right: 10px;
  padding: 8px;
  background: transparent;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;

}

.toolbar button svg {
  fill: white;
  width: 20px;
  height: 20px;
}

.toolbar button:hover, .toolbar button.select {
  background: #0c8ce9;
}

.editor {
  display: flex;
  height: 100vh;
}

#layers, #properties {
  width: 300px;
  padding: 10px;
  overflow-y: auto;
  color: white;
  text-transform: capitalize;
  background: #2c2c2c;
  color: #c8c8c8;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

#properties label {
   border-bottom: 1px solid #444;
   padding: 7px 5px;
}

#properties label:nth-child(2) {
   border-top: 1px solid #444;
}

#properties label input {
  width: 100%;
  margin-top: 5px;
  padding: 5px;
  border: none;
  border-radius: 5px;
  background: #444;
  color: #c8c8c8;
}

#properties textarea {
  width: 100%;
  height: 80px;
  margin-top: 5px;
  padding: 5px;
  border: none;
  border-radius: 5px;
  background: #444;
  color: #c8c8c8;
}


#properties .btn {
  width: 100%;
  padding: 5px;
  cursor:pointer;
  background:#302c2c;
  color: #c8c8c8;
  border: none;
  border-radius: 5px;
  box-shadow: none;
  border: 1px solid #888;
  transition: all 0.3s ease;
}

#properties .btn:hover {
  background: #0c8ce9;
  color: white;
  border-color: #0c8ce9;
}

#layers .layer-item {
  padding: 5px;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.3s ease;
} 

#layers .layer-item:hover {
  color: white;
  background: #0c8ce9;
}

#layers .layer-item.selected {
  color: white;
  background: #0c8ce9;
}

#layers .layer-item svg {
  width: 12px;
  height: 12px;
  vertical-align: middle;
  margin-right: 8px;
  fill: #c8c8c8;
}

#layers h3, #properties h3 {
  font-size: 24px;
  line-height: 1.5em;
  font-weight: 500;
  margin-top: 10px;
  margin-bottom: 10px;
}

#canvas {
  flex: 1;
  position: relative;
  background: #1e1e1e;
  color: white;
  overflow: auto
}

.element {
  position: absolute;
  cursor: move;
  background-size: cover !important;
  background-position: center !important;
}

.selected {
  outline: 2px solid #0c8ce9;
}

.handle {
  width: 8px;
  height: 8px;
  background: #c8c8c8;
  border: 1px solid #0c8ce9;
  position: absolute;

}

.handle.tl { top: -4px; left: -4px; cursor: nwse-resize; }
.handle.tr { top: -4px; right: -4px; cursor: nesw-resize; }
.handle.bl { bottom: -4px; left: -4px; cursor: nesw-resize; }
.handle.br { bottom: -4px; right: -4px; cursor: nwse-resize; }

.line .handle.tl { top: -3px; left: -4px; cursor: nwse-resize; }
.line .handle.tr { top: -3px; right: -4px; cursor: nesw-resize; }

