html {
    color-scheme: dark;
}

html, body, input, textarea, select, button, dialog {
    background-color: #282a36;
}
html, body, input, textarea, select, button {
    border-color: #686055;
    color: #f8f8f2;
}
body,html {
    height: 100%;
    margin: 0;
    padding: 0
}

body {
    bottom: 0;
    left: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0
}

a {
    color: #f8f8f2;
}

textarea:focus {
    outline: none;
    border-color: #719ECE;
    box-shadow: 0 0 10px #719ECE;
}

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: rgb(31, 32, 34);
    border: solid;
	border-color: rgb(48, 51, 53);
    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;
    height: 100%;
    margin: 0;
    min-width: 0;
    outline: 0 0;
    overflow: hidden;
    padding: 30px;
    resize: none;
    width: 100%;
    width: calc(100% - 5px)
}

.ui-field:hover {
    overflow: auto
}

.ui-aside {
    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(img/gear.svg) no-repeat 50% 50% / 25px;
    content: '';
    display: block;
    height: 40px;
    opacity: .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,.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%
    }
}

small {
    font-size: 73%
}

.json {
    font-family: monospace;
    line-height: 152%;
    word-wrap: break-word
}

.property {
    color: #50fa7b
}

.number {
    color: #bd93f9;
}

.string {
    color: #f1fa8c;
}

.boolean {
    color: #bd93f9;
}

.null {
    color: rgb(169, 164, 157);
    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,.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,.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,.5)
}

.toggle:hover+ul {
    border-left: solid 1px rgba(114,159,207,.5)
}

.toggle:hover+ol * {
    color: rgba(164,0,0,.5)
}

.toggle:hover+ul * {
    color: rgba(114,159,207,.5)
}

.collapsed>ol,.collapsed>ul {
    display: none!important
}

.object>.toggle,.object>.toggle-end {
    color: #f8f8f2;
}

.object>.toggle::before {
    border-color: #729FCF;
    color: #729FCF
}

.collapsed.object .toggle-end::before {
    content: '…';
    display: inline
}

.array>.toggle,.array>.toggle-end {
    color: #f8f8f2;
}

.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: .7;
    padding: .1em .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'
}
