#svg-display .node-background {
  fill: #999;
  rx: 8px;
  ry: 8px;
  stroke: #000;
  stroke-width: 2px;
}#svg-display .nonenode-background {
  fill: #555;
  rx: 8px;
  ry: 8px;
  stroke: #000;
  stroke-width: 2px;
}#svg-display .node-type {
  font-weight: bold;
  font-size: 10px;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0px;
  padding: 0px;
  border: 0px;
  border-radius: 4px;
  background-color: #DDD;
  cursor: pointer;
}/* Tooltip */#svg-display .node-info:hover .node-tooltip {
  visibility: visible;
}#svg-display .node-info .node-tooltip {
  visibility: hidden;
}#svg-display .node-tooltip-text {
  display: inline-block;
  font-size: 10px;
  line-height: 12px;
  padding: 5px;
}#svg-display .node-tooltip-background {
  fill: #DDD;
  stroke: #000;
  stroke-width: 2px;
  rx: 10px;
  ry: 10px;
}/* Node name */#svg-display .node-name {
  background: none;
  display: block;
  text-align: center;
  width: 100%;
  height: 100%;
  margin: 0px;
  padding: 0px;
  border: 0px;
}#svg-display .node-name-button {
  cursor: pointer;
}/* Field backgrounds */#svg-display .string-value-background,
#svg-display .stringArray-value-background {
  fill: #696;
  rx: 5px;
  ry: 5px;
  stroke: #000;
  stroke-width: 2px;
}#svg-display .number-value-background,
#svg-display .numberArray-value-background {
  fill: #669;
  rx: 5px;
  ry: 5px;
  stroke: #000;
  stroke-width: 2px;
}#svg-display .boolean-value-background,
#svg-display .booleanArray-value-background {
  fill: #966;
  rx: 5px;
  ry: 5px;
  stroke: #000;
  stroke-width: 2px;
}#svg-display .node-value-background,
#svg-display .nodeArray-value-background {
  fill: #999966;
  rx: 5px;
  ry: 5px;
  stroke: #000;
  stroke-width: 2px;
}#svg-display .fieldname {
  font-weight: bold;
  white-space: pre;
  pointer-events: none;
  vertical-align: bottom;
  margin: 0px;
  padding: 0px;
  border: 0px;
  box-sizing: border-box;
}/* Field values */#svg-display .string-value {
  background-color: #DDD;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0px;
  padding: 2px;
  border: 0px;
  border-radius: 4px;
  box-sizing: border-box;
}#svg-display .number-value {
  background-color: #DDD;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0px;
  padding: 2px;
  border: 0px;
  border-radius: 4px;
  box-sizing: border-box;
}#svg-display .enum-value {
  background-color: #DDD;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0px;
  padding: 0px;
  border: 0px;
  border-radius: 4px;
}#svg-display .boolean-value {
  background-color: #DDD;
  cursor: pointer;
  display: block;
  height: 100%;
  margin: 0px;
  padding: 0px;
  border: 0px;
}#svg-display .connection {
  stroke: #000;
  stroke-width: 4;
  fill: none;
}#svg-display .fieldvalue-button:hover {
  fill: #FFF;
  cursor: pointer;
}#svg-display .fieldvalue-button {
  fill: #999;
}/* Number spinners cause more problems then they are worth in our case. For example in Safari they
render in completely random locations when used inside a svg foreign-object. */#svg-display input::-webkit-outer-spin-button,
#svg-display input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}#svg-display input[type=number] {
  -moz-appearance: textfield;
}#toolbox {
  position: absolute;
  left: 5px;
  bottom: 35px;
  width: 360px;
  border-radius: 8px;
  border: 4px solid #000;
  background-color: #888;
}#toolbox .element {
  margin-top: 5px;
  margin-bottom: 5px;
  margin-left: 1%;
  margin-right: 1%;
  width: 98%;
  background-color: #DDD;
  border-radius: 4px;
}/* Show cursor on buttons in the toolbox */#toolbox button {
  cursor: pointer;
  color: #000;
  line-height: 15px;
  margin-top: 5px;
  margin-bottom: 5px;
  margin-left: 1%;
  margin-right: 1%;
  width: 98%;
}#toolbox input {
  display: inline-block;
  width: 175px;
  min-width: 175px;
  font-size: 10pt;
  margin-left: 1%;
  margin-right: 1%;
}#toolbox #openscheme-container,
#toolbox #opentree-container,
#toolbox #exporttree-container,
#toolbox #pack-container {
  display: flex;
  align-items: center;
}#toolbox > .header {
  margin: 5px;
  font-size: 15pt;
  font-weight: bold;
  text-align: center;
  color: #FFF;
}#scheme-display {
  overflow: scroll;
  white-space: nowrap;
  padding: 5px;
  height: 250px;
  margin: 5px;
  border: 2px solid #000;
  background-color: #BBB;
}#scheme-display ul {
  margin-block-start: 5px;
  margin-block-end: 5px;
  padding-inline-start: 20px;
  margin: 2px;
}#scheme-display .header {
  font-size: 12pt;
  font-weight: bold;
  margin-top: 10px;
}#scheme-display .identifier {
  font-size: 10pt;
  margin-right: 5px;
}#scheme-display .node-comment {
  font-style: italic;
  font-size: 10pt;
}#scheme-display .field-type {
  font-size: 10pt;
  font-weight: bolder;
  margin-right: 5px;
}/* Show pointer to indicate that you can expand this entry */#scheme-display details summary {
  cursor: pointer;
}/* Hide the summary arrows on chrome */#scheme-display details summary::-webkit-details-marker {
  display: none;
}/* Hide the summary arrows on firefox */#scheme-display details summary:first-of-type {
  list-style-type: none;
}html,
html > body {
  width: 100%;
  height: 100%;
  margin: 0px;
  overflow: hidden;
  background-color: #444;
}.error {
  color: #FFF;
}#input-blocker {
  position: absolute;
  width: 100%;
  height: 100%;
}#github-button {
  position: absolute;
  left: 5px;
  top: 5px;
  width: 80px;
  height: 15px;
  font-size: 12px;
  border-radius: 8px;
  border: 4px solid #000;
  background-color: #888;
  color: #FFF;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
}#share-button {
  position: absolute;
  right: 5px;
  top: 5px;
  width: 80px;
  height: 25px;
}body .control-element {
  font-size: 12px;
  border-radius: 8px;
  border: 4px solid #000;
  background-color: #888;
  color: #FFF;
  font-weight: bold;
  text-align: center;
  line-height: 15px;
  padding: 1px 7px 2px;
}body button {
  cursor: pointer;
  /* Disable double tap zoom on mobile */
  touch-action: manipulation;
}body button:disabled {
  color: #000;
}#toolbox-toggle {
  position: absolute;
  left: 5px;
  bottom: 5px;
  width: 100px;
  height: 25px;
}#focus-button {
  position: absolute;
  left: 110px;
  bottom: 5px;
  width: 85px;
  height: 25px;
}#zoomcontrols-container {
  display: flex;
  box-sizing: border-box;
  position: absolute;
  left: 200px;
  bottom: 5px;
  width: 300px;
  height: 25px;
  font-family: "system-ui";
  vertical-align: middle;
  justify-content: space-between;
}#zoomcontrols-container button {
  line-height: 10px;
}#zoomcontrols-container #zoomspeed-slider {
  width: 75px;
}#undo-button {
  position: absolute;
  left: 505px;
  bottom: 5px;
  width: 125px;
  height: 25px;
}#redo-button {
  position: absolute;
  left: 635px;
  bottom: 5px;
  width: 125px;
  height: 25px;
}#svg-display {
  width: 100%;
  height: 100%;
}#tree-title {
  position: absolute;
  width: 100%;
  top: 10px;
  line-height: 25px;
  font-size: 15pt;
  font-weight: bold;
  text-align: center;
  color: #FFF;
}.order-front {
  z-index: 1;
}.order-back {
  z-index: -1;
}/* disabling selection is a non-standard feature but supported on most browsers */.noselect {
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Safari */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
  pointer-events: none;
}
