:root {
    --theme-blue: #3399FF;
    --theme-green: #64CF40;
    --theme-orange: #F6A623;
    --theme-black: #FFFFFF;
    user-select: none;
}

:focus {
    outline: none;
}

::-webkit-scrollbar {
    width: 0.2em;
}

::-webkit-scrollbar:horizontal {
    height: 0.5em;
}

::-webkit-scrollbar-track {
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.3);
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
}

::-webkit-scrollbar-thumb:window-inactive {
    background: rgba(169, 169, 169, 0.4);
}
@font-face {font-family: "iconfont";
  src: url('iconfont.eot?t=1568444928030'); /* IE9 */
  src: url('iconfont.eot?t=1568444928030#iefix') format('embedded-opentype'), /* IE6-IE8 */
  url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
  url('iconfont.woff?t=1568444928030') format('woff'),
  url('iconfont.ttf?t=1568444928030') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
  url('iconfont.svg?t=1568444928030#iconfont') format('svg'); /* iOS 4.1- */
}

.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-down-triangle2:before {
  content: "\e642";
}

.icon-up-triangle2:before {
  content: "\e644";
}

.icon-right-triangle2:before {
  content: "\e645";
}

.icon-left-triangle2:before {
  content: "\e646";
}

.icon-material:before {
  content: "\e601";
}

.icon-help:before {
  content: "\e603";
}

.icon-checkbox-check:before {
  content: "\e643";
}

.icon-edit:before {
  content: "\e69b";
}

.icon-undo:before {
  content: "\e60a";
}

.icon-publish:before {
  content: "\e70e";
}

.icon-scale:before {
  content: "\e61f";
}

.icon-pause:before {
  content: "\e638";
}

.icon-cube-separate:before {
  content: "\e7fa";
}

.icon-grid:before {
  content: "\e8b4";
}

.icon-download:before {
  content: "\e629";
}

.icon-cube:before {
  content: "\e6fc";
}

.icon-audio:before {
  content: "\e618";
}

.icon-shadow:before {
  content: "\e702";
}

.icon-import:before {
  content: "\e606";
}

.icon-solution:before {
  content: "\e623";
}

.icon-down-arrow:before {
  content: "\e692";
}

.icon-right-triangle:before {
  content: "\e611";
}

.icon-search:before {
  content: "\e614";
}

.icon-up-arrow:before {
  content: "\e6dc";
}

.icon-duplicate:before {
  content: "\e617";
}

.icon-hand:before {
  content: "\e622";
}

.icon-add:before {
  content: "\e637";
}

.icon-anchor-point:before {
  content: "\e664";
}

.icon-cylinder:before {
  content: "\e61a";
}

.icon-cone:before {
  content: "\e61b";
}

.icon-cube-line:before {
  content: "\e61d";
}

.icon-tetrahedron:before {
  content: "\e626";
}

.icon-close-thin:before {
  content: "\e849";
}

.icon-close:before {
  content: "\e654";
}

.icon-filter:before {
  content: "\e6c3";
}

.icon-scene-setting:before {
  content: "\e72b";
}

.icon-play:before {
  content: "\e61c";
}

.icon-select:before {
  content: "\e67b";
}

.icon-texture:before {
  content: "\e607";
}

.icon-history:before {
  content: "\e673";
}

.icon-point:before {
  content: "\e608";
}

.icon-redo:before {
  content: "\e600";
}

.icon-js:before {
  content: "\e648";
}

.icon-minus:before {
  content: "\e6f2";
}

.icon-plus:before {
  content: "\e6f1";
}

.icon-export:before {
  content: "\e657";
}

.icon-source:before {
  content: "\e62a";
}

.icon-upload:before {
  content: "\e6e8";
}

.icon-save:before {
  content: "\e613";
}

.icon-path:before {
  content: "\ea9e";
}

.icon-group:before {
  content: "\e6b3";
}

.icon-vr:before {
  content: "\e604";
}

.icon-checkbox-uncheck:before {
  content: "\e6a2";
}

.icon-geometry:before {
  content: "\e624";
}

.icon-start:before {
  content: "\e6fd";
}

.icon-setting-black:before {
  content: "\e602";
}

.icon-json:before {
  content: "\e605";
}

.icon-spray:before {
  content: "\e62d";
}

.icon-compress:before {
  content: "\e620";
}

.icon-rotate:before {
  content: "\e615";
}

.icon-translate:before {
  content: "\e60c";
}

.icon-model-view:before {
  content: "\e60e";
}

.icon-setting:before {
  content: "\e60f";
}

.icon-delete:before {
  content: "\e610";
}

.icon-scenes:before {
  content: "\e612";
}

.icon-glsl:before {
  content: "\e60d";
}

.icon-ok:before {
  content: "\e609";
}

.icon-cancel:before {
  content: "\e60b";
}

.icon-polygon:before {
  content: "\ec1e";
}

.icon-line:before {
  content: "\ec1f";
}

.icon-new-scene:before {
  content: "\e616";
}

.icon-model:before {
  content: "\e791";
}

.icon-backward:before {
  content: "\e7f3";
}

.icon-forward:before {
  content: "\e7f4";
}

.icon-stop:before {
  content: "\e7f5";
}

.icon-sort:before {
  content: "\e66c";
}

.icon-maximize:before {
  content: "\e621";
}

.icon-minimize:before {
  content: "\e625";
}

.icon-down-triangle:before {
  content: "\e6bb";
}

.icon-invisible:before {
  content: "\e659";
}

.icon-visible:before {
  content: "\e65a";
}

.icon-rect:before {
  content: "\e619";
}



.Button {
    height: 24px;
    margin: 0 4px;
    padding: 0 8px;
    color: #fff;
    background-color: #e74c3c;
    border: none;
    display: inline-block;
    box-sizing: border-box;
    cursor: pointer;
}

.Button.primary {
    color: #fff;
    background-color: #3399ff;
}

.Button.success {
    color: #fff;
    background-color: #64cf40;
}

.Button.warn {
    color: #fff;
    background-color: #f6a623;
}

.Button.disabled {
    color: #fff;
    background-color: #ebebeb;
}
.CheckBox {
    width: 20px;
    height: 20px;
    margin: 0;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAvSURBVDhPYxg6oKur6z8lGGoMAoAEyQWjBkLAqIEkgVEDIWCEGkgJhhoz6AEDAwCX46nq5LTHtAAAAABJRU5ErkJggg==);
    display: inline-block;
    -webkit-appearance: none;
    cursor: pointer;
}

.CheckBox.checked {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACYSURBVDhP1YxRCoMwEERzp9ZL1RO156i306QuTJg1jpHFH/vgQXSHl/6Hx7uUKyJD1CgiMkSNIiJD1CgiMkSNznx9+UaG+OGZw6eUedn+Q4b4Y08VM5Eh7UD5XF2yviFD6mGc9uNqPoiZyBB/NPy32YuZyJB24KP+fSQyRI0q6taKDFGjiMgQNYqIDFGjiMgQNYqIzO1J6Qc9ntav8Xl7ewAAAABJRU5ErkJggg==);
}

.CheckBox.disabled {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAvSURBVDhPYxg64PXr1/8pwVBjEAAkSC4YNRACRg0kCYwaCAEj1EBKMNSYQQ8YGACTLe4e+yPbzQAAAABJRU5ErkJggg==);
    cursor: default;
}

.CheckBox.checked.disabled {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABkSURBVDhP5dBBCsAgDADB/P+rviCXWFYsLaGNYi6VLgREdARln0opNTOduWJztZ+AZlZVta3TINj9fAr0GC2DTxiF4PkvvjeMQpD8xQijIUjRA74pkNgbYTQNzrYxmJnOfD6RAzbN65BiZNB7AAAAAElFTkSuQmCC);
}
.Form {
    box-sizing: border-box;
}
.FormControl {
    min-height: 20px;
    margin: 4px;
    box-sizing: border-box;
}

.FormControl>* {
    vertical-align: middle;
}

.FormControl>.Label {
    width: 60px;
}
.IconButton {
    width: 32px;
    height: 32px;
    color: #555;
    background: none;
    margin: 4px;
    padding: 0;
    border: 1px solid #ccc;
    border-radius: 2px;
    box-sizing: border-box;
    cursor: pointer;
}

.IconButton.selected {
    color: #fff;
    background: #3399ff;
    border: 1px solid #3399ff;
}

