[data-collapsible] > :first-child {
  cursor: pointer;
  padding: 5px;
}
[data-collapsible] > :first-child:hover {
  cursor: pointer;
  outline: 1px solid #ccc;
}
[data-collapsible] > :first-child::after {
  content: '-';
  display: inline-block;
  padding-left: 5px;
}
[data-collapsible].collapsed > :not(:first-child) {
  display: none;
}
[data-collapsible].collapsed > :first-child {
  font-style: italic;
  color: #666;
}
[data-collapsible].collapsed > :first-child::after {
  content: '+';
}
.DemoBox_head {
  font-size: 14px;
  font-family: monospace;
  padding: 4px 6px;
  background-color: #BDBDBD;
  border-bottom: 1px solid #ccc;
  color: #616161;
}
.DemoBox_head a {
  text-decoration: none;
  color: inherit;
  display: block;
}
.DemoBox_text {
  border: 1px solid #cca;
  background-color: #f0f0f0;
}
.DemoBox_text .CodeMirrorRx {
  margin: 5px;
}
.DemoBox_text .CodeMirror {
  background: transparent;
  height: auto;
}
.DemoBox_text textarea {
  border: none;
  width: 200px;
  height: 200px;
  background: transparent;
}
.DemoBox_text textarea:focus {
  outline: none;
}
.DemoBox {
  display: flex;
}
.DemoBox-top {
  flex-direction: column;
}
.DemoBox-bottom {
  flex-direction: column-reverse;
}
.DemoBox-left {
  flex-direction: row;
}
.DemoBox-right {
  flex-direction: row-reverse;
}
.DemoBox-top,
.DemoBox-left {
  justify-content: flex-start;
}
.DemoBox-bottom,
.DemoBox-right {
  justify-content: flex-end;
}
.DemoBox_output {
  border: 1px solid #ccc;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.DemoBox-top > .DemoBox_output {
  border-bottom: none;
}
.DemoBox-bottom > .DemoBox_output {
  border-top: none;
}
.DemoBox-left > .DemoBox_output {
  border-right: none;
}
.DemoBox-right > .DemoBox_output {
  border-left: none;
}
.DemoBox_error {
  padding: 10px 20px;
  color: #700;
  font-weight: bold;
  background-color: #fdd;
  border: 1px solid #caa;
  margin: 5px;
}
