*{
  box-sizing:border-box;
}

#editor-app{
  width:100%;
  height:100vh;
  display:grid;
  grid-template-columns:320px 1fr;
  overflow:hidden;
  font-family:Arial;
  background:#111;
}

/* SIDEBAR */

#sidebar{
  background:#171717;
  border-right:1px solid #222;
  overflow-y:auto;
  padding:16px;
}

.section{
  margin-bottom:24px;
}

.label{
  display:block;
  font-size:12px;
  color:#999;
  margin-bottom:8px;
  text-transform:uppercase;
}

.uploadBox{
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px dashed #333;
  border-radius:12px;
  height:120px;
  cursor:pointer;
  background:#101010;
  transition:.2s;
}

.uploadBox:hover{
  border-color:#00e5ff;
}

.uploadBox input{
  display:none;
}

.uploadBox span{
  color:#888;
}

/* INPUTS */

textarea,
select,
input[type=color]{
  width:100%;
  margin-bottom:16px;
  background:#101010;
  border:1px solid #333;
  color:#fff;
  padding:10px;
  border-radius:8px;
}

textarea{
  min-height:90px;
  resize:vertical;
}

input[type=range]{
  width:100%;
  margin-bottom:20px;
  height:4px;
  appearance:none;
  background:#333;
  border-radius:999px;
}

input[type=range]::-webkit-slider-thumb{
  appearance:none;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#00e5ff;
  cursor:pointer;
}

/* BUTTONS */

button{
  width:100%;
  padding:12px;
  border:none;
  border-radius:10px;
  background:#00e5ff;
  color:#000;
  font-weight:700;
  cursor:pointer;
}

button:hover{
  opacity:.9;
}

/* WORKSPACE */

#workspace{
  overflow:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0a0a0a;
  padding:30px;
}

#canvasWrap{
  position:relative;
}

canvas{
  background:#000;
  border-radius:12px;
  box-shadow:0 20px 50px rgba(0,0,0,.5);
}

/* LAYERS */

.layerItem{
  background:#222;
  border:1px solid #333;
  padding:10px;
  border-radius:8px;
  margin-bottom:8px;
  cursor:pointer;
  color:#aaa;
}

.layerItem.active{
  border-color:#00e5ff;
  color:#fff;
}