.IconButton:hover {
    color: #3399ff;
    background: none;
    border: 1px solid #3399ff;
}

.IconButton.selected:hover {
    color: #fff;
    background: #3399ff;
    border: 2px solid #3399ff;
}

.IconButton .iconfont {
    font-size: 20px;
    pointer-events: none;
}
.ImageButton {
    width: 32px;
    height: 32px;
    color: #555;
    background: none;
    margin: 4px;
    padding: 0;
    border: 1px solid #ccc;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    cursor: pointer;
}

.ImageButton.selected {
    color: #fff;
    background: #3399ff;
    border: 1px solid #3399ff;
}

.ImageButton:hover {
    color: #3399ff;
    background: none;
    border: 1px solid #3399ff;
}

.ImageButton.selected:hover {
    color: #fff;
    background: #3399ff;
    border: 2px solid #3399ff;
}

.ImageButton>img {
    width: 24px;
    pointer-events: none;
}
.Input {
    width: 160px;
    font: 12px 'Microsoft YaHei';
    margin: 1px 0;
    padding: 0 2px;
    border: 1px solid rgb(217, 217, 217);
    box-sizing: border-box;
    vertical-align: top;
}

.Input.hidden {
    display: none;
}
.Label {
    font: 12px 'Microsoft YaHei';
    line-height: 20px;
    display: inline-block;
}
.Radio {
    width: 20px;
    height: 20px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAEiSURBVDhP1ZPLaoNAGIVdttC+TUveqHmAEkp3br0gKCq60bfwti40BNF9kodIusrOzIFTxNYxE3d+8MOg/znM/Bdt2RiG8WxZ1krEmrHSdf2Jv+/Ddd3POI4PSZKci6K4IHCOomjved4H09TwfX9XVdWpkyDMz0EQfDN9Gpi1bUupnKZpOpG7pWwcPHPqZn/BTcXzN5QPQQNQM+YqI2p6dBznkTY96CCKzjxloLFt+5U2PRgLdJJ5yuR5fjFN8402PXMNoZEZzn6yqP8LbXqwAaIpe+Ypg6akafpAmyHYgLIslW+ZZdmP0LxTPg42AEN7i7quuzAMvyibBhuAoaX2H7iZstkv2ADUB0VHJxE449vNZ8rABmBoMRYIdFPagIWgaVdKsJshjm46QwAAAABJRU5ErkJggg==);
    display: inline-block;
    -webkit-appearance: none;
    cursor: pointer;
}

.Radio.checked {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFlSURBVDhP1ZO/SsNQFMYzKuimm4OPoFVxlKoFoTrqI+gDiIhro4KLm9C61ERaseDiE2gRlOqmiLRd62w61enzftcTcluTNHbrDw5cknM+zl9ruJk4wfhcAYupAnZofE+eYUx+/4/0BQ7WS2hsVeDZd+jQ+N4oo77sYF/ckrHqonZcxRciOKzCyzh4FPd4KHbzLpExXL8BGRdPEhYOy+zNrP0NvHz+Gt8m9j28tIM9Ce+GA2DPxFdz+wEsFQE1DG1885tJtozm1ClGRSaAE2TTxU9nY4qZomammypm5hwLIhPAtVAldMQPz62/Yr7xn09OTT+Vx7bIBAwqyJhQQeU4cMmzecyLTAAvgEsrfpqkQ5kuYkRkuuEFHKmlFV8Ns2GJNDMzovrXXnGxK+Hh8AIqamn7cfUKrF3iQcLi4QXYPZmaMLPEYj68gGwJTTadk6TxzZ71LTMKXgCXlmtB4zQjBzAkWNYPuWx6Vj2oQrgAAAAASUVORK5CYII=);
}

.Radio.disabled {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAEFSURBVDhP1ZNdCsIwEIT7qGBvo3gjPYCU4v0ExSOoN+ifTUvpW52hI0FJY/TNDxZLsjNsdtfovxmGIc7zfJ1l2ZbBb5wtdP0dEO/Lsrwi6qZpega/i6K44C5VWhgQnWFwRzVOjDE1TI9K90OzrusknYY5yD1J5obP9FX2DitFGxLJX8F9zJ6NqeFAc8PPXDYWTpBNH9PCoQbalWwsXIu2bXvlBcPpQ7uRjeVXQ2qchr8+uaqqGoZL2Vhwt8DlZUwLR0OZyeYVVJmiJ8FVYm0MdnEnuRuYHr9Y7INkfvgP8FWqysLMnqA3CfvDQXGSDA6AZx+fOQWKmXNpuRaKJc7cA/gTougBp8flNLlkjQ0AAAAASUVORK5CYII=);
    cursor: default;
}

.Radio.checked.disabled {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAE1SURBVDhP1ZNJDoJAEEVZaiK30XgjPYAhxvuZaDwCegMmGUIIC9r/6UIaRBR3vqRip4ZPdVVr/TdKKdv3/bXneVsaz/AtJDwNFB/CMLzC4jRNCxrPQRC4iO0l7TtQdIHAHd0MkiRJDNGTpI9DsTzPpfQ9zEHuWcqG4TX7nVVVpcqyrI1nE3aKMThS3gVxmzPTqZqiKBQ+orCQ2nimzwQ1N/zMRaYFyWsOXafpzkwxU9TslDXwrUSmBcnbLMuen+cV+2KNMdbA7cO3EZkWOH8SZA18r4K/XjmKohj+pci0ILZA0NVpmglLmYlMFxTsMZNnl4Td8Io0szOCZ5PgLe6kfBiIniY87KOUjcN/QL9TE+nsO7EGzMbhfLgobpLGBdD38ZrvQDNzjGCFhWzElvANL+BPsKwHYaPc6BXkh3gAAAAASUVORK5CYII=);
}
.SearchField {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.SearchField>.input {
    width: 0;
    font: 12px 'Microsoft YaHei';
    margin: 1px 0;
    padding: 2px;
    border: 1px solid rgb(217, 217, 217);
    box-sizing: border-box;
    flex: 1;
}

.SearchField>.IconButton {
    width: 22px;
    height: 22px;
}

.SearchField>.IconButton.hidden {
    display: none;
}

.SearchField>.IconButton>.iconfont {
    font-size: 14px;
}

.SearchField>.category {
    position: absolute;
    right: 8px;
    top: 28px;
    height: 160px;
    background: #fff;
    border: 1px solid #ccc;
    display: inline-block;
    z-index: 10;
    overflow-y: auto;
}

.SearchField>.category.hidden {
    display: none;
}

.SearchField>.category>.item {
    padding: 0 8px 0 2px;
}

.SearchField>.category>.item>.CheckBox {
    vertical-align: middle;
}

.SearchField>.category>.item>.title {
    font-size: 14px;
    line-height: 26px;
    vertical-align: middle;
}
.Select {
    box-sizing: border-box;
}
.TextArea {
    width: 160px;
    height: 200px;
    font: 12px 'Microsoft YaHei';
    margin: 0px;
    padding: 0px 2px;
    border: 1px solid rgb(217, 217, 217);
    box-sizing: border-box;
    vertical-align: top;
}
.Toggle {
    width: 34px;
    height: 20px;
    margin: 0 4px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAUCAYAAADoZO9yAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABYSURBVEhL7da9CQAgDIRR918gC2SBzJGhImlEzsofMMUJrz2+dDYRiQrqhZhZuPsxVV3Gd4yQHLt5ecg8vIshiCGIIYghiCGIIaheSA5lzKln34DfioRIdJ5veQfy/zjLAAAAAElFTkSuQmCC);
    display: inline-block;
    cursor: pointer;
}

.Toggle.checked {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAUCAYAAADoZO9yAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABRSURBVEhLYzCe+f//YMDDxyEzz/z/P4NMXL8fYQ7FDqEEnHmGMGfUISAw6hB0MOoQdDDqEHQw6hB0MOoQdDA8HQJqBpCLqdoMoBYeJA75/x8AV8uDZSB9PMIAAAAASUVORK5CYII=);
}

.Toggle.disabled {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAUCAYAAADoZO9yAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABVSURBVEhL7dY7CgAgDERB73/VEEiTOpJGZK38gClWmHZ56WwiEhXUCzGzcPdjqrqM7xghOXbz8pB5eBdDEEMQQxBDEEMQQ1C9kBzKmFPPvgG/FQmR6IJTLfO1daX2AAAAAElFTkSuQmCC);
    cursor: default;
}

