body {
  background-color: white;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 150%;
  color: black;
  margin-top: 25px;
}

@media (prefers-color-scheme: dark) {
  body {
    background-color: #333;
  }
}

li {
  position: relative;
}

ul.root li span {
  user-select: none;

  border-style: solid;
  border-width: 2px;
  padding: 15px;
  border-radius: 10px;
}

select {
  height: fit-content;
}

select,
::picker(select) {
  appearance: base-select;
}

select {
  border: solid #222 2px;
  border-radius: 10px;
}

button.is-plus {
  position: absolute;

  font-size: 120%;
  color: #0f0;
  background-color: #3f3f3f;

  display: inline-flex;
  justify-content: center;
  align-items: center;

  border: solid #222 2px;

  padding: 0px;
  width: 1.2ch;
  height: 1.2ch;
}

.overlay {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

ul.ctx-menu {
  position: absolute;
  user-select: none;
  display: block;

  margin: 0;
  padding: 5px;

  background-color: black;
  border-radius: 10px;
}

ul.ctx-menu li {
  font-size: 70%;
  color: #bbb;
  transition: color 0.2s;
}

ul.ctx-menu li:hover {
  color: white;
}





.new-input {
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  background-color: inherit;
  transition: width 0.2s;
  min-width: 8ch;
  max-width: 50ch;
}

.new-input:focus {
  outline: none;
}