body,
html {
  height: 100%;
  margin: 0;
  padding: 0;
}
body {
  bottom: 0;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
}
ol,
ul {
  list-style-type: none;
}
.ui-notification {
  background: #ff8;
  font: 12px/24px arial, sans-serif;
  display: none;
  margin: 0 0 0 -4px;
  padding: 0 10px;
  position: fixed;
  text-align: center;
  top: 0;
  z-index: 10;
}
.status-error {
  background: #c00;
  color: #fff;
  display: inline-block;
}
.ui-editor {
  float: left;
  height: 100%;
  position: relative;
  width: 50%;
}
.ui-resizer {
  background: #ccc;
  border: solid #fff;
  border-width: 0 2px;
  bottom: 0;
  cursor: ew-resize;
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
}
.resizing,
.resizing:hover,
.ui-resizer:hover {
  background: #eee;
  border-color: #eee;
}
.ui-field {
  border: 0;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  color: #333;
  height: 100%;
  margin: 0;
  min-width: 0;
  outline: 0 0;
  overflow: hidden;
  padding: 30px;
  resize: none;
  width: 100%;
  width: calc(100% - 5px);
}
.ui-field:focus {
  color: #000;
}
.ui-field:hover {
  overflow: auto;
}
.ui-aside {
  background: #fff;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.ui-aside:hover {
  overflow: auto;
}
.ui-treeview {
  cursor: default;
  padding: 30px;
  position: relative;
}
.ui-menu {
  height: 40px;
  position: fixed;
  right: 20px;
  width: 40px;
  z-index: 1;
}
.ui-menu::before {
  background: url(./gear.svg) no-repeat 50% 50% / 25px;
  content: '';
  display: block;
  height: 40px;
  opacity: 0.5;
  position: fixed;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: opacity 3500ms ease, -webkit-transform 100ms ease;
  transition: opacity 3500ms ease, transform 100ms ease;
  width: 40px;
}
.ui-menu:hover::before {
  opacity: 1;
  -webkit-transform: rotate(0);
  transform: rotate(0);
}
.ui-menu-dropdown {
  display: none;
  padding: 20px;
  position: absolute;
  right: -22px;
  top: 18px;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}
.ui-menu:hover .ui-menu-dropdown {
  display: block;
}
.ui-menu-panel {
  background: #fff;
  border: solid 1px #ccc;
  box-shadow: 0 3px 2px -3px rgba(0, 0, 0, 0.2);
  color: #555;
  display: block;
  font-family: Ubuntu, Arial, sans-serif;
  font-size: 78%;
  padding: 2px;
  position: relative;
  -moz-user-select: none;
  white-space: nowrap;
}
.ui-menu-panel:before {
  background: #fff;
  border: solid #ccc;
  border-radius: 0 0 20px;
  border-width: 1px 0 0 1px;
  content: '';
  display: block;
  height: 6px;
  position: absolute;
  right: 18px;
  top: -4px;
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 6px;
}
.ui-menu-item {
  color: inherit;
  cursor: pointer;
  display: block;
  padding: 3px 10px 3px 5px;
  text-decoration: none;
}
.ui-menu-item:hover {
  background-color: #1e90ff;
  color: #fff;
}
.ui-menu-separator {
  border: 0;
  border-top: solid 1px #e5e5e5;
  height: 0;
  margin: 2px -2px;
  padding: 0;
}
.ui-menu-item::before {
  content: '';
  display: inline-block;
  width: 1.2em;
}
.beautify #beautify::before,
.show-indexes #show-indexes::before,
.show-types #show-types::before {
  content: '✔';
}
@media (max-width: 500px) {
  .ui-editor {
    float: none;
    height: 50%;
    width: 100%;
  }
  .ui-field {
    height: calc(100% - 5px);
    width: 100%;
  }
  .ui-resizer {
    border-width: 2px 0;
    bottom: 0;
    cursor: ns-resize;
    height: 1px;
    left: 0;
    top: auto;
    width: 100%;
  }
  .ui-aside {
    height: 50%;
  }
}
.popup-container {
  background: rgba(0, 0, 0, 0.8);
  display: none;
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}
.popup-container.show {
  display: table;
}
.popup-centerer {
  cursor: pointer;
  display: table-cell;
  vertical-align: middle;
}
.popup {
  background: url(img/avatar.png) #fff bottom center no-repeat;
  border: solid 10px #fff;
  border-radius: 50%;
  cursor: default;
  font-family: Ubuntu, Arial, Helvetica, sans-serif;
  height: 290px;
  margin-left: auto;
  margin-right: auto;
  max-width: 50%;
  padding: 4em 5em 6em;
  position: relative;
  text-align: center;
  width: 290px;
}
.links {
  font-size: 73%;
  margin-top: 1.4em;
}
.link {
  color: #1e90ff;
  cursor: pointer;
  text-decoration: underline;
}
.title {
  font-size: 140%;
  font-weight: 700;
}
small {
  font-size: 73%;
}
.bitcoin {
  background-image: none;
}
.bitcoin .main,
.second {
  display: none;
}
.bitcoin .second,
.main {
  display: block;
  margin: 0 -3em;
}
.json {
  font-family: monospace;
  line-height: 152%;
  word-wrap: break-word;
}
.property {
  color: #204a87;
}
.number {
  color: #ad7fa8;
}
.string {
  color: #4e9a06;
}
.boolean {
  color: #c4a000;
}
.null {
  color: #babdb6;
  font-style: italic;
}
.error {
  background: url(img/syntax-error.png) repeat-x left bottom;
  border-radius: 3px;
  cursor: default;
  padding: 0;
  text-shadow: none;
}
.error::after {
  background: rgba(255, 0, 0, 0.4);
  border-radius: 2px;
  content: '';
  display: block;
  height: 17px;
  left: 10px;
  margin-top: -17px;
  position: absolute;
  width: 10px;
}
.error:hover::after {
  background: rgba(255, 0, 0, 0.8);
}
.show-indexes ol {
  counter-reset: idx -1;
}
.show-indexes ol > li::before {
  color: #a40000;
  content: counter(idx) '.';
  counter-increment: idx;
  font-family: arial;
  font-weight: 700;
  padding: 0 5px 0 0;
  vertical-align: bottom;
}
.show-indexes.color ol > li::before {
  background-color: #a40000;
}
li,
ol,
ul {
  display: inline;
  margin: 0;
  padding: 0;
}
.beautify li,
.beautify ol,
.beautify ul {
  border-left: solid 1px transparent;
  display: block;
}
.beautify ol,
.beautify ul {
  margin: 0 0 0 2px;
  padding: 0 0 0 23px;
}
.beautify ol {
  border-radius: 10px 0 0;
}
.collapsed > .toggle-end,
.toggle {
  cursor: pointer;
  margin: -10px;
  padding: 10px;
}
.collapsed:hover > .toggle,
.collapsed:hover > .toggle-end,
.toggle:hover,
.toggle:hover ~ .toggle-end {
  font-weight: 700;
}
.toggle:hover::before {
  font-weight: 400;
}
.toggle:hover + ol {
  border-left: solid 1px rgba(164, 0, 0, 0.5);
}
.toggle:hover + ul {
  border-left: solid 1px rgba(114, 159, 207, 0.5);
}
.toggle:hover + ol * {
  color: rgba(164, 0, 0, 0.5);
}
.toggle:hover + ul * {
  color: rgba(114, 159, 207, 0.5);
}
.collapsed > ol,
.collapsed > ul {
  display: none !important;
}
.object > .toggle,
.object > .toggle-end {
  color: #729fcf;
}
.object > .toggle::before {
  border-color: #729fcf;
  color: #729fcf;
}
.collapsed.object .toggle-end::before {
  content: 'â€¦';
  display: inline;
}
.array > .toggle,
.array > .toggle-end {
  color: #a40000;
}
.array > .toggle::before {
  border-color: #a40000;
  color: #a40000;
}
.collapsed.array .toggle-end::before {
  content: attr(card);
  display: inline;
}
.array::before,
.boolean::before,
.number::before,
.object::before,
.string::before {
  border-radius: 2px;
  color: #fff;
  margin: 0 2px;
  opacity: 0.4;
  padding: 0.1em 0.2em;
  word-wrap: normal;
}
.show-types .object::before {
  background-color: #729fcf;
  content: 'object';
}
.show-types .array::before {
  background-color: #a40000;
  content: 'array';
}
.show-types .number::before {
  background-color: #ad7fa8;
  content: 'number';
}
.show-types .string::before {
  background-color: #4e9a06;
  content: 'string';
}
.show-types .boolean::before {
  background-color: #c4a000;
  content: 'boolean';
}

@media (prefers-color-scheme: dark) {
  :root { color-scheme: dark; }
  body {
    background: #0b0f14;
    color: #e5e7eb;
  }
  .ui-aside { background: #0f172a; }
  .ui-field {
    color: #e5e7eb;
    background: transparent;
  }
  .ui-field:focus { color: #fff; }
  .ui-resizer {
    background: #334155;
    border-color: #0f172a;
  }
  .resizing,
  .resizing:hover,
  .ui-resizer:hover {
    background: #475569;
    border-color: #475569;
  }
  .ui-menu::before {
    /* Make the gear icon visible on dark background */
    filter: invert(1) brightness(1.2);
    opacity: 0.9;
  }
  .ui-menu-panel {
    background: #0f172a;
    border-color: #334155;
    color: #cbd5e1;
    box-shadow: 0 3px 2px -3px rgba(0, 0, 0, 0.8);
  }
  .ui-menu-panel:before {
    background: #0f172a;
    border-color: #334155;
  }
  .ui-menu-item:hover {
    background-color: #2563eb;
    color: #fff;
  }
  .ui-notification { background: #4b5563; color: #fff; }
  .status-error { background: #b91c1c; color: #fff; }
  .property { color: #93c5fd; }
  .number { color: #d8b4fe; }
  .string { color: #86efac; }
  .boolean { color: #facc15; }
  .null { color: #9ca3af; }
  .toggle:hover + ol { border-left: solid 1px rgba(239, 68, 68, 0.5); }
  .toggle:hover + ul { border-left: solid 1px rgba(59, 130, 246, 0.5); }
  .toggle:hover + ol * { color: rgba(239, 68, 68, 0.7); }
  .toggle:hover + ul * { color: rgba(59, 130, 246, 0.7); }
}