.Toggle.checked.disabled {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAUCAYAAADoZO9yAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABQSURBVEhL7dahCgAgDIRh3/9Vrw1WVhTLwmEQNci4H66Or2kD0H9YHYi7H8/M8s415KaIyDuCzAThBOEE4QThBOFqQlbP++6efgNe7RMI+gDSby3zpGs0DgAAAABJRU5ErkJggg==);
}
.Icon {
    font-size: 20px;
    margin: 2px;
    display: inline-block;
}

.ImageList {
    position: relative;
    width: 100%;
    height: calc(100% - 30px);
}

.ImageList>.content {
    position: absolute;
    width: 100%;
    height: calc(100% - 24px);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: flex-start;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
}

.ImageList>.content>.item {
    position: relative;
    width: calc(50% - 8px);
    height: 104px;
    margin: 4px;
    display: inline-block;
    border: 1px solid #ddd;
    box-sizing: border-box;
    cursor: pointer;
}

.ImageList>.content>.item>.img {
    width: 100%;
    height: 100%;
    border-radius: 3px;
    pointer-events: none;
}

.ImageList>.content>.item>.no-img {
    width: 100%;
    height: 100px;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.ImageList>.content>.item>.title {
    position: absolute;
    left: 2px;
    bottom: 2px;
    right: 2px;
    background-color: rgba(0, 0, 0, 0.5);
    font-size: 12px;
    color: #fff;
    padding: 1px 4px;
    pointer-events: none;
    word-break: break-word;
}

.ImageList>.content>.item>.cornerText {
    position: absolute;
    left: 0;
    top: 0;
    font-size: 12px;
    font-weight: bold;
    padding: 0 2px;
    color: #555;
    background: rgba(255, 255, 255, 0.8);
    box-sizing: border-box;
}

.ImageList>.content>.item>.IconButton {
    width: 16px;
    height: 16px;
    margin: 2px;
    padding: 0;
    background: rgba(255, 255, 255, 0.8);
    border: none;
    cursor: pointer;
    pointer-events: all;
}

.ImageList>.content>.item>.edit {
    position: absolute;
    right: 24px;
    top: 0;
}

.ImageList>.content>.item>.delete {
    position: absolute;
    right: 2px;
    top: 0;
}

.ImageList>.content>.item>.IconButton i {
    font-size: 14px;
}

.ImageList>.page {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    font-size: 12px;
    padding-top: 3px;
    border-top: 1px solid #ddd;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.ImageList>.page>.IconButton {
    width: 20px;
    height: 20px;
    margin: 0 2px;
}

.ImageList>.page>.IconButton>.iconfont {
    font-size: 14px;
}

.ImageList>.page>.current {
    width: 60px;
    margin: 0 2px;
    padding: 1px 2px;
}

.ImageList>.page>.info {
    margin: 0 8px 0 2px;
    white-space: nowrap;
}
.ImageUploader {
    max-width: 160px;
    max-height: 120px;
    border-radius: 2px;
    cursor: pointer;
}

.ImageUploader.empty {
    width: 160px;
    height: 120px;
    border: 1px solid #ccc;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.AbsoluteLayout {
    position: absolute;
    display: block;
}
.AccordionLayout {
    width: 100%;
    height: 100%;
    display: block;
}
.AccordionPanel {
    position: relative;
    left: 0;
    top: 0;
    width: 240px;
    height: 320px;
    background: #fafafa;
    box-sizing: border-box;
    transition: all 0.4s;
}

.AccordionPanel.collpased {
    height: 26px;
    overflow: hidden;
}

.AccordionPanel.maximized {
    position: fixed;
    left: 0;
    top: 0;
    width: 100% !important;
    height: 100% !important;
    z-index: 9000;
}

.AccordionPanel.hidden {
    display: none;
}

.AccordionPanel>.header {
    position: relative;
    height: 24px;
    background-color: #2c3e50;
    cursor: pointer;
}

.AccordionPanel>.header>.title {
    height: 100%;
    line-height: 24px;
    font-size: 12px;
    padding-left: 8px;
    color: #fff;
    display: inline-block;
    box-sizing: border-box;
}

.AccordionPanel>.header>.controls {
    position: absolute;
    left: 0;
    right: 4px;
    top: 0;
    bottom: 0;
    text-align: right;
    white-space: nowrap;
}

.AccordionPanel>.header>.controls>.control {
    width: 24px;
    height: 24px;
    margin: 0 2px;
    display: inline-block;
    box-sizing: border-box;
    cursor: pointer;
}

.AccordionPanel>.header>.controls>.control>.iconfont {
    font-size: 16px;
    line-height: 24px;
    color: #fff;
}

.AccordionPanel>.body {
    height: calc(100% - 24px);
    padding: 4px;
    box-sizing: border-box;
}

.AccordionPanel.collapsed>.body {
    height: 0;
    padding: 0;
    overflow-y: hidden;
}
.BorderLayout {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    --up-arrow: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAJCAMAAAB30J7MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODU5RUQ4NzY3RTI2MTFFOUE4RjBBODU0OThFNTczRkMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODU5RUQ4NzU3RTI2MTFFOUE4RjBBODU0OThFNTczRkMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmRpZDo3ODlBMTI3RDI2N0VFOTExOTFBREVBQjM5NUM3ODkwMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3ODlBMTI3RDI2N0VFOTExOTFBREVBQjM5NUM3ODkwMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PlbUzZ8AAAMAUExURfb29tra2tnZ2fX19YuLi4qKivf39wcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///9oQUYcAAAA3SURBVHjaYvhOJGCgRGFX1zeiFHYB0TciFHaBiW8EFXZBqa8EFHbBGN3f8Cq8hWDeJDN4AAIMAEFsVuZN2iPeAAAAAElFTkSuQmCC);
    --down-arrow: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAJCAMAAAB30J7MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OEZDOUYxQTk3RTI2MTFFOTlBRTE4RTE1RkRCMUI3MEYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OEZDOUYxQTg3RTI2MTFFOTlBRTE4RTE1RkRCMUI3MEYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmRpZDo3ODlBMTI3RDI2N0VFOTExOTFBREVBQjM5NUM3ODkwMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3ODlBMTI3RDI2N0VFOTExOTFBREVBQjM5NUM3ODkwMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqOucMsAAAMAUExURfb29tra2tnZ2fX19YuLi4qKivf39wcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///9oQUYcAAAA/SURBVHjaYvhOJGBA5d5EMG/hVfitG8bqwm/i969d2NVhKPz+rQurOkyFYJVd34lQCFTZ9Z0ohUQFD24AEGAACN5W5nESKn0AAAAASUVORK5CYII=);
    --left-arrow: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAoCAMAAAAbvyCxAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6REE4QkI1QUU3OTZEMTFFOTk0NzNEQjBGRjI0QzU2NzQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6REE4QkI1QUY3OTZEMTFFOTk0NzNEQjBGRjI0QzU2NzQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpEQThCQjVBQzc5NkQxMUU5OTQ3M0RCMEZGMjRDNTY3NCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpEQThCQjVBRDc5NkQxMUU5OTQ3M0RCMEZGMjRDNTY3NCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuJET8oAAAAVUExURfb29tra2tnZ2fX19YuLi4qKivf39wWvvrYAAAA7SURBVHjaYmCDAYbBwmJggrKYWaBiDKxQWTADxIIwQCxWNkwWGyvCPFaEyawIO1gR9jIOHp8DAUCAAQBxQwhCpBDaBAAAAABJRU5ErkJggg==);
    --right-arrow: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAoCAMAAAAbvyCxAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MEI0QUI4OEY3OTZFMTFFOTlGQjFGRTU4QTJGRTA0QTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MEI0QUI4OTA3OTZFMTFFOTlGQjFGRTU4QTJGRTA0QTgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowQjRBQjg4RDc5NkUxMUU5OUZCMUZFNThBMkZFMDRBOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowQjRBQjg4RTc5NkUxMUU5OUZCMUZFNThBMkZFMDRBOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtHSBrsAAAAVUExURfb29tnZ2YuLi/X19djY2IqKivf3956cLrcAAAA3SURBVHjazI/JDQAwDMLcg+4/cl8WK4SXFQISPMUAur2lbvqXJtJsJCR0MXFsYdu8Bi1XX4ABAHgwCELn0SAjAAAAAElFTkSuQmCC);
}

/* north */

.BorderLayout>.north {
    border-bottom: 1px solid #eee;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    z-index: 100;
    transition: all 0.4s;
}

.BorderLayout>.north>.content {
    width: 100%;
    height: 100%;
    display: block;
}

.BorderLayout>.north.split>.content {
    overflow-y: hidden;
}

.BorderLayout>.north>.control {
    height: 8px;
    border-top: 1px solid #eee;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

.BorderLayout>.north>.control>.button {
    width: 40px;
    height: 9px;
    background: var(--up-arrow);
    cursor: pointer;
}

.BorderLayout>.north.collapsed>.control>.button {
    background: var(--down-arrow);
}

/* south */

.BorderLayout>.south {
    border-top: 1px solid #eee;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    z-index: 100;
    transition: all 0.4s;
}

.BorderLayout>.south>.content {
    width: 100%;
    height: 100%;
    display: block;
}

.BorderLayout>.south.split>.content {
    overflow-y: hidden;
}

.BorderLayout>.south>.control {
    height: 8px;
    border-bottom: 1px solid #eee;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

.BorderLayout>.south>.control>.button {
    width: 40px;
    height: 9px;
    cursor: pointer;
}

.BorderLayout>.south>.control>.button {
    background: var(--down-arrow);
}

.BorderLayout>.south.collapsed>.control>.button {
    background: var(--up-arrow);
}

/* middle */

.BorderLayout>.middle {
    flex: 1;
    display: flex;
    flex-direction: row;
    overflow: hidden;
}

/* west */

.BorderLayout>.middle>.west {
    border-right: 1px solid #eee;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    transition: all 0.4s;
}

.BorderLayout>.middle>.west>.content {
    width: 100%;
    height: 100%;
    display: block;
}

.BorderLayout>.middle>.west.split>.content {
    overflow-x: hidden;
}

.BorderLayout>.middle>.west>.control {
    width: 8px;
    border-left: 1px solid #eee;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

.BorderLayout>.middle>.west>.control>.button {
    width: 9px;
    height: 40px;
    cursor: pointer;
}

.BorderLayout>.middle>.west>.control>.button {
    background: var(--left-arrow);
}

.BorderLayout>.middle>.west.collapsed>.control>.button {
    background: var(--right-arrow);
}

/* center */

.BorderLayout>.middle>.center {
    position: relative;
    flex: 1;
    display: block;
}

/* east */

.BorderLayout>.middle>.east {
    border-left: 1px solid #eee;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    transition: all 0.4s;
}

.BorderLayout>.middle>.east>.content {
    width: 100%;
    height: 100%;
    display: block;
}

.BorderLayout>.middle>.east.split>.content {
    overflow-x: hidden;
}

.BorderLayout>.middle>.east>.control {
    width: 8px;
    border-right: 1px solid #eee;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

.BorderLayout>.middle>.east>.control>.button {
    width: 9px;
    height: 40px;
    cursor: pointer;
}

.BorderLayout>.middle>.east>.control>.button {
    background: var(--right-arrow);
}

.BorderLayout>.middle>.east.collapsed>.control>.button {
    background: var(--left-arrow);
}
.HBoxLayout {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
}
.TabLayout {
    position: relative;
}

.TabLayout>.tabs {
    height: 32px;
    box-sizing: border-box;
}

.TabLayout>.tabs>.tab {
    height: 32px;
    font: 12px 'Microsoft YaHei';
    line-height: 32px;
    padding: 0 8px;
    color: #737373;
    display: inline-block;
    box-sizing: border-box;
    cursor: pointer;
}

.TabLayout>.tabs>.tab.selected {
    color: #3399ff;
    border-bottom: 1px solid #3399ff;
    cursor: default;
}

.TabLayout>.contents {
    position: relative;
    width: 100%;
    height: calc(100% - 32px);
}

.TabLayout>.contents>.content {
    position: relative;
    width: 100%;
    height: 100%;
    display: none;
}

.TabLayout>.contents>.content.show {
    display: block;
}

.TabLayout>.contents>.content>* {
    height: 100%;
}
.VBoxLayout {
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
}
.MenuBar {
    font: 13px 'Microsoft YaHei';
    color: rgb(0, 0, 0);
    margin: 0;
    padding: 0;
    background: linear-gradient(to bottom, rgb(250, 252, 253), rgb(232, 241, 251) 40%, rgb(220, 230, 243) 40%, rgb(220, 231, 245));
    border-bottom: 1px solid #bbb;
    display: flex;
    box-sizing: border-box;
    list-style: none;
}

.MenuBar>.MenuItem {
    position: relative;
    min-width: auto;
    margin: 0;
    padding: 0 16px;
    display: inline-block;
    cursor: default;
}

.MenuBar>.MenuItem:hover {
    background: initial;
    color: initial;
    margin: 0;
    padding: 0 16px;
    border: initial;
}

.MenuBar>.MenuItem>.suffix {
    display: none;
}

.MenuBar>.MenuItem>.sub {
    position: absolute;
    left: 0;
    top: auto;
}
.MenuBarFiller {
    flex: 1;
}
.MenuItem {
    position: relative;
    min-width: 160px;
    line-height: 24px;
    margin: 3px;
    padding: 2px 14px 2px 30px;
    vertical-align: top;
    white-space: nowrap;
    box-sizing: border-box;
    cursor: pointer;
    user-select: none;
    --right-arrow: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAABAQMAAADO7O3JAAAAA3NCSVQICAjb4U/gAAAABlBMVEXi4+P///9V63aNAAAACXBIWXMAAAsSAAALEgHS3X78AAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M1cbXjNgAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8wNi8xMZANh+UAAAAKSURBVAiZY3AAAABCAEGV6TQ4AAAAAElFTkSuQmCC') repeat-y rgb(240, 240, 240);
}

.MenuItem.hidden {
    display: none !important;
}

.MenuItem:hover {
    background: linear-gradient(to bottom, rgba(193, 222, 255, 0.2), rgba(193, 222, 255, 0.4));
    color: black;
    padding: 1px 13px 1px 29px;
    border: 1px solid rgb(183, 212, 246);
}

.MenuItem.disabled {
    cursor: not-allowed;
}

.MenuItem.disabled:hover {
    background: initial;
    color: initial;
    padding: 2px 14px 2px 30px;
    border: initial;
}

.MenuItem.disabled>span {
    color: #aaa !important;
    pointer-events: none;
}

.MenuItem>span {
    pointer-events: none;
}

.MenuItem>.suffix {
    text-align: right;
    display: block;
    float: right;
    pointer-events: none;
}

.MenuItem>.sub {
    position: absolute;
    left: calc(100% + 4px);
    top: -4px;
    box-sizing: border-box;
    cursor: default;
    display: none;
    z-index: 300;
}

.MenuItem>.sub::before {
    position: absolute;
    left: -6px;
    height: 100%;
    width: 8px;
    content: '';
}

.MenuItem:hover>.sub {
    display: block;
}

.MenuItem>.sub>.wrap {
    position: relative;
    list-style: none;
    background: var(--right-arrow);
    background-position: 24px 0;
    margin: 0;
    padding: 0;
    border: 1px solid rgb(195, 195, 195);
    border-radius: 5px;
    box-shadow: rgba(128, 128, 128, 0.5) 0px 0px 16px 1px;
    box-sizing: border-box;
    vertical-align: text-bottom;
}
.MenuItemSeparator {
    white-space: nowrap;
    display: block;
}

.MenuItemSeparator.hidden {
    display: none !important;
}

.MenuItemSeparator .separator {
    background: rgb(229, 229, 229);
}

.MenuItemSeparator.vertical .separator {
    height: 2px;
    margin-left: 24px;
    background-image: linear-gradient(to bottom, rgb(226, 226, 226), rgb(226, 226, 226) 50%, rgb(252, 252, 252) 50%, rgb(252, 252, 252));
}

.MenuItemSeparator.horizontal .separator {
    width: 2px;
    height: 24px;
    background-image: linear-gradient(to right, rgb(226, 226, 226), rgb(226, 226, 226) 50%, rgb(252, 252, 252) 50%, rgb(252, 252, 252));
}
.MenuTab {
    position: relative;
    line-height: 24px;
    margin: 0;
    padding: 0 16px;
    background: #fff;
    vertical-align: top;
    display: inline-block;
    white-space: nowrap;
    box-sizing: border-box;
    cursor: pointer;
    user-select: none;
}

.MenuTab.selected {
    color: #fff;
    background: #3399ff;
    cursor: default;
}

.MenuTab.hidden {
    display: none !important;
}

/* .MenuTab:hover {
    color: #fff;
    background: #3399ff;
} */

.MenuTab.disabled {
    cursor: not-allowed;
}

.MenuTab.disabled:hover {
    background: initial;
    color: initial;
    padding: 2px 14px 2px 30px;
    border: initial;
}
.Panel {
    position: relative;
    left: 0;
    top: 0;
    width: 200px;
    height: 320px;
    background: #fafafa;
    border: 1px solid #2c3e50;
    box-sizing: border-box;
}

.Panel.maximized {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9000;
}

.Panel.collapsed {
    height: auto;
}

.Panel.hidden {
    display: none;
}

.Panel>.header {
    position: relative;
    height: 24px;
    background-color: #2c3e50;
}

.Panel>.header.hidden {
    display: none;
}

.Panel>.header>.title {
    height: 100%;
    line-height: 24px;
    font-size: 12px;
    padding-left: 8px;
    color: #fff;
    display: inline-block;
    box-sizing: border-box;
}

.Panel>.header>.controls {
    position: absolute;
    left: 0;
    right: 4px;
    top: 0;
    bottom: 0;
    text-align: right;
    white-space: nowrap;
}

.Panel>.header>.controls>.control {
    width: 32px;
    height: 32px;
    margin: 0 4px;
    display: inline-block;
    box-sizing: border-box;
    cursor: pointer;
}

.Panel>.header>.controls>.control>.iconfont {
    font-size: 16px;
    line-height: 24px;
    color: #fff;
}

.Panel>.body {
    height: calc(100% - 24px);
    padding: 4px;
    box-sizing: border-box;
}

.Panel.collapsed>.body {
    height: 0;
    padding: 0;
    overflow-y: hidden;
}

.Panel>.header.hidden+div.body {
    height: 100%;
}
.LoadMask {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
}

.LoadMask.hidden {
    display: none;
}

.LoadMask>.box {
    position: relative;
    background: #c3daf9;
    border: 1px solid #6593cf;
    padding: 2px;
}

.LoadMask>.box>.msg {
    font: normal 12px 'Microsoft YaHei';
    line-height: 16px;
    color: #222;
    background: #fbfbfb url(../assets/image/loading.gif) no-repeat 5px 5px;
    padding: 5px 10px 5px 25px;
    border: 1px solid #a3bad9;
    cursor: wait;
}
.PropertyGrid {
    position: relative;
    color: black;
    font: 12px 'Microsoft YaHei';
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
    cursor: default;
    user-select: none;
}
.PropertyGroup {
    background: #ecf0f1;
    --bg-expand: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAMAAAD3JJ6EAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzBCN0FCRUU3NzExMTFFOTlFQjFFMDA4RkM3NzE5OTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzBCN0FCRUY3NzExMTFFOTlFQjFFMDA4RkM3NzE5OTIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDMEI3QUJFQzc3MTExMUU5OUVCMUUwMDhGQzc3MTk5MiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDMEI3QUJFRDc3MTExMUU5OUVCMUUwMDhGQzc3MTk5MiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrAM5dcAAABFUExURb/BwfT3977BwamqqsnMzZOUlNPX19/j5ImKioeHh/f5+d7h4snLzNTY2Pr7/IiIiJOTk6mrq56foJ6fn7S1toaGhv///4ulXXIAAAAXdFJOU/////////////////////////////8A5kDmXgAAAD1JREFUeNokxkkSgCAAA8GguADukvz/qVRgDlONmUx0L8rdwX1DxuAkSL/1BfM0V5mqZL0GtTx+Zzz8JsAA9ZAFxigsqFUAAAAASUVORK5CYII=) no-repeat center;
    --bg-collapse: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAKCAMAAAC+Ge+yAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTlEMEIzNDQ3NzEyMTFFOUE2RDFDMzI1OUNGODkzQjEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTlEMEIzNDU3NzEyMTFFOUE2RDFDMzI1OUNGODkzQjEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxOUQwQjM0Mjc3MTIxMUU5QTZEMUMzMjU5Q0Y4OTNCMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxOUQwQjM0Mzc3MTIxMUU5QTZEMUMzMjU5Q0Y4OTNCMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Ps1N6eUAAAA/UExURYiJiZ6en6mrq8nMzamqqtTY2NPX14eHh77AwPr7+4iIiN/j5N/i45+foL/CwsnLzPj6+rS1tpOTk4aGhv///0pgFIkAAAAVdFJOU///////////////////////////ACvZfeoAAAA3SURBVHjaYmDiFgEDBmEGPgFOMENYmJENyhAWFoQxhIX4YQxmFCleVpBidi4OiDksPBADAQIMAOvOBU7M/UDuAAAAAElFTkSuQmCC) no-repeat center;
}

.PropertyGroup.hidden {
    display: none;
}

.PropertyGroup>.head {
    height: 21px;
    display: flex;
    flex-direction: row;
    align-items: center;
    box-sizing: border-box;
    cursor: pointer;
}

.PropertyGroup>.head>.icon {
    width: 20px;
    height: 20px;
    pointer-events: none;
}

.PropertyGroup>.head>.icon>.icon-expand {
    width: 20px;
    height: 20px;
    background: var(--bg-expand);
    display: inline-block;
}

.PropertyGroup>.head>.icon>.icon-collapse {
    width: 20px;
    height: 20px;
    background: var(--bg-collapse);
    display: inline-block;
}

.PropertyGroup>.head>.title {
    flex: 1;
    height: 21px;
    line-height: 20px;
    padding-left: 4px;
    display: inline-block;
    border-bottom: 1px solid #d9d9d9;
    box-sizing: border-box;
    pointer-events: none;
}

.PropertyGroup>.content {
    position: relative;
    background: #fff;
    margin-left: 20px;
    transition: all 0.2s;
    overflow-y: hidden;
}

.PropertyGroup>.content.collapsed {
    height: 0 !important;
}

.PropertyGroup>.content>.property {
    line-height: 20px;
    border-bottom: 1px solid #d9d9d9;
    box-sizing: border-box;
    vertical-align: middle;
    display: flex;
    flex-direction: row;
}

.PropertyGroup>.content>.property>.label {
    width: 100px;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
}

.PropertyGroup>.content>.property>.field {
    position: relative;
    flex: 1;
    padding: 0;
    display: inline-block;
    border-left: 1px solid #d9d9d9;
    box-sizing: border-box;
}
.DisplayProperty>.field>.wrap {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: stretch;
}

.DisplayProperty>.field>.wrap>.label {
    height: 20px;
    padding: 0 4px;
    flex: 1;
    word-break: break-all;
    overflow: hidden;
}

.DisplayProperty>.field>.wrap>.button {
    height: 20px;
    font-size: 12px;
    line-height: 20px;
    margin: 0;
    padding: 0 4px;
}
.TextProperty>.field>.input {
    width: 100%;
    border: none;
}
.CheckBoxProperty>.field>.checkbox {
    margin: 0 0 0 2px;
}
.NumberProperty>.field>.input {
    width: 100%;
    border: none;
}
.ButtonProperty>.field>.button {
    height: auto;
    margin-left: 2px;
    padding: 2px 8px;
    font-size: 12px;
}
.ColorProperty>.field>.input {
    width: 100%;
    height: 20px;
    margin: 0;
    padding: 0;
    background: #fff;
    border: none;
}
.SelectProperty>.field>.select {
    width: 100%;
    height: 20px;
    border: none;
}
.IntegerProperty>.field>.input {
    width: 100%;
    border: none;
}
.ButtonsProperty>.field>.buttons {
    height: auto;
    margin-left: 4px;
}

.ButtonsProperty>.field>.buttons>.Button {
    height: 20px;
    font-size: 12px;
    line-height: 20px;
    margin: 0 4px;
    padding: 0 4px;
}
.PropertyGroup>.content>.property.TextureProperty {
    height: 31px;
}

.TextureProperty>.field>.texture {
    position: relative;
    width: 100%;
    height: 30px;
    box-sizing: border-box;
    cursor: pointer;
}

.TextureProperty>.field>.texture>.CheckBox {
    width: 20px;
    height: 20px;
    margin: 2px;
    vertical-align: middle;
}

.TextureProperty>.field>.texture>canvas {
    width: 60px;
    height: 24px;
    margin: 2px;
    border: 1px solid #555;
    vertical-align: middle;
}

.DataGrid {
    display: inline-block;
    border-collapse: collapse;
    user-select: none;
    cursor: default;
}

.DataGrid>thead {
    background-color: #f7f7f7;
}

.DataGrid>thead>tr,
.DataGrid>tbody>tr {
    height: 24px;
    line-height: 24px;
}

.DataGrid>tbody>tr:nth-child(even) {
    background-color: #f7f7f7;
}

.DataGrid>tbody>tr.selected {
    color: #fff;
    background-color: #3399ff;
}

.DataGrid>tbody>tr:hover {
    color: #fff;
    background-color: #3399ff;
}

.DataGrid>thead>tr>td,
.DataGrid>tbody>tr>td {
    padding: 0 16px;
    border: 1px solid #ebebeb;
    box-sizing: border-box;
}
.Table {
    display: inline-block;
    border-collapse: collapse;
    user-select: none;
    cursor: default;
}
.TableBody {}
.TableCell {
    padding: 0 16px;
    border: 1px solid #ebebeb;
    box-sizing: border-box;
}
.TableHead {
    background-color: #f7f7f7;
}
.TableRow {
    height: 24px;
    line-height: 24px;
}

.TableRow:nth-child(even) {
    background-color: #f7f7f7;
}

.TableBody .TableRow:hover {
    color: #fff;
    background-color: #3399ff;
}
.Timeline {
    width: 100%;
    height: 160px;
    font-size: 12px;
    display: flex;
    flex-direction: column;
}

.Timeline>.controls>.IconButton {
    border: none;
    width: 20px;
    height: 20px;
    margin: 0 6px;
    padding: 0;
}

.Timeline>.controls>.IconButton>.iconfont {
    font-size: 18px;
}

.Timeline>.controls>.ToolbarSeparator {
    margin: 0 8px;
}

.Timeline>.box {
    position: relative;
    display: flex;
    flex: 1;
    flex-direction: column;
    overflow: auto;
}

.Timeline>.box>.timeline {
    position: relative;
    height: 32px;
    overflow: hidden;
}

.Timeline>.box>.timeline>.mask {
    position: absolute;
    width: 100px;
    height: 32px;
    background: #fff;
    z-index: 10;
}

.Timeline>.box>.timeline>canvas {
    position: absolute;
    left: 100px;
}

.Timeline>.box>.layers {
    border-top: 1px solid #ddd;
    flex: 1;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: stretch;
    overflow-y: auto;
}

.Timeline>.box>.layers>.left {
    width: 100px;
    height: 100%;
    padding-bottom: 8px;
    box-sizing: border-box;
    overflow: hidden;
}

.Timeline>.box>.layers>.left>.info {
    height: 29px;
    border-bottom: 1px solid #ddd;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
}

.Timeline>.box>.layers>.right {
    position: relative;
    width: 0;
    height: 100%;
    padding-bottom: 8px;
    box-sizing: border-box;
    flex: 1;
    overflow: auto;
}

.Timeline>.box>.layers>.right>.layer {
    position: relative;
    width: 3600px;
    height: 29px;
    border-bottom: 1px solid #ddd;
    box-sizing: border-box;
}

.Timeline>.box>.layers>.right>.layer>.animation {
    position: absolute;
    font-size: 12px;
    line-height: 28px;
    color: #fff;
    background: #1296db;
    padding: 0 4px;
    border-radius: 2px;
    box-sizing: border-box;
    text-align: center;
    white-space: nowrap;
    word-break: break-all;
    text-overflow: ellipsis;
    overflow: hidden;
    cursor: pointer;
}

.Timeline>.box>.layers>.right>.layer>.animation.selected {
    background: #d4237a;
}

.Timeline>.box>.layers>.slider {
    position: absolute;
    left: 100px;
    top: 0;
    width: 0;
    height: 100%;
    border: 1px solid red;
    box-sizing: border-box;
}
.Toolbar {
    background: #fafafa;
    display: flex !important;
    align-items: center;
    box-sizing: border-box;
    user-select: none;
    overflow: hidden;
}

.Toolbar.horizontal {
    width: 100%;
    height: 25px;
    flex-direction: row;
    background: linear-gradient(to bottom, rgb(250, 252, 253), rgb(232, 241, 251) 40%, rgb(220, 230, 243) 40%, rgb(220, 231, 245));
}

.Toolbar.vertical {
    width: 32px;
    height: 100%;
    flex-direction: column;
    background: #fafafa;
}

.Toolbar .Icon {
    width: 32px;
    height: 32px;
    line-height: 32px;
    text-align: center;
}

/* ToolbarSeparator */

.ToolbarSeparator {
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ToolbarSeparator>.separator {
    width: 2px;
    height: 24px;
    background: rgb(229, 229, 229);
    background-image: linear-gradient(to right, rgb(226, 226, 226), rgb(226, 226, 226) 50%, rgb(252, 252, 252) 50%, rgb(252, 252, 252));
}

.Toolbar.vertical>.ToolbarSeparator>.separator {
    width: 24px;
    height: 2px;
    background: rgb(229, 229, 229);
    background-image: linear-gradient(to bottom, rgb(226, 226, 226), rgb(226, 226, 226) 50%, rgb(252, 252, 252) 50%, rgb(252, 252, 252));
}
.ToolbarFiller {
    flex: 1;
}
.Tree {
    list-style: none;
    margin: 0;
    padding: 0;
    font: 12px 'Microsoft YaHei';
    line-height: 18px;
    --icon-plus: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAMAAADXT/YiAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpCNzY5QkUzNTgzNzVFOTExOEU2NkEzOTNDMkUxQ0UzNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGNjVEQzExQzc2NDYxMUU5OEMxN0UxQ0QyRDMwMjk0NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGNjVEQzExQjc2NDYxMUU5OEMxN0UxQ0QyRDMwMjk0NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkI4NjlCRTM1ODM3NUU5MTE4RTY2QTM5M0MyRTFDRTM2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkI3NjlCRTM1ODM3NUU5MTE4RTY2QTM5M0MyRTFDRTM2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+GSEyxQAAAI1QTFRFCQsNxr6u39vSDhIWExgca4ehM0FNIyw1Q1Rla4egZYCZTmN11tHG2NPJKzdBZH6WPU5cX3iPSl5wWHCF9fXxFBofDREUUmd7z8i7VWyBRlhp6unjHCQqGSAmLTpF7e3nHygw5eHaXXaMJzE5CAoM0sy/5OHZ3NjP8PDswrio/f379/f1////AAAA////NGgXgAAAAC90Uk5T/////////////////////////////////////////////////////////////wBapTj3AAAAWUlEQVR42iTBBxKCQBAEwAExIYiIBFGScIFd9/7/POqKbrhjnBf18+Jw/e9OyIhIiPiOHzML2+mM90u88IubtYN8tCnRapNKopoDHipYPcD189hF1eI2AQYAwn4J7uCjPfoAAAAASUVORK5CYII=);
    --icon-minus: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAMAAADXT/YiAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpCNzY5QkUzNTgzNzVFOTExOEU2NkEzOTNDMkUxQ0UzNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowRTM3OTM2RDc2NDcxMUU5OUYyREZCNzdBMzZGQTU0QSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowRTM3OTM2Qzc2NDcxMUU5OUYyREZCNzdBMzZGQTU0QSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkI4NjlCRTM1ODM3NUU5MTE4RTY2QTM5M0MyRTFDRTM2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkI3NjlCRTM1ODM3NUU5MTE4RTY2QTM5M0MyRTFDRTM2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7URHdgAAAHtQTFRFDxMW9fXxJC01KzdBJC42XHWLTWFzXHSLb4yoTWF0DhIWdJSw6unjVWt/KzhBNEFOVGt/xr6uz8i7dJOvNEJO5eHab42n39vSFRof7e3nHCMqY32W0sy/5OHZ3NjPPExaaoaf8PDs2NPJwrio/f379/f1AAAA////////MX4KXQAAACl0Uk5T/////////////////////////////////////////////////////wBS9CCHAAAATUlEQVR42iTBBRKAIAAEwLO7i1ZQlP+/0EF34ar84ElfOEzPb8d6feyMw3p6icCD29tCZFpTWkvF0EhljBEjQSqG0yvh9q6NGYF7BRgAle0Iqns528wAAAAASUVORK5CYII=);
    --icon-node: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAPCAMAAADjyg5GAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpCNzY5QkUzNTgzNzVFOTExOEU2NkEzOTNDMkUxQ0UzNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2MTQyNjRFRDc2NDYxMUU5QTdGRjlBOUM1MTgxQUEyNCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2MTQyNjRFQzc2NDYxMUU5QTdGRjlBOUM1MTgxQUEyNCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkI4NjlCRTM1ODM3NUU5MTE4RTY2QTM5M0MyRTFDRTM2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkI3NjlCRTM1ODM3NUU5MTE4RTY2QTM5M0MyRTFDRTM2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+2JwdnQAAAUdQTFRF2tra39/f1tbWysrK49zf8vLy3d3dxsbG7OzstbCyz8/P4+Hiz8nMzc3NvL282NjYiIeI+/v78Ors4dvd4dvempaXyMjI1tPV8vDxwry/t7K0xMLD3Nzci4eJycnJ3NXY4uLi8/Pzd3d31tHTcW5vz87Pzs7O0s7QsbGx2dPW6OLl6efo9PPz8ertpqam493gu7u7x8fH4tvegn6A3dfZxcXFpqKjycPG29TX5N3gwcHB1M7R1c/R2dnZ9fT08PDwxsDDvr290NDQwcDA6eLl2tPW19fX0dDQ9u/yxb/C4eHh8Ons19HU7ufq1dXV9Ozvwbu+u7a4ysTG8/Hy29zb/Pz839jbsq2vgX1/5+bnx8HEpqGj0MrMrqiqvb293NbZmJiY8/LztrO0jIyM+ff4zs/O7u7u9O3w7ezt/f39/v7+////////roPGVgAAAG10Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AC221EsAAADFSURBVHjaYsgBgqwcbmEhQSCVwwDkZeZwi3j46ORkg7lZOdpG6WHiIEkgNytH1dPfWspcAqw4KycjQiUg0MFGPgWoGshNNIvmjIpxddGyy8lmABoULBnEo2npyxOZkwUymdVd2YLFO14aZFR2GoMfn6O+rkmSEz9HNgMvKwO7RrIoS3iCgZu9HAObKSMDM6exrIAeF6MVE9AoNeYQ9VilOAVeQ0WQRTkyYqnOTBzsTEDngh2ZY8vGwBWK8EKOFyNYOAcgwADsYjo583VUugAAAABJRU5ErkJggg==);
    --folder-open: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAANCAMAAACXZR4WAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpCNzY5QkUzNTgzNzVFOTExOEU2NkEzOTNDMkUxQ0UzNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGN0MzMTAyMDc2NDUxMUU5OTAzM0U1RjFGODU1RURCQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGN0MzMTAxRjc2NDUxMUU5OTAzM0U1RjFGODU1RURCQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkI4NjlCRTM1ODM3NUU5MTE4RTY2QTM5M0MyRTFDRTM2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkI3NjlCRTM1ODM3NUU5MTE4RTY2QTM5M0MyRTFDRTM2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+orCXfgAAAJZQTFRFzJk0zc3NoG4Iy5gz+vv8yZYx//+lxcXFmmgCnGoEnmwG2r9spHIMvYol/dVwp3UPmWcByaAhtYIdsH4Yt7e3yJUw9/CJt4Qfxpoa/9eE4rNDo3EL0dHRrHoUs4Ebwo8qonAK4sFQ8OR6uoci17hA/+uEz6ImpXMN/+R//9t1/++JxMTE//iTxpoZ//+c//+Z////////7K5NWgAAADJ0Uk5T/////////////////////////////////////////////////////////////////wANUJjvAAAAgElEQVR42kzLVxLCMAxFUTk9oYXeW+gY2dL+N4ecGA9n9HXnCZgZIE7n7IEcESXJMQQg49DgspwcphLiLkgS+x1wSp/AjHLAP+fbVgNa/2FsD9dRG377BQ4rDYz27WXjTdkG8+xk13shQcrLa1Z17sLD6Z+iqixmSgIrHSj+CjAAb/seguUxx1gAAAAASUVORK5CYII=);
    --folder-close: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAANCAMAAABBwMRzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpCNzY5QkUzNTgzNzVFOTExOEU2NkEzOTNDMkUxQ0UzNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEQTA0NkVFNDc2NDUxMUU5ODVCQ0E0NDExMUZBOTUzQiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEQTA0NkVFMzc2NDUxMUU5ODVCQ0E0NDExMUZBOTUzQiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkI4NjlCRTM1ODM3NUU5MTE4RTY2QTM5M0MyRTFDRTM2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkI3NjlCRTM1ODM3NUU5MTE4RTY2QTM5M0MyRTFDRTM2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+eRolvgAAAIFQTFRF09PTmWcBy5gzwo8q27dxnmwGs4EbuocitYIdvYol//+6zMzMnGoEsH4YyZYxoG4Io3ELp3UPqHYQrHoUt4QfwI0opXMNq3kTx5QvyJUw1tbWrnwWwMDAmmgCxZItzJk027dS/9Rv//iT//+c/9t1/+R//++Jy8vL//////+Z////MJO0LgAAACt0Uk5T////////////////////////////////////////////////////////ACPJp9AAAABxSURBVHjaTM5XEoJAEEXRR44CYk4MmHpe73+BYpV2cf7u34Wqc2Fz0h+o896XZfRvF49fcZFt83SlCP3C5oyGD8N1hSMXOsHAu2EriPg2TAQ7vgxrQcGn4U2QcTIMKuh8cTn0+65N6uAKzItioB8BBgD8YxgHc9UPOwAAAABJRU5ErkJggg==);
    overflow-y: auto;
}

.Tree .node {
    background: #fff;
    box-sizing: border-box;
}

.Tree .node.selected {
    background: #34495e;
}

.Tree .node.drag {
    border: 1px dashed #999;
}

.Tree .node.dragTop {
    border-top: 1px dashed #999;
}

.Tree .node.dragBottom {
    border-bottom: 1px dashed #999;
}

.Tree .node>i {
    display: inline-block;
    vertical-align: middle;
}

.Tree .node>i.expand {
    width: 9px;
    height: 9px;
    cursor: pointer;
}

.Tree .node>i.expand.plus {
    background: var(--icon-plus);
}

.Tree .node>i.expand.minus {
    background: var(--icon-minus);
}

.Tree .node>i.type {
    margin-left: 4px;
    cursor: pointer;
    pointer-events: none;
}

.Tree .node>i.type.node {
    width: 14px;
    height: 15px;
    margin-right: 2px;
    background: var(--icon-node);
}

.Tree .node>i.type.open {
    width: 16px;
    height: 13px;
    background: var(--folder-open);
}

.Tree .node>i.type.close {
    width: 15px;
    height: 13px;
    margin-right: 1px;
    background: var(--folder-close);
}

.Tree .node>.CheckBox {
    margin: 2px -2px 2px 4px;
    vertical-align: middle;
}

.Tree .node>a {
    max-width: calc(100% - 80px);
    color: #555;
    margin-left: 4px;
    text-decoration: none;
    vertical-align: middle;
    display: inline-block;
    pointer-events: none;
    overflow: hidden;
}

.Tree .node.selected>a {
    color: #fff;
}

.Tree .node>i.control {
    font-size: 16px;
    color: #555;
    margin-left: 4px;
}

.Tree .node.selected>i.control {
    color: #fff;
}

.Tree .node>.sub {
    margin: 0;
    padding: 0 0 0 16px;
    background: #fff;
    list-style: none;
    transition: all 0.2s;
    overflow-y: auto;
}

.Tree .node>.sub.collpase {
    height: 0 !important;
    overflow-y: hidden;
}
.Window.Alert {
    width: 320px;
    height: 180px;
}
.WindowMask {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 900;
}

.WindowMask.hidden {
    display: none;
}

.WindowMask.mask {
    background-color: rgba(0, 0, 0, 0.6);
    pointer-events: all;
    z-index: 1000;
}

.Window {
    position: relative;
    width: 600px;
    height: 400px;
    padding: 0px 5px 5px;
    background: rgb(7, 97, 134);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 10px 0px;
    box-sizing: border-box;
    pointer-events: all;
    z-index: 200;
}

.Window>.wrap {
    position: relative;
    width: 100%;
    height: 100%;
    background: #fff;
}

.Window>.wrap .title {
    font-size: 14px;
    line-height: 24px;
    color: #fff;
    background: rgb(7, 97, 134);
    text-align: left;
    display: block;
    cursor: move;
    white-space: nowrap;
    overflow: hidden;
}

.Window>.wrap>.title>.controls {
    position: absolute;
    left: 0;
    top: 0;
    right: 4px;
    text-align: right;
    white-space: nowrap;
    user-select: none;
}

.Window>.wrap>.title>.controls>.icon {
    width: 16px;
    height: 24px;
    margin-right: 4px;
    vertical-align: top;
    display: inline-block;
    cursor: pointer;
}

.Window>.wrap>.content {
    position: absolute;
    left: 20px;
    right: 20px;
    top: 44px;
    bottom: 52px;
    font-size: 12px;
    overflow: hidden;
}

.Window>.wrap>.buttons {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgb(218, 236, 244);
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
}

.Window>.wrap>.buttons>.button-wrap {
    position: relative;
    height: 24px;
    margin: 4px;
    padding: 0;
    border: none;
    display: inline-block;
    text-align: left;
    vertical-align: middle;
    box-sizing: border-box;
}
.Window.Confirm {
    width: 320px;
    height: 180px;
}
.PhotoMark {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1300;
}
.Window.Prompt {
    width: 320px;
    height: 180px;
}

.Window.Prompt>.wrap>.content>.Input {
    margin-left: 6px;
    vertical-align: middle;
}
.ToastMark {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1300;
    pointer-events: none;
}

.Toast {
    color: #fff;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 16px 24px;
    border-radius: 3px;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.14);
    display: inline-block;
    pointer-events: none;
}
.VideoMark {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1300;
}

.VideoMark>video {
    max-width: 80%;
}
html,
body,
#container {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.BorderLayout.Editor>.north {
    z-index: 1000;
}
.Window.TextureGeneratorWindow>.wrap>.content {
    left: 0;
    top: 24px;
    right: 0;
    bottom: 32px;
    overflow-y: auto;
}
.Window.OptionsWindow>.wrap>.content {
    left: 4px;
    right: 4px;
    top: 24px;
    bottom: 32px;
}

.Window.OptionsWindow>.wrap>.content>.tab {
    width: 100%;
    height: 100%;
}
.Form.RendererPanel {
    padding: 16px;
    border: 1px solid #ddd;
    border-radius: 2px;
    box-sizing: border-box;
}
.Form.HelperPanel {
    padding: 16px;
    border: 1px solid #ddd;
    border-radius: 2px;
    box-sizing: border-box;
}
.Form.FilterPanel {
    padding: 16px;
    border: 1px solid #ddd;
    border-radius: 2px;
    box-sizing: border-box;
}
.Alert.About {
    width: 360px;
    height: 200px;
}
.Window.RendererrAttributesWindow>.wrap>.content {
    left: 0;
    top: 24px;
    right: 0;
    bottom: 32px;
    overflow-y: auto;
}

.Window.RendererrAttributesWindow>.wrap>.content>.Form>.FormControl>.Label {
    width: 180px;
}
.EditorStatusBar>.Label {
    margin: 0 16px;
}

.EditorStatusBar>.ToolbarSeparator {
    margin: 0 8px;
}

.EditorStatusBar>.Button {
    height: 20px;
    font: 12px 'Microsoft YaHei';
    line-height: 20px;
    padding: 0 6px;
}
.EditorToolbar {
    width: 40px !important;
}
.Viewport {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
}

.Viewport>.editor {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.Viewport>.svg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.Viewport>.player {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: none;
    z-index: 10;
}
.ScriptEditorPanel {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    z-index: 8;
}

.ScriptEditorPanel.hidden {
    display: none;
}

.ScriptEditorPanel>.header {
    position: relative;
    background: rgba(0, 0, 0, 0.9);
}

.ScriptEditorPanel>.header>.title {
    height: 32px;
    font-size: 14px;
    line-height: 32px;
    padding: 0 8px;
    color: #fff;
    box-sizing: border-box;
}

.ScriptEditorPanel>.header>.Icon {
    position: absolute;
    right: 2px;
    top: 2px;
    color: #fff;
    cursor: pointer;
}

.ScriptEditorPanel>.content {
    position: relative;
    flex: 1;
}

.ScriptEditorPanel>.content>.CodeMirror {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
}

.ScriptEditorPanel>.content>.CodeMirror .errorLine {
    background: rgba(255, 0, 0, 0.25);
}

.ScriptEditorPanel>.content>.CodeMirror .esprima-error {
    color: #f00;
    text-align: right;
    padding: 0 20px;
}

.EditorSideBar {
    width: 240px;
    height: 100%;
    box-sizing: border-box;
}

.EditorSideBar>.top {
    height: 320px;
    border-bottom: 1px solid #eee;
    box-sizing: border-box;
}

.EditorSideBar>.bottom {
    height: calc(100% - 320px);
    box-sizing: border-box;
}

.HistoryPanel {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.HistoryPanel>.toolbar {
    padding: 4px;
}

.HistoryPanel>.content {
    margin: 0 8px 8px 8px;
    border: 1px solid #ddd;
    border-radius: 2px;
    flex: 1;
    overflow-y: auto;
}

.HistoryPanel>.content>.undo {
    font-size: 12px;
    padding: 4px;
}

.HistoryPanel>.content>.redo {
    font-size: 12px;
    padding: 4px;
    opacity: .3;
}

.Window.TextureSettingWindow>.wrap>.content {
    left: 0;
    top: 24px;
    right: 0;
    bottom: 32px;
    overflow-y: auto;
}

.Window.TextureSettingWindow>.wrap>.content>.Form>.FormControl>.Label {
    width: 80px;
}
.ScriptPanel {
    position: relative;
    display: flex;
    flex-direction: column;
}

.ScriptPanel>.toolbar {
    padding: 2px 4px;
}

.ScriptPanel>.content {
    position: relative;
    list-style: none;
    margin: 4px;
    padding: 0;
    flex: 1;
    border: 1px solid #ddd;
    border-radius: 2px;
    box-sizing: border-box;
    overflow-y: auto;
}

.ScriptPanel>.content>li {
    padding: 4px;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.ScriptPanel>.content>li:hover {
    background: #eee;
}

.ScriptPanel>.content>li>span {
    font-size: 12px;
    flex: 1;
    white-space: nowrap;
}

.ScriptPanel>.content>li>.Icon {
    font-size: 14px;
    cursor: pointer;
}
.Window.ScriptWindow {
    width: 350px;
    height: 220px;
}

.AssetsPanel>.AccordionPanel>.body>.subPanel {
    position: relative;
    width: 100%;
    height: 100%;
}
.EditWindow>.wrap>.content>.Form>.FormControl>.Button {
    height: 20px;
    font-size: 12px;
    line-height: 20px;
    margin: 0 8px;
}
.Window.CategoryWindow>.wrap>.content {
    left: 0;
    right: 0;
    top: 24px;
    bottom: 0;
}

.Window.CategoryWindow>.wrap>.content>.box {
    position: relative;
    width: 100%;
    height: 100%;
}

.Window.CategoryWindow>.wrap>.content>.box>.toolbar {
    padding: 2px 0;
    box-sizing: border-box;
}

.Window.CategoryWindow>.wrap>.content>.box>.toolbar>.Button {
    height: 20px;
    font-size: 12px;
    line-height: 20px;
}

.Window.CategoryWindow>.wrap>.content>.box>.list {
    width: 100%;
    height: calc(100% - 28px);
    padding-bottom: 8px;
    overflow-y: auto;
    box-sizing: border-box;
}

.LogPanel {
    overflow: hidden;
}

.LogPanel>.logs {
    height: calc(100% - 28px);
    margin-top: 4px;
    border: 1px solid #ccc;
    box-sizing: border-box;
    overflow-y: auto;
}

.LogPanel>.logs>.warn {
    color: #5c3c00;
    background: #fffbe5;
}

.LogPanel>.logs>.error {
    color: #ff0000;
    background: #fff0f0;
}