diff --git a/app/assets/css/app.min.css b/app/assets/css/app.min.css index 37bb730d8..785b31786 100644 --- a/app/assets/css/app.min.css +++ b/app/assets/css/app.min.css @@ -1 +1 @@ -@font-face{font-family:Roboto;src:url("../fonts/RobotoCondensed-Light.ttf")}@font-face{font-family:Roboto Bold;src:url("../fonts/RobotoCondensed-Bold.ttf")}body{margin:0;padding:0;background:#1e2229;color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:11pt}ul{margin:0;padding:0;list-style:none}ul li{margin:0;padding:0}*{-webkit-user-select:none;-moz-user-select:none;user-select:none}a{color:#fc0}img{vertical-align:middle}xml{display:none}h1{color:#f0f}h1,h2,h3,h4,h5{margin:0;padding:0}h1 .icon,h2 .icon,h3 .icon,h4 .icon,h5 .icon{vertical-align:bottom;width:2em;height:2em}h1 .icon,h1 img,h2 .icon,h2 img,h3 .icon,h3 img,h4 .icon,h4 img,h5 .icon,h5 img{margin-right:4px}h1{font-family:Roboto}h2{margin-bottom:32px;padding-bottom:8px;border-bottom:1px solid #fc0;font-family:Roboto;font-size:18pt;color:#fc0;text-transform:uppercase}h3{margin-top:16px;margin-bottom:8px;padding-bottom:2px;border-bottom:1px solid #fc0;font-family:Roboto;font-size:13pt;color:#fc0;text-transform:uppercase}h4{margin-bottom:4px;padding-bottom:2px;font-family:Roboto;font-size:12pt;color:#fc0;text-transform:uppercase}hr{margin:0;padding:0;border:none;background:rgba(0,0,0,0);margin-top:8px;margin-bottom:8px;border-bottom:1px solid #545d73}button{width:100%;margin:1px;padding:10px;color:#fff;text-transform:uppercase;text-align:center;border:none;box-shadow:0px -2px 0px rgba(0,0,0,.3) inset,0px 0px 2px rgba(255,255,255,.22) inset,0px 2px 1px rgba(0,0,0,.3);background-color:#e34d00;cursor:pointer;text-shadow:0px 1px 0px rgba(0,0,0,.28)}button:disabled{color:#737f9d;text-shadow:none;box-shadow:0px 0px 2px #737f9d inset;cursor:not-allowed;background-color:#1e2229;background-image:url("../img/stripesLight.png");background-repeat:repeat}button:disabled .icon{opacity:.3}button:disabled:hover{color:#737f9d;box-shadow:0px 0px 2px #737f9d inset;background-color:#2e333f}button:hover{background-color:#ff5d4a}button>.icon{width:1.7em;height:1.7em}button:focus{outline:inherit}button.active{background-color:#545d73 !important;border-color:#545d73 !important;box-shadow:none}button.strong{padding-top:24px;padding-bottom:24px;font-size:13pt}button[href]{display:flex;justify-content:center;align-items:center;background-color:#545d73;text-decoration:none;text-transform:none;box-shadow:0px -2px 0px rgba(0,0,0,.3) inset,0px 2px 0px rgba(0,0,0,.4)}button[href] .icon{margin-right:4px;opacity:.5}button[href]:hover{background-color:#737f9d}button.cancel,button.gray,button.grey{background-color:#545d73}button.cancel:hover,button.gray:hover,button.grey:hover{background-color:#737f9d}button.blue{background-color:#2a73ab}button.blue:hover{background-color:#348fd5}button.purple{background-color:#9976f1}button.purple:hover{background-color:#b19aff}button.brown{background-color:#944e36}button.brown:hover{background-color:#bf6546}button.red{background-color:#791105}button.red:hover{background-color:#e34d00}button.help{background-color:#498d55}button.help:hover{background-color:#5eab6b}button.discord{background-color:#7289da !important}button.discord:hover{background-color:#85a0ff !important}button.guide{padding:8px;font-size:10pt;text-transform:none;background-color:#3c6148;color:#79dd8a}button.guide:hover{background-color:#5eab6b;color:#fff}button.blue{background-color:#2a73ab}button.blue:hover{background-color:#348fd5}button.green{background-color:#5eab6b}button.green:hover{background-color:#79dd8a}button.dark{background-color:#313742;box-shadow:0px 0px 2px #545d73 inset,0px 0px 3px #000,0px 2px 2px #000}button.dark:hover{background-color:#545d73}button.transparent{box-shadow:none;background-color:rgba(0,0,0,0);border-radius:3px}button.transparent:hover{background-color:#fc0}button.context{border:1px solid rgba(0,0,0,.2);border-radius:2px;background-color:rgba(0,0,0,.1)}button.context:hover{background:rgba(0,0,0,.5)}button.pending{color:#fc0;background-color:#2e333f;outline:none;border:1px solid #fc0;border-radius:3px;box-shadow:none;cursor:crosshair}.appLogo{min-width:300px;min-height:100px;background-image:url("../img/LDtk-simple.svg");background-repeat:no-repeat;background-size:contain;background-position:center;image-rendering:-webkit-optimize-contrast}.appLogo.full{background-image:url("../img/LDtk.svg")}.appLogo.shine{background-image:url("../img/LDtk-shine-1024.png")}#miniNotif{position:absolute;z-index:98;bottom:15px;left:0px;display:none;overflow:hidden;color:#fff;font-size:9pt;background-color:rgba(0,0,0,.85);padding:4px;padding-left:16px;border-radius:3px;border-top-left-radius:0px;border-bottom-left-radius:0px;pointer-events:none;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-name:miniNotifArrival;animation-name:miniNotifArrival}@-webkit-keyframes miniNotifArrival{from{padding-left:0px}to{padding-left:16px}}@keyframes miniNotifArrival{from{padding-left:0px}to{padding-left:16px}}#updateInstall{display:none;position:absolute;top:15px;right:0;z-index:99;display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content}#updateInstall button{margin:0;-webkit-animation:anim_slideUp 2s;animation:anim_slideUp 2s;padding:8px}#updateInstall button.proceed{display:grid;grid-template-rows:auto auto;width:auto;text-align:left}#updateInstall button.proceed .icon{grid-column:1/2;grid-row:1/3;align-self:center;margin-right:10px}#updateInstall button.proceed strong{grid-column:2/3;font-size:9pt;margin-bottom:4px}#updateInstall button.proceed em{grid-column:2/3;opacity:.7;font-style:normal;font-size:8pt}.buttons{display:flex;flex-wrap:wrap;margin-top:2px;margin-bottom:2px;border-radius:6px;overflow:hidden}.buttons button{flex:1 1 0}.buttons button.full{flex-basis:100%}.buttons button.small{flex-grow:0}.buttons button.debug{flex:0 0 0;display:none}.help:not(.icon):not(button){min-height:2.5em;padding:10px;padding-left:60px;color:#79dd8a;font-family:Roboto;font-size:1.1em;border:1px dashed #79dd8a;border-radius:6px;background-image:url("../icons/helpBg.svg");background-repeat:no-repeat;background-position:6px 6px}.help:not(.icon):not(button) p{margin:0}.help:not(.icon):not(button) p+p{margin-top:8px}.help:not(.icon):not(button).guide{position:absolute;z-index:2;display:none;background-color:#3c6148;right:0}.help:not(.icon):not(button).guide dl{margin:0;padding:0;display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto}.help:not(.icon):not(button).guide dl dt{font-family:monospace;color:#fc0}.help:not(.icon):not(button).guide dl dd{padding-left:8px;padding-bottom:8px}a.exploreTo{display:flex;max-width:24px;align-items:center;justify-items:center;flex:0 0 auto !important;padding:4px;background-color:#545d73;border-radius:3px;cursor:pointer}a.exploreTo:hover{color:#000;background-color:#fc0}a.exploreTo .icon{width:1.5em;height:1.5em}.progressBar{position:relative;margin-bottom:20px;min-width:400px;height:8px;background-color:#1e2229;border:1px solid #fc0;padding:1px;border-radius:2px}.progressBar .barWrapper{position:absolute;z-index:1;width:calc(100% - 2px);height:calc(100% - 2px);top:1px;left:1px}.progressBar .barWrapper .bar{min-width:1px;width:1px;height:100%;background-color:#fc0;box-shadow:0px 0px 8px #d56932,0px 0px 16px #791105;box-sizing:border-box;border-radius:3px}.progressBar .label{position:absolute;z-index:2;right:1px;top:12px;color:#fff;font-size:9pt;color:#737f9d}div.warning:not(.window){box-sizing:border-box;padding:8px;margin-top:4px;margin-bottom:16px;border:1px dashed red;color:#fff;box-shadow:0px 0px 32px darkred inset,0px 0px 4px darkred;text-shadow:0px -1px 4px red,0px 1px 4px red;background-color:rgba(0,0,0,.66)}div.safe:not(.window){box-sizing:border-box;padding:8px;margin-top:4px;margin-bottom:16px;border:1px dashed #79dd8a;color:#fff;box-shadow:0px 0px 32px #3c6148 inset,0px 0px 4px helpDark;text-shadow:0px -1px 4px #79dd8a,0px 1px 4px #3c6148;background-color:#3c6148}info,div.info{display:grid;justify-items:center;align-items:center;box-sizing:border-box;font-size:14pt;font-family:Arial,Helvetica,sans-serif;width:32px;height:32px;margin-left:4px;font-weight:bold;text-align:center;color:#79dd8a;border:3px solid #79dd8a;border-radius:16px;cursor:help}info:hover,div.info:hover{color:#fc0;border-color:#fc0;opacity:1}info::before,div.info::before{content:"?"}info.small,div.info.small{width:16px;height:16px;font-size:9pt;border-width:2px}warning{display:grid;justify-items:center;align-items:center;box-sizing:border-box;font-size:15pt;width:28px;height:28px;margin-left:4px;font-weight:bold;text-align:center;color:#fc0;border:3px solid #e34d00;border-radius:16px;cursor:help;box-shadow:0px 0px 10px #e34d00,0px 0px 10px #e34d00 inset;background-color:#791105}warning:hover{color:#fc0;border-color:#fc0;background-color:#e34d00}warning::before{content:"!"}dt.infoHighlight label{color:#79dd8a !important;text-shadow:0px 0px 8px #5eab6b}dd.infoHighlight{background-color:#3c6148;box-shadow:0px 0px 16px #3c6148;outline:1px solid #5eab6b;outline-offset:2px}dd.infoHighlight span{color:#79dd8a}dd.infoHighlight select{border-color:#79dd8a;background-color:#5eab6b}dd.infoHighlight input[type=text]{border-color:#5eab6b;background-color:#273f2f}span.key,div.key{display:inline-block;margin:1px;padding:1px;padding-left:5px;padding-right:5px;min-width:16px;text-align:center;text-transform:uppercase;font-family:Roboto;font-style:normal;font-weight:bold;font-size:.9em;text-shadow:0px 2px 1px rgba(0,0,0,.5);background-color:rgba(225,214,187,.55);border-bottom:4px solid rgba(224,213,186,.55);box-shadow:0px 2px 2px #000;border-radius:2px}span.key+.key,div.key+.key{margin-left:0}span.key.shift,span.key.ctrl,span.key.alt,div.key.shift,div.key.ctrl,div.key.alt{text-shadow:none}span.key.shift,div.key.shift{color:rgba(0,0,0,0);text-shadow:none;color:#c9dffe;background-color:rgba(119,176,253,.55);border-color:rgba(121,177,253,.55);border-bottom-color:rgba(117,175,253,.55)}span.key.special,div.key.special{color:#e1c9fe;background-color:rgba(181,119,253,.55);border-color:rgba(182,121,253,.55);border-bottom-color:rgba(180,117,253,.55)}span.key.meta,div.key.meta{color:rgba(0,0,0,0);background-image:url("../icons/meta.png");background-repeat:no-repeat;background-position:center;background-size:contain;background-color:rgba(253,79,102,.55);border-color:rgba(253,81,103,.55);border-bottom-color:rgba(253,77,100,.55)}span.key.ctrl,div.key.ctrl{color:#feb9c2;background-color:rgba(253,79,102,.55);border-color:rgba(253,81,103,.55);border-bottom-color:rgba(253,77,100,.55)}span.key.alt,div.key.alt{color:#fee5a7;background-color:rgba(253,190,34,.55);border-color:rgba(253,190,36,.55);border-bottom-color:rgba(253,189,32,.55)}.path{flex:1 1 auto;text-align:right;overflow:auto;opacity:1;align-items:center}.path span{vertical-align:middle}.path span+span{margin-left:2px}.path span:not(.slash){display:inline-block;font-size:9pt}.path span:not(.slash):last-of-type{color:#fff !important;font-weight:bold;font-size:10pt}.path span.slash{color:#737f9d;font-weight:bold;font-size:12pt}.path span.highlight{padding:2px 4px;border-radius:2px;color:#fff;text-shadow:0px 2px 0px rgba(0,0,0,.3)}canvas.tile{width:32px;height:32px;border:1px solid #545d73;border-radius:4px;image-rendering:-moz-crisp-edges;image-rendering:pixelated}canvas.tile.empty{background-image:url("../img/stripes.png")}canvas.tile.multi{box-shadow:2px 2px 0px #000,3px 3px 0px #fff}canvas.tile:not(.active){cursor:not-allowed;opacity:.4}canvas.tile:not(.active):hover{border-color:#e34d00}canvas.tile.active.empty{border-color:#e34d00}canvas.tile.active:hover{border-color:#fc0;cursor:pointer}ul.niceList{box-sizing:border-box;padding:4px;margin-top:4px;min-height:200px;margin-bottom:4px;border:1px solid #545d73;background-color:#1e2229;overflow-x:hidden}ul.niceList:first-child{margin-top:0}ul.niceList:empty{background-image:url("../img/stripes.png");box-shadow:0px 0px 16px rgba(0,0,0,.4) inset;text-align:center;padding-top:30px}ul.niceList:empty::before{content:"No element";color:#545d73;font-style:italic;font-family:Roboto;font-size:1.3em}ul.niceList#layers:empty::before{content:"No layer"}ul.niceList li:not(.title){display:grid;justify-items:left;align-items:center;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;gap:0px 8px;padding:8px;font-size:12pt;border-bottom:1px solid #1e2229;background-color:#2e333f;cursor:pointer}ul.niceList li:not(.title).subList{display:grid;grid-template-columns:auto}ul.niceList li:not(.title).subList ul{width:100%;overflow:hidden}ul.niceList li:not(.title).subList ul>li{overflow:hidden}ul.niceList li:not(.title):not(.active):hover{outline:1px solid #586279;outline-offset:-1px}ul.niceList li:not(.title) button.context{padding:0;min-width:16px;height:100%}ul.niceList li:not(.title) button.context .icon{width:1em}ul.niceList li.title{display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;align-items:center;padding:4px;margin-top:2px;color:#fc0;font-size:.8em;font-family:Roboto;border-top:1px solid #545d73}ul.niceList li.title .links{display:flex}ul.niceList li.title .links a+a{margin-left:1px}ul.niceList li.title a{display:flex;justify-items:center;align-items:center;font-size:1.1em;padding:3px;background-color:#2e333f;border-radius:2px;cursor:pointer;color:#fff}ul.niceList li.title a:hover{background-color:#fc0}ul.niceList li.title a.red:not(:hover){background-color:#791105}ul.niceList li.title a .icon{width:1em;height:1em}ul.niceList li div.error{grid-column:span 2;grid-row:2;padding:8px;margin-top:4px;font-size:10pt;color:#fff;text-transform:uppercase;border-radius:4px;background-color:#e34d00;border:1px solid #ffa386;outline:none;box-shadow:0px 0px 16px #e34d00}ul.niceList li.iconLeft{grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto}ul.niceList li.iconLeft .icon,ul.niceList li.iconLeft .entityPreview{order:0}ul.niceList li.iconRight{grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content}ul.niceList li.iconRight .icon,ul.niceList li.iconRight .entityPreview{order:1}ul.niceList li.active{background-color:#fc0;color:#000;box-shadow:0px 0px 2px #ffc inset,0px 0px 4px #a00}ul.tabs{display:flex;flex-wrap:nowrap;margin-bottom:16px;padding-top:4px;padding-left:4px;justify-items:flex-end;background-color:#1e2229;border-bottom:1px solid #fc0;box-shadow:0px -4px 0px #000 inset}ul.tabs li{font-family:Roboto;margin-top:8px;padding:8px;padding-bottom:4px;color:#fc0;background-color:#2e333f;box-shadow:2px -2px 2px rgba(0,0,0,.3);cursor:pointer;border-top-left-radius:3px;border-top-right-radius:3px}ul.tabs li+li{margin-left:8px}ul.tabs li.active{color:#000;font-weight:bold;background-color:#fc0;padding-bottom:8px;margin-top:0}ul.tabs li:hover:not(.active){color:#fff;padding-bottom:6px;margin-top:6px}ul.log{box-sizing:border-box;padding:4px;margin-bottom:4px;max-width:80vw;min-width:50vw;min-height:300px;max-height:80vh;border:1px solid #545d73;background-color:#1e2229;overflow:auto}ul.log li{padding:4px;padding-left:8px}ul.log li:hover{outline:1px dashed #545d73}ul.log li span.op{display:inline-block;margin-left:8px;padding:2px;padding-left:4px;padding-right:4px;font-size:8pt;color:#fff;background-color:#2e333f;color:#737f9d;border-radius:2px}ul.log li.opAddValue,ul.log li.opAddEnum{color:#a7d93d}ul.log li.opAddValue span.op,ul.log li.opAddEnum span.op{color:#000;background-color:#a7d93d}ul.log li.opDateUpdated{color:#58d395}ul.log li.opDateUpdated span.op{color:#000;background-color:#58d395}ul.log li.opRemoveValue,ul.log li.opRemoveEnum{color:#e34d00}ul.log li.opRemoveValue span.op,ul.log li.opRemoveEnum span.op{color:#fff;background-color:#e34d00}ul.log li.opRemoveValue.unused,ul.log li.opRemoveEnum.unused{color:#737f9d}ul.log li.opRemoveValue.unused span.op,ul.log li.opRemoveEnum.unused span.op{background-color:#545d73}ul.log li.opChecksumUpdated{color:#737f9d}.icon{display:inline-block;vertical-align:middle;width:1.3em;height:1.3em;background-position:center center;background-repeat:no-repeat;background-size:contain}.icon.left{background-image:url("../icons/arrow_left.svg")}.icon.right{background-image:url("../icons/arrow_right.svg")}.icon.up{background-image:url("../icons/arrow_up.svg")}.icon.down{background-image:url("../icons/arrow_down.svg")}.icon.active{background-image:url("../icons/active.png")}.icon.appUpdate{background-image:url("../icons/appUpdate.svg")}.icon.add{background-image:url("../icons/add.svg")}.icon.autoLayer{background-image:url("../icons/autoLayer.png")}.icon.bug{background-image:url("../icons/bug.svg")}.icon.checker{background-image:url("../icons/checker.svg")}.icon.clear{background-image:url("../icons/clear.svg")}.icon.close{background-image:url("../icons/close.png")}.icon.collapsed{background-image:url("../icons/collapsed.svg")}.icon.community{background-image:url("../icons/community.svg")}.icon.contextMenu{background-image:url("../icons/contextMenu.svg")}.icon.contextMenuOpen{background-image:url("../icons/contextMenuOpen.svg")}.icon.copy{background-image:url("../icons/copy.svg")}.icon.delete{background-image:url("../icons/delete.svg")}.icon.embed{background-image:url("../icons/embed.svg")}.icon.discord{background-image:url("../icons/discord.svg")}.icon.download{background-image:url("../icons/download.svg")}.icon.doc{background-image:url("../icons/doc.svg")}.icon.edit{background-image:url("../icons/edit.svg")}.icon.email{background-image:url("../icons/email.svg")}.icon.emptySpaceOff{background-image:url("../icons/emptySpaceOff.png")}.icon.emptySpaceOn{background-image:url("../icons/emptySpaceOn.png")}.icon.entity{background-image:url("../icons/entity.png")}.icon.enum{background-image:url("../icons/enum.png")}.icon.exit{background-image:url("../icons/exit.svg")}.icon.expanded{background-image:url("../icons/expanded.svg")}.icon.flatten{background-image:url("../icons/flatten.svg")}.icon.folder{background-image:url("../icons/folder.svg")}.icon.folderOpen{background-image:url("../icons/folderOpen.svg")}.icon.folderClose{background-image:url("../icons/folderClose.svg")}.icon.fullscreen{background-image:url("../icons/fullscreen.svg")}.icon.fullscreen_exit{background-image:url("../icons/fullscreen_exit.svg")}.icon.ghost{background-image:url("../icons/ghost.svg")}.icon.gridOff{background-image:url("../icons/gridOff.svg")}.icon.gridOn{background-image:url("../icons/gridOn.svg")}.icon.help{background-image:url("../icons/help.svg")}.icon.hidden{background-image:url("../icons/hidden.png")}.icon.history{background-image:url("../icons/history.svg")}.icon.inactive{background-image:url("../icons/inactive.png")}.icon.intGrid{background-image:url("../icons/intGrid.png")}.icon.json{background-image:url("../icons/json.svg")}.icon.layer{background-image:url("../icons/layer.png")}.icon.level{background-image:url("../icons/level.svg")}.icon.list{background-image:url("../icons/list.svg")}.icon.locate{background-image:url("../icons/locate.svg")}.icon.love{background-image:url("../icons/love.svg")}.icon.manual{background-image:url("../icons/manual.svg")}.icon.new{background-image:url("../icons/new.svg")}.icon.open{background-image:url("../icons/open.svg")}.icon.partial{background-image:url("../icons/partial.png")}.icon.paste{background-image:url("../icons/paste.svg")}.icon.pick{background-image:url("../icons/pick.svg")}.icon.prohibited{background-image:url("../icons/prohibited.svg")}.icon.project{background-image:url("../icons/projectSettings.png")}.icon.recall{background-image:url("../icons/recall.svg")}.icon.refresh{background-image:url("../icons/refresh.svg")}.icon.reset{background-image:url("../icons/reset.svg")}.icon.rule{background-image:url("../icons/rule.svg")}.icon.search{background-image:url("../icons/search.svg")}.icon.settings{background-image:url("../icons/settings.svg")}.icon.showDetailsOff{background-image:url("../icons/showDetailsOff.svg")}.icon.showDetailsOn{background-image:url("../icons/showDetailsOn.svg")}.icon.singleLayer{background-image:url("../icons/singleLayer.svg")}.icon.slide{background-image:url("../icons/delete.svg")}.icon.stop{background-image:url("../icons/stop.svg")}.icon.tile{background-image:url("../icons/tile.png")}.icon.trust{background-image:url("../icons/trust.svg")}.icon.tutorial{background-image:url("../icons/tutorial.svg")}.icon.update{background-image:url("../icons/update.svg")}.icon.visible{background-image:url("../icons/visible.png")}.icon.warn{background-image:url("../icons/warn.svg")}.icon.web{background-image:url("../icons/web.svg")}.icon.world{background-image:url("../icons/world.svg")}.icon.up{background-image:url("../icons/up.svg")}.icon.down{background-image:url("../icons/down.svg")}.icon.left{background-image:url("../icons/left.svg")}.icon.right{background-image:url("../icons/right.svg")}.icon.mouseLeft{background-image:url("../icons/mouseLeft.png");image-rendering:-moz-crisp-edges;image-rendering:pixelated}.icon.mouseRight{background-image:url("../icons/mouseRight.png");image-rendering:-moz-crisp-edges;image-rendering:pixelated}.icon.mouseWheel{background-image:url("../icons/mouseWheel.png");image-rendering:-moz-crisp-edges;image-rendering:pixelated}.icon.mouseMiddle{background-image:url("../icons/mouseMiddle.png");image-rendering:-moz-crisp-edges;image-rendering:pixelated}.black{filter:brightness(0)}.orange{filter:brightness(0.6) sepia(1) hue-rotate(0.25rad) saturate(10)}.icon.red{filter:brightness(0.4) sepia(1) hue-rotate(-0.4rad) saturate(6)}.collapser{color:#737f9d;font-size:10pt;min-height:.8em;padding-top:4px;padding-bottom:4px;padding-left:24px;background-repeat:no-repeat;background-position:left center}.collapser.expanded{cursor:url("../cursors/collapse.svg") 16 16,zoom-out;color:#fff;background-color:#545d73;background-image:url("../icons/expanded.svg")}.collapser.expanded:hover{color:#000;background-color:#fc0;border-color:#fc0}.collapser.collapsed{cursor:cell;background-color:#2e333f;border:1px solid #545d73;background-image:url("../icons/collapsed.svg");margin-bottom:8px;border-radius:3px}.collapser.collapsed:hover{color:#000;background-color:#fc0;border-color:#fc0}div.entityRef{display:grid;grid-template-rows:-webkit-min-content;grid-template-rows:min-content;padding:4px;padding-left:25px;cursor:url("../cursors/locate.svg") 16 16,zoom-out;border:1px solid #545d73;border-radius:4px;background-image:url("../icons/right.svg");background-repeat:no-repeat;background-position:left center}div.entityRef.isBackRef{background-image:url("../icons/left.svg")}div.entityRef .id{font-size:9pt;font-weight:bold;color:#fc0}div.entityRef .location{font-size:8pt}div.entityRef .location .level{font-weight:bold;color:#737f9d}div.entityRef .location em{opacity:.7;font-style:normal}div.entityRef .location .world{color:#737f9d}div.entityRef:hover{border-color:#fc0}div.entityRef:hover .id{color:#fff}div.entityRef:hover .location{color:#fff}div.entityRef+.entityRef{margin-top:4px}.layerType{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;gap:4px;align-items:center;font-size:12pt}.layerType .icon{width:3em;height:3em}.icon.fieldType{display:flex;flex-direction:column;align-items:center;justify-content:center;width:85px;height:85px;overflow:hidden;box-sizing:border-box;text-transform:none;font-family:Roboto;border:1px dashed #fff;border-radius:4px}.icon.fieldType .typeName{margin-bottom:3px;font-style:normal;font-weight:bold;font-size:13pt;opacity:1;text-shadow:none}.icon.fieldType .typeIcon{font-size:21pt;opacity:.5;text-shadow:0px 2px 2px rgba(0,0,0,.4)}.icon.entityPreview{display:grid;justify-items:center;align-items:center;width:auto;height:auto;overflow:hidden;padding:2px;background-color:#2e333f;border-radius:3px}.pivotEditor{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;gap:8px;align-items:center}.pivotEditor .grid{position:relative;display:grid;align-items:stretch;justify-items:stretch;grid-template-columns:repeat(3, 18px);grid-template-rows:repeat(3, 18px)}.pivotEditor .grid .bg{position:absolute;margin-top:16.665%;margin-left:16.665%;width:66.66%;height:66.66%;border:1px dashed #fff;z-index:-1}.pivotEditor .grid label{display:grid;align-items:center;justify-items:center;cursor:pointer}.pivotEditor .grid label:hover{outline:1px dotted #fc0;outline-offset:-1px}.pivotEditor .grid label input[type=radio]{width:70%;height:70%;opacity:.5;cursor:pointer}.pivotEditor .grid label input[type=radio]:checked{width:100%;height:100%;opacity:1}.pivotEditor.showAdvanced .advanced>a{display:none}.pivotEditor.showAdvanced .advanced .options{display:grid;padding:4px;border:1px solid #1e2229;border-radius:3px}.pivotEditor .advanced .options{display:none;grid-template-columns:auto -webkit-min-content auto;grid-template-columns:auto min-content auto;gap:4px;align-items:center}.pivotEditor .advanced .options .float,.pivotEditor .advanced .options .pixels{display:flex;flex-wrap:nowrap;align-items:center;gap:4px}.pivotEditor .advanced .options .float span,.pivotEditor .advanced .options .pixels span{color:#737f9d;font-size:9pt}.pivotEditor .advanced .options .float input,.pivotEditor .advanced .options .pixels input{width:40px;font-size:9pt}.pivotEditor .advanced .options .sep{border-left:1px solid #545d73;font-size:0}dl.form{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content;width:100%;margin:0}dl.form{padding-bottom:16px}dl.form>dt{grid-column:1/2;display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;min-width:110px;max-width:130px;padding-right:8px;overflow-x:hidden;text-overflow:ellipsis;font-size:9.5pt}dl.form>dt label{padding-top:4px;color:#c1cfeb}dl.form>dt .info,dl.form>dt info{margin-top:4px}dl.form>dt.full{width:auto !important;max-width:none !important;grid-column:1/3}dl.form>dt info,dl.form>dt div.info{width:24px;height:16px;margin-left:8px;font-size:9pt;border:none;background-color:#545d73;color:#1e2229;opacity:.45}dl.form>dt info::before,dl.form>dt div.info::before{content:"?"}dl.form>dt info:hover,dl.form>dt div.info:hover{opacity:1;border-color:#79dd8a;box-shadow:0px 0px 8px #5eab6b;color:#fff;text-shadow:0px 0px 2px #79dd8a;background-color:#79dd8a}dl.form>dd{grid-column:2/3;margin:0}dl.form>dt,dl.form>dd{margin-bottom:10px}dl.form>dd{display:flex;flex-wrap:wrap;align-items:flex-start;border-radius:3px}dl.form>dd>*{flex:1 1 0px}dl.form>dd>.warning{flex:1 0 100%}dl.form>dd>.pivot{flex:0 0 auto}dl.form>dd>input[type=text],dl.form>dd>input[type=text]{width:0px}dl.form>dd>input[type=color]{flex:.1 1 64px}dl.form>dd>input[type=checkbox]{flex:0 1 auto}dl.form>dd>select{flex:1 1 0}dl.form>dd>select:not(.full){width:0}dl.form>dd button{margin-top:0;padding-top:4px;padding-bottom:4px;align-self:stretch}dl.form>dd div.multiLines{width:100%;max-height:85px;overflow:hidden;padding:8px;font-style:italic;font-size:80%;text-overflow:ellipsis;white-space:pre-wrap;border:1px dashed #545d73;cursor:pointer}dl.form>dd div.multiLines.usingDefault{color:#737f9d;background-image:url("../img/stripes.png")}dl.form>dd div.multiLines:hover{border-color:#fff}dl.form>dd .imagePicker{display:flex;align-items:stretch}dl.form>dd .imagePicker button.reload{flex:0 1 0px;padding:3px}dl.form>dd .imagePicker button.pick{flex:1 1 auto;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}dl.form>dd .imagePicker button.recall{flex:0 1 0px;padding:3px}dl.form>dd .imagePicker button.remove{flex:0 1 0px;padding:3px}dl.form>dd .imagePicker .exploreTo{margin-bottom:2px}dl.form>dd .imagePicker.empty button.pick{background-color:#545d73;opacity:.6}dl.form>dd .imagePicker.empty button.pick:hover{background-color:#737f9d;opacity:1}dl.form>dd .imagePicker.empty button.remove{display:none}dl.form>dd .imagePicker.error{margin-top:4px;margin-bottom:4px;padding:3px;border:1px solid #fc0;border-radius:3px;background-color:#791105;box-shadow:0px 0px 4px #e34d00 inset,0px 0px 8px #fc0,0px 0px 16px #e34d00}dl.form>dd .locate{flex:0 0 auto}dl.form>dd .small{flex:0 1 60px}dl.form>dd .small[placeholder]{flex:0 1 90px}dl.form>dd .tiny{flex:0 1 45px}dl.form>dd .tiny[placeholder]{flex:0 1 60px}dl.form>dd .tiny.slider:not(:disabled){flex:0 1 30px}dl.form>dd button.tiny{padding:4px}dl.form>dd a[href]{font-size:.8em;align-self:center;white-space:nowrap}dl.form>dd info,dl.form>dd div.info{flex:0 0 32px}dl.form>dd warning{flex:0 0 28px}dl.form>dd div.help{margin-top:8px;margin-bottom:16px;flex:1 0 100%;box-sizing:border-box}dl.form>dd input[type=text]:not(:-moz-read-only):hover{outline:1px solid #fc0;outline-offset:-1px}dl.form>dd input[type=text]:not(:read-only):hover{outline:1px solid #fc0;outline-offset:-1px}dl.form>dd *+input[type=checkbox]{margin-left:16px}dl.form>dd input[type=checkbox]+label{flex:0 1 auto;align-self:center;padding-left:4px;white-space:nowrap;text-align:left}dl.form>dd>label{flex:0 1 0px;display:flex;margin-right:16px;padding-right:3px;flex-wrap:nowrap;align-items:center;white-space:nowrap;cursor:pointer;border-radius:4px}dl.form>dd>label input{margin-right:4px}dl.form>dd>label:hover{color:#fc0;background-color:#545d73}dl.form>dd input[type=color]{height:32px;cursor:pointer;padding:0}dl.form>dd input[type=color]:hover{outline:1px solid #fc0}dl.form>dd>span{margin:3px;flex:0 0 8px;align-self:center;opacity:.5;text-align:center;white-space:nowrap}dl.form>dd>span.long{flex:1 1 20px;white-space:normal;text-align:left}dl.form>dd>span:last-child{text-align:left}dl.form>dd+li{margin-top:8px}select{display:block;padding:5px;max-width:100%;color:#fff;border:1px solid #737f9d;background-color:#545d73}select:not(.gray){border-radius:3px;box-shadow:0px 2px 0px rgba(0,0,0,.3)}select:disabled{color:#2e333f;border-color:#2e333f;background-color:#1e2229;cursor:not-allowed}select:disabled:hover{border-color:#545d73}select:not(:disabled):hover{border-color:#fff;cursor:pointer}select.gray{border:1px dashed #545d73;padding:8px;color:#fff;background-color:#2e333f;background-image:url("../img/stripes.png")}select option{overflow:hidden;color:#fc0;background-color:#545d73;cursor:pointer}select option:disabled{color:#737f9d;font-style:italic}select option:disabled::before{content:"LOCKED"}select:empty{background-color:rgba(0,0,0,0);border-color:#545d73;opacity:.7}select.noValue:not(:focus){background-color:#545d73;background-image:url("../img/stripes.png");color:#fff}select.required:not(:focus){color:#fff;background-color:#791105;border-color:#e34d00;box-shadow:0px 0px 8px #e34d00}input[type=text],input[type=number]{display:block;padding:8px;color:#fff;background-color:#1e2229;border:1px solid #545d73}input[type=text]:disabled,input[type=number]:disabled{color:#545d73;background-color:#2e333f;cursor:not-allowed}input[type=text]:-moz-read-only, input[type=number]:-moz-read-only{background-color:rgba(0,0,0,0);color:#737f9d}input[type=text]:read-only,input[type=number]:read-only{background-color:rgba(0,0,0,0);color:#737f9d}input[type=text]:focus,input[type=number]:focus{border-color:#fc0;box-shadow:0px 0px 4px #e34d00;outline:none}input[type=text].grayed,input[type=number].grayed{font-style:italic;color:#737f9d}input.slider:not(:disabled){cursor:ew-resize;flex:1 0 48px;box-sizing:content-box;padding-right:20px;background-image:url("../icons/slide.svg");background-repeat:no-repeat;background-position:right 4px center}input.slider:not(:disabled):hover{outline:1px solid #fc0}input.slider:not(:disabled).editing{border-color:#fc0 !important;border-style:dashed;color:#fc0;outline:none !important;box-shadow:0px 0px 8px #d56932 !important}input[type=checkbox]{width:24px;height:24px}input[type=checkbox]:not(:disabled){cursor:pointer}input[type=checkbox]:not(:disabled):hover{outline:1px solid #fc0}input[type=checkbox]:disabled{opacity:.3}input[type=file]{display:none}textarea{resize:none;height:200px;padding:8px;color:#fff;overflow-y:auto;background-color:#1e2229;border:1px solid #545d73;box-shadow:0px 0px 16px #000 inset}textarea:focus{border-color:#fc0;box-shadow:0px 0px 4px #e34d00;outline:none}.tagEditor{display:flex;flex-wrap:wrap;justify-items:stretch}.tagEditor .empty{flex:0 0 auto;padding:4px 8px;margin-right:16px;font-size:9pt;white-space:nowrap;color:#737f9d;font-style:italic;cursor:pointer;border:1px dashed #545d73;border-radius:4px}.tagEditor .empty:hover{color:#fc0}.tagEditor input[type=text]{width:5em}.tagEditor .actions{display:grid;grid-auto-columns:32px;grid-auto-flow:column}.tagEditor .actions button{height:100%;padding:0}.tagEditor .tag,.tagEditor input[type=text]{padding:4px;padding-right:8px;border-radius:2px;border-top-right-radius:8px;border-bottom-right-radius:8px}.tagEditor .tag{display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;min-width:5em;margin-right:2px;margin-bottom:2px;box-sizing:border-box;flex:0 0 auto;white-space:nowrap;border:1px solid #c5926d;background-color:#a17250}.tagEditor .tag:hover{color:#fc0;border-color:#fc0}.tagEditor .tag .label{color:#fff;font-style:italic;cursor:text}.tagEditor .tag button.delete{margin-left:8px;padding:0}.tagEditor .tag button.delete .icon{width:1.2em;height:1.2em}.namePatternEditor{display:grid;grid-template-columns:auto -webkit-min-content -webkit-min-content;grid-template-columns:auto min-content min-content;align-items:center}.namePatternEditor a.reset{font-size:9pt;margin-left:4px;cursor:pointer}.namePatternEditor a.reset:hover{color:#fff}.namePatternEditor .pattern{display:flex;flex-wrap:wrap;padding:4px;padding-bottom:2px;border:1px solid #545d73;background-color:#1e2229}.namePatternEditor .pattern>*{margin-bottom:2px}.namePatternEditor .pattern .block{flex:0 1 0px;padding:3px;min-height:1ch;font-size:9pt;white-space:nowrap;border-radius:3px;border:1px solid #1e2229}.namePatternEditor .pattern .block.var{font-weight:bold;font-size:9pt;font-family:"Courier New",Courier,monospace;text-transform:uppercase;border:1px solid #737f9d;background-color:#545d73;border-left-color:#c1cfeb;border-right-color:#c1cfeb}.namePatternEditor .pattern .block.var:hover{border-color:#c1cfeb}.namePatternEditor .pattern .block.str{background-color:#2e333f;border-bottom-color:#545d73}.namePatternEditor .pattern .block.str:hover{border-color:#fff}.namePatternEditor .pattern .block.empty{min-width:.4ch}.namePatternEditor .pattern .block.empty:hover{min-width:1ch;border-style:dashed;background-color:#545d73}.namePatternEditor .pattern .block.empty.last{min-width:2ch}.namePatternEditor .pattern .block:hover{cursor:pointer}.namePatternEditor .pattern .block.str.selected{display:none}.namePatternEditor .pattern .block.var.selected{border:1px solid #ff4;background-color:#d56932}.namePatternEditor .pattern .block.tmp{white-space:pre}.namePatternEditor .pattern .block.tmp,.namePatternEditor .pattern input[type=text]{padding:3px;min-width:2ch;font-size:9pt;color:#fc0;border:none;border-bottom:1px dashed #fc0;border-radius:0;box-shadow:none}.namePatternEditor .pattern button.add{flex:0 1 0px;white-space:nowrap}.namePatternEditor .pattern.sorting .fixed{display:none}.namePatternEditor .stocks .stock{font-size:9pt;margin-bottom:1px}.namePatternEditor .stocks .stock strong{display:inline-block;margin-right:8px;padding:2px 4px;min-width:15ch;border-radius:3px;background-color:#545d73}.namePatternEditor .stocks .stock em{font-style:normal;color:#737f9d}.namePatternEditor .stocks .stock:hover{color:#fff;background-color:#545d73}.tip{position:absolute;z-index:99;box-sizing:border-box;border-radius:4px;background-color:#3c6148;box-shadow:0px 0px 2px rgba(0,0,0,.6),0px 3px 0px rgba(0,0,0,.4),0px 8px 16px rgba(0,0,0,.3);pointer-events:none}.tip .content{display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;box-sizing:border-box;width:100%;padding:12px;padding-left:18px;padding-right:18px;align-items:center;font-size:1em;color:#79dd8a}.tip .content .text{max-width:250px;text-shadow:0px 1px 0px rgba(0,0,0,.5),0px 2px 4px rgba(0,0,0,.5)}.tip .content .text strong{display:block;color:#fff;font-size:1.2em;font-style:normal;margin-bottom:4px}.tip .content .keys{font-style:normal;margin-left:20px;white-space:nowrap}.tip .content .key{color:#fff}.tip .content p{margin:0}.tip .content p+p{margin-top:7px}.tip.infoTip .content{padding:10px;font-style:normal;font-size:1em}.tip.link{background-color:#425b83}.tip.link .content{color:#acd6f7;font-family:monospace;font-size:7pt;white-space:nowrap;overflow-x:hidden}.tip.link .content .text{font-style:normal}#notificationList{position:absolute;z-index:99;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-end;padding-left:10px;padding-top:10px;padding-bottom:30px;bottom:10vh;right:0px;overflow:hidden;pointer-events:none}#notificationList .notification{flex:0 1 auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;min-width:150px;margin-bottom:8px;background-color:#1e2229;border:1px solid #545d73;border-right:8px solid #545d73;border-top-left-radius:3px;border-bottom-left-radius:3px;box-shadow:0px 2px 4px #000,0px 8px 4px rgba(0,0,0,.5);-webkit-animation:1.3s anim_slideUp;animation:1.3s anim_slideUp}#notificationList .notification .content{padding:6px;padding-right:40px;padding-left:20px}#notificationList .notification .content .title{font-weight:bold;margin-bottom:4px}#notificationList .notification .content .sub{opacity:.8;padding-left:4px}#notificationList .notification .content pre{font-size:8pt}#notificationList .notification.blink{-webkit-animation:1s anim_slideUp,1.5s .25s anim_blinkOnce;animation:1s anim_slideUp,1.5s .25s anim_blinkOnce}#notificationList .notification:not(.latest){opacity:.8;border-right-width:4px;transition:border .3s,opacity .3s;background-image:url("../img/stripesLight.png");background-repeat:repeat}#notificationList .notification:not(.latest) .content{zoom:.9;opacity:.8;transition:padding .3s ease;padding-top:4px;padding-bottom:4px;padding-right:20px}.quickNotif{position:absolute;z-index:99;display:grid;align-items:center;justify-items:center;top:5px;box-sizing:border-box;pointer-events:none}.quickNotif .wrapper{display:flex;margin-left:110px;margin-top:15px;padding:4px 16px;align-items:center;font-family:Roboto;font-size:30pt;color:#fc0;background-color:rgba(0,0,0,.8);border-radius:8px;-webkit-animation:slidedown 1s;animation:slidedown 1s}.quickNotif .wrapper .icon{margin-right:8px}@-webkit-keyframes anim_slideUp{from{max-height:0;overflow:hidden}to{max-height:200}}@keyframes anim_slideUp{from{max-height:0;overflow:hidden}to{max-height:200}}@-webkit-keyframes anim_blinkOnce{0%{filter:brightness(7)}10%{filter:brightness(3)}40%{filter:brightness(1.5)}100%{filter:brightness(1)}}@keyframes anim_blinkOnce{0%{filter:brightness(7)}10%{filter:brightness(3)}40%{filter:brightness(1.5)}100%{filter:brightness(1)}}.lastChance{position:absolute;z-index:99;top:40px;right:0;min-width:150px;background-color:#791105;border-left:4px solid #e34d00;box-shadow:0px 8px 16px rgba(0,0,0,.3);-webkit-animation:anim_slideUp 1.2s;animation:anim_slideUp 1.2s}.lastChance .content{display:grid;align-items:center;width:100%;box-sizing:border-box;padding:20px;padding-right:80px;gap:10px;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;grid-template-rows:auto auto;justify-content:right}.lastChance .content button{grid-row:1/3;height:100%}.lastChance .content .action{grid-column:2/3;font-weight:bold;color:#fc0}.lastChance .content .desc{grid-column:2/3;grid-row:2/3;max-width:250px;font-style:italic;font-size:9pt;color:#fff;opacity:.7}.typeSuggestion{position:absolute;left:0px;top:0px;z-index:98;background:#1e2229}.typeSuggestion li{padding:4px}.typeSuggestion li.out{display:none}.typeSuggestion li.focus{background-color:#fc0;color:#000}.typeSuggestion li.focus strong{color:#000}.typeSuggestion li:hover{outline:1px dotted #fc0;cursor:pointer}.typeSuggestion li strong{color:#fc0;font-weight:normal}.valuePicker{position:absolute;z-index:97;display:grid;grid-template-columns:64px auto 100px;gap:16px;align-items:center;padding:16px;border-radius:4px;left:calc(50vw - 200px);top:85vh;width:400px;background-color:#1e2229;box-shadow:0px 0px 32px #000,0px 0px 16px #000;border:1px dashed #fc0}.valuePicker>.icon{width:48px;height:48px}.valuePicker.error{background-color:#e34d00;box-shadow:0px 0px 32px #e34d00}.valuePicker.error .instructions{display:none}.valuePicker.error .error{color:#fff}.valuePicker .desc{display:grid;gap:8px;grid-template-rows:auto auto}.valuePicker .desc .instructions{color:#fc0;font-weight:bold;text-align:center}.window{position:absolute;left:0px;top:0px;width:100vw;height:100vh;z-index:98}.window .mask{position:absolute;z-index:1;top:0px;left:0px;width:100vw;height:100vh;background-color:rgba(0,0,0,.35)}.window .mask.transparent{opacity:0 !important}.window.centered{display:grid;align-items:center;justify-items:center}.window.centered>.wrapper{position:static;border-radius:4px;border:none;box-shadow:4px 4px 0px rgba(0,0,0,.3),0px 8px 32px #000}.window.centered.forceScroll{align-items:initial}.window:not(.centered)>.wrapper{top:50px;left:50px}.window>.wrapper{display:block;position:absolute;overflow:auto;z-index:2;box-sizing:border-box;padding:20px;background:#2e333f;border:1px solid #545d73;box-shadow:0px 0px 32px #000,0px 8px 32px rgba(0,0,0,.3)}.window>.wrapper>.content>h2:first-of-type{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;grid-auto-flow:column;grid-auto-columns:-webkit-min-content;grid-auto-columns:min-content;align-items:center;margin:-20px;margin-bottom:16px;padding:6px 20px;color:#fff;font-size:15pt;white-space:nowrap;border:0;background-color:#545d73;border-top:1px solid #737f9d}.window>.wrapper>.content>h2:first-of-type>.icon{margin-right:12px}.window>.wrapper>.content>h2:first-of-type button.close{align-self:stretch}.window>.wrapper>.content>h2:first-of-type button.close .icon{margin:0}.window.panel{width:auto;height:auto}.window.panel .mask{width:calc( 100vw - 300px );left:300px}.compactPanel .window.panel .mask{width:calc( 100vw - 130px );left:130px}.window.panel button.close{width:auto;height:auto;padding:6px;border-radius:3px;border:1px solid #2e333f;background-color:rgba(0,0,0,0);box-shadow:0px 1px 0px rgba(0,0,0,.2)}.window.panel button.close:hover{border-color:#fff}.window.panel button.close:hover .icon{filter:brightness(0)}.window.panel button.close:hover{background-color:#fff}.compactPanel .window.panel>button.close{top:65px}.window.panel>.wrapper{top:0px;left:0px;height:100vh;overflow-x:hidden;border-left:none;border-bottom:none;border-top:none;border-top-right-radius:5px;box-shadow:8px 0px 0px rgba(0,0,0,.5)}.window.panel>.wrapper.backupLock{background-color:#2e333f;background-image:url(../img/stripesLight.png);background-repeat:repeat}.window.panel>.wrapper.backupLock .content>*:not(h2:first-of-type){opacity:.2}.window.panel>.wrapper.backupLock .content>*:not(h2:first-of-type) *{cursor:not-allowed !important}.window.panel>.wrapper.backupLock .backupNotice{z-index:2;pointer-events:none;position:absolute;display:grid;align-items:center;justify-content:center;top:0;left:0;width:100%;height:100%}.window.panel>.wrapper.backupLock .backupNotice span{padding:16px;border-radius:4px;background-color:#6594ff;box-shadow:0px 0px 16px rgba(0,0,0,.4)}.window.panel>.wrapper .content{width:800px}.window.panel>.wrapper .content h2,.window.panel>.wrapper .content h3,.window.panel>.wrapper .content h4{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.window.panel>.wrapper .content ul.niceList li{font-size:10pt}.window.editAppSettings .wrapper .content{width:940px}.window.editAppSettings .wrapper .content .columns{display:grid;grid-template-columns:380px auto;gap:32px}.window.editAppSettings .wrapper .content button.update{display:grid;margin-bottom:32px;grid-template-columns:-webkit-min-content -webkit-min-content;grid-template-columns:min-content min-content;justify-content:center;text-align:left;white-space:nowrap}.window.editAppSettings .wrapper .content button.update .icon{grid-column:1/2;grid-row:1/3;margin-right:10px;align-self:center}.window.editAppSettings .wrapper .content button.update strong{grid-column:2/3;font-size:12pt}.window.editAppSettings .wrapper .content button.update em{grid-column:2/3;font-style:normal;text-transform:none}.window.editAppSettings .wrapper .content dl.form dt{max-width:none;white-space:nowrap}.window.editAppSettings .wrapper .content dl.form dd.log{overflow:hidden;flex-wrap:nowrap}.window.editAppSettings .wrapper .content dl.form dd.log .logPath{flex:1 0 auto;padding:4px;text-align:left;overflow:hidden;text-overflow:ellipsis;border:1px solid #545d73}.window.editAppSettings .wrapper .content dl.form dd.log button{flex:0 1 0px;padding:0 2px}.window.moveEntitiesBetweenLayers .wrapper>.content{width:700px}.window.moveEntitiesBetweenLayers .wrapper>.content select{margin-left:4px;margin-right:8px}.window.lockMessage .wrapper .content .task{font-family:Roboto;font-size:18pt;color:#fc0}.window.lockMessage .wrapper .content .task p{margin-top:.5em;margin-bottom:.5em}.window.lockMessage .wrapper .content .sub{color:#737f9d;text-align:center}.window.textEditor .wrapper .content{display:grid;grid-template-rows:-webkit-min-content -webkit-min-content auto;grid-template-rows:min-content min-content auto;width:80vw;height:70vh}.window.textEditor .wrapper .content h2{margin-bottom:8px}.window.textEditor .wrapper .content .header{display:grid;grid-auto-columns:auto;grid-auto-flow:column;gap:8px}.window.textEditor .wrapper .content .header:not(:empty){padding-top:8px;padding-bottom:8px}.window.textEditor .wrapper .content .header .desc{background-color:#1e2229;padding:8px;color:#79dd8a}.window.textEditor .wrapper .content .CodeMirror{width:100%;height:100%}.window.buy .mask{background-color:rgba(0,0,0,.8)}.window.buy .wrapper{border-radius:8px;box-shadow:0px 0px 48px #000}.window.buy .wrapper .content{width:700px}.window.buy .wrapper .content h2{background-color:#000;border:0px}.window.buy .wrapper .content header{display:grid;justify-items:center;align-items:center;margin:-20px;margin-bottom:16px;padding:8px;background-color:#1e2229;background-image:url(../img/githubBanner.png);background-position:center;background-size:cover;min-height:300px}.window.buy .wrapper .content header .icon{width:100px;height:100px}.window.buy .wrapper .content p{margin-top:16px;margin-bottom:16px}.window.buy .wrapper .content .title{margin-top:32px;margin-bottom:32px;color:#fc0;font-size:1.6em;font-weight:bold;text-align:center}.window.buy .wrapper .content .title p{margin:0}.window.buy .wrapper .content .buttons{margin-top:32px;height:3.5em}.window.changelog>.mask{background-color:rgba(0,0,0,.9) !important}.window.changelog>.wrapper{position:relative;padding:0 !important;overflow-x:hidden;overflow-y:hidden}.window.changelog>.wrapper .content{width:900px;max-height:96vh;min-height:50vh;display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;height:100%}.window.changelog>.wrapper .content .changelogsWrapper{padding:20px;overflow-x:hidden;overflow-y:auto;background-color:#1e2229;color:#c1cfeb}.window.changelog>.wrapper .content.short{min-height:0;max-height:450px}.window.changelog>.wrapper .content header{display:grid;grid-template-columns:-webkit-min-content auto -webkit-min-content;grid-template-columns:min-content auto min-content;align-items:stretch;font-family:Roboto}.window.changelog>.wrapper .content header .version{display:grid;align-items:center;padding:16px;font-weight:bold;font-size:50pt;line-height:55pt;color:#1e2229;background-color:#fc0;white-space:nowrap}.window.changelog>.wrapper .content header .version.long{font-size:35pt}.window.changelog>.wrapper .content header .title{display:grid;align-items:center;padding-left:16px;padding-top:16px;padding-bottom:16px;padding-right:64px;font-size:20pt;font-style:italic;color:#fc0;background-color:#2e333f}.window.changelog>.wrapper .content header .title:empty{background-color:#2e333f}.window.changelog>.wrapper .content header .cornerButtons{display:grid;grid-template-rows:-webkit-min-content;grid-template-rows:min-content;align-items:flex-start;padding:8px;width:auto}.window.changelog>.wrapper .content .newUpdate{position:absolute;top:0;right:0;width:200px;height:200px;pointer-events:none}.window.changelog>.wrapper .content .newUpdate span{display:block;position:absolute;transform:rotate(45deg);top:65px;left:-50px;width:300px;padding:16px;white-space:nowrap;box-shadow:0px 4px 8px #000;text-align:center;font-size:1.3em;font-family:Roboto;text-transform:uppercase;color:#000;background-color:#fc0}.window.changelog>.wrapper .content .hotfixes:not(:empty){margin-bottom:32px}.window.changelog>.wrapper .content .hotfixes .hotfix{padding:8px;font-size:10pt;border:1px solid #545d73;border-radius:3px;margin-bottom:8px;cursor:pointer;background-color:#2e333f}.window.changelog>.wrapper .content .hotfixes .hotfix:hover{border-color:#fc0}.window.changelog>.wrapper .content .hotfixes .hotfix .hotfixVersion{font-size:11pt;color:#fc0;font-weight:bold}.window.changelog>.wrapper .content .hotfixes .hotfix .hotfixVersion em{color:#737f9d}.window.changelog>.wrapper .content .hotfixes .hotfix:not(.collapsed){padding-bottom:16px}.window.changelog>.wrapper .content .hotfixes .hotfix:not(.collapsed) .hotfixVersion{margin-bottom:8px}.window.changelog>.wrapper .content .hotfixes .hotfix:not(.collapsed) .icon{background-image:url("../icons/expanded.svg")}.window.changelog>.wrapper .content .hotfixes .hotfix.collapsed>*:not(.hotfixVersion){display:none}.window.changelog>.wrapper .content .hotfixes .hotfix.collapsed .icon{background-image:url("../icons/collapsed.svg")}.window.changelog>.wrapper .content .hotfixes .hotfix.latest:not(.collapsed){color:#fff;border-color:#c1cfeb;background-color:#545d73}.window.changelog>.wrapper .content .hotfixes .hotfix>ul{list-style:square inside}.window.changelog>.wrapper .content .hotfixes .hotfix>ul>li{padding-left:8px;margin-bottom:4px;padding-bottom:4px}.window.changelog>.wrapper .content .markdownHtml h2.version{margin-bottom:32px;font-size:25pt;color:#737f9d;border-bottom:1px solid #737f9d}.window.changelog>.wrapper .content .markdownHtml h2+h2{margin-top:0 !important}.window.changelog>.wrapper .content .markdownHtml img{width:100%;height:auto;border:1px solid #000;border-radius:4px;box-shadow:0px 0px 16px #000 inset;image-rendering:-webkit-optimize-contrast}.window.changelog>.wrapper .content .markdownHtml a:hover{color:#fff}.window.changelog>.wrapper .content .markdownHtml strong{color:#fff}.window.changelog>.wrapper .content .markdownHtml code{display:inline-block;padding:0px 4px;color:#3fdfac;border:1px solid #2e333f;white-space:nowrap;border-radius:3px}.window.changelog>.wrapper .content .markdownHtml code[class^=language-]{white-space:pre-wrap}.window.changelog>.wrapper .content .markdownHtml h2{border-bottom-width:2px}.window.changelog>.wrapper .content .markdownHtml h2:not(:first-child){margin-top:48px}.window.changelog>.wrapper .content .markdownHtml h2+h3{margin-top:0}.window.changelog>.wrapper .content .markdownHtml h3{border:0;margin-top:40px}.window.changelog>.wrapper .content .markdownHtml>p+ul{list-style:square;padding-left:32px}.window.changelog>.wrapper .content .markdownHtml>p+ul li{border:0}.window.changelog>.wrapper .content .markdownHtml>ul>li{border-bottom:1px dashed #2e333f;padding-bottom:8px;margin-bottom:8px}.window.changelog>.wrapper .content .markdownHtml>ul>li ul{margin-top:16px;list-style:square;padding-left:32px}.window.changelog>.wrapper .content .markdownHtml>ul>li ul li+li{margin-top:8px}.window.changelog>.wrapper .content .markdownHtml>ul>li:last-child{border:none;padding-bottom:0;margin-bottom:0}.window.progress{display:grid;align-items:flex-start;justify-items:center}.window.progress>.wrapper{position:static;padding:8px}.window.progress>.wrapper .title{font-family:Roboto;color:#fc0;font-size:14pt;margin-bottom:8px}.window.metaProgress{display:grid;align-items:flex-start;justify-items:center}.window.metaProgress>.wrapper{width:600px;position:static;padding:8px;background-color:#2e333f}.window.metaProgress>.wrapper .title{font-family:Roboto;color:#fc0;font-size:14pt;margin-bottom:8px}.window.metaProgress>.wrapper .progressBar{margin-bottom:0}.window.metaProgress>.wrapper .progressBar .bar{background-color:#ff4}*.contextMenuOpen{outline:1px dashed #fc0 !important;outline-offset:-1px}*.contextMenuOpen>button.context{background:rgba(0,0,0,.5) !important;outline:1px solid #fc0;outline-offset:-1px}.window.contextMenu .wrapper{padding:0px;border-radius:2px;box-shadow:0px 0px 16px #000,0px 4px 8px #000;outline:1px solid #000;overflow-x:hidden}.window.contextMenu .wrapper .content{display:grid;grid-auto-rows:auto}.window.contextMenu .wrapper .content .title{padding:8px 20px;color:#fff;font-weight:bold;background-color:#2e333f}.window.contextMenu .wrapper .content button{display:block;margin:0;padding:8px 20px;font-size:10pt;color:#fc0;text-align:left;background-color:#1e2229}.window.contextMenu .wrapper .content button:hover{background-color:#fc0;color:#000;text-shadow:none}.window.contextMenu .wrapper .content button:hover strong{color:#000}.window.contextMenu .wrapper .content button strong{color:#ff4}.window.contextMenu .wrapper .content button .sub{display:block;margin-top:2px;text-transform:none;color:#737f9d;font-size:9pt;max-width:300px}.window.contextMenu .wrapper .content button:disabled{color:#545d73;font-style:italic;background-repeat:repeat;background-image:url("../img/stripesLight.png")}.window.contextMenu .wrapper .content button.crash:not(:hover){background-color:#3c6148}.window.contextMenu .wrapper .content button.warning{background-color:#791105}.window.contextMenu .wrapper .content button.warning:hover{color:#fff;background-color:#e34d00}.window.contextMenu .wrapper .content button.strong{font-weight:bold;color:#ff4}.window.contextMenu .wrapper .content button.separatorAfter{margin-bottom:8px}.window.contextMenu .wrapper .content button+button{border-top:1px solid #2e333f}.window.dialog{overflow:hidden}.window.dialog.confirm .wrapper{max-width:400px}.window.dialog.confirm .wrapper .content p:first-of-type{margin-top:0}.window.dialog.warning .wrapper{max-width:400px;background-color:#791105;border-color:#e34d00}.window.dialog.error .wrapper{max-width:450px;background-color:#791105;border-color:#e34d00}.window.dialog.error .wrapper h2:first-of-type{background-color:#e34d00}.window.dialog.error .wrapper button{white-space:nowrap}.window.dialog.choice .wrapper{max-width:400px}.window.dialog.choice .wrapper .buttons button{flex:1 0 100%;white-space:nowrap;text-transform:none}.window.dialog.message .wrapper{max-width:400px}.window.dialog.message .wrapper p{margin:0}.window.dialog.message .wrapper *+p{margin-top:1em}.window.dialog.message.hasIcon .content{display:grid;gap:16px;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;align-items:stretch}.window.dialog.message.hasIcon .content .iconWrapper{padding:16px;background-color:#000;border-radius:8px}.window.dialog.message.hasIcon .content .iconWrapper .icon{width:4em;height:4em}.window.dialog>.mask{background-color:rgba(0,0,0,.55)}.window.dialog>.wrapper{padding:20px;box-shadow:0px 8px 32px rgba(0,0,0,.6)}.window.dialog>.wrapper .buttons{margin-top:16px;flex-wrap:wrap}.window.dialog>.wrapper .buttons button{margin:1px}.window.dialog>.wrapper .buttons button:not(.small):not(.full){flex:1 1 0}.window.dialog>.wrapper .buttons button.confirm{flex-grow:2}.window.dialog>.wrapper ul.fileList{padding:8px;background-color:#1e2229;border-radius:3px;font-family:"Courier New",Courier,monospace;font-size:9pt}.window.dialog.warning .wrapper .content{max-width:400px}.window.sync .wrapper .content{max-width:none}.window.sync .wrapper .content h2{display:block}.window.sync .wrapper .content h2 .file{color:#ff4;text-transform:none}.window.sync .wrapper .content .label{display:inline-block;padding:2px 4px;margin-left:16px;font-size:7.5pt;font-family:Arial,Helvetica,sans-serif;color:#000;font-weight:normal;text-decoration:none;text-transform:uppercase;border-radius:3px;background-color:#545d73}.window.sync .wrapper .content .label.added{color:#000;background-color:#cfdd40}.window.sync .wrapper .content .label.removed{color:#fff;background-color:#e34d00}.window.sync .wrapper .content .label.unchanged{color:#737f9d;font-style:italic;background-color:rgba(0,0,0,0)}.window.sync .wrapper .content select{display:inline-block;margin-left:16px;background-color:#2e333f}.window.sync .wrapper .content select.required{border:1px solid #e34d00;color:#737f9d}.window.sync .wrapper .content select option{background-color:#1e2229;color:#fff}.window.sync .wrapper .content select option.def{color:#737f9d;font-style:italic}.window.sync .wrapper .content select option.remove{color:#ffa386}.window.sync .wrapper .content ul.log li:hover{outline:none}.window.sync .wrapper .content ul.log li.enum .title{font-size:12pt;white-space:nowrap}.window.sync .wrapper .content ul.log li.enum.added{color:#cfdd40}.window.sync .wrapper .content ul.log li.enum.removed{color:#e34d00;text-decoration:line-through}.window.sync .wrapper .content ul.log li.enum.unchanged{color:#737f9d}.window.sync .wrapper .content ul.log li.enum ul.values{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin-bottom:8px;margin-left:8px;padding-left:12px;padding-right:16px;padding-top:4px;padding-bottom:8px;border-left:1px solid #545d73;border-bottom:1px solid #545d73;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.window.sync .wrapper .content ul.log li.enum ul.values li{white-space:nowrap;padding:0px 2px;font-size:10pt}.window.sync .wrapper .content ul.log li.enum ul.values li:not([class]){color:#545d73;font-style:italic}.window.sync .wrapper .content ul.log li.enum ul.values li.added{color:#cfdd40}.window.sync .wrapper .content ul.log li.enum ul.values li.removed{color:#e34d00;text-decoration:line-through}.window.logPrint .wrapper .content{max-width:70vw}.window.logPrint .wrapper .content .logHeader{display:grid;grid-template-columns:1fr .5fr;min-width:400px;padding:8px;margin-bottom:8px;background-color:#1e2229;border-radius:4px}.window.logPrint .wrapper .content .logHeader .content{display:grid;align-items:center}.window.logPrint .wrapper .content .logHeader.error{background-color:#791105}.window.logPrint .wrapper .content ul.log{min-width:auto}.window.logPrint .wrapper .content ul.log:empty{display:none}.window.logPrint .wrapper .content ul.log li{font-family:monospace;white-space:pre-wrap;border-left:4px solid #545d73;padding-left:8px;color:#fff}.window.logPrint .wrapper .content ul.log li.critical{padding:12px;border-left-color:#ff4;border-top:1px solid #ffa386;border-bottom:1px solid #ffa386;border-right:1px solid #ffa386;background-color:#e34d00;box-shadow:0px 0px 16px #e34d00;color:#fff;font-weight:bold}.window.logPrint .wrapper .content ul.log li.critical+.critical{margin-top:4px}.window.lostFile .wrapper .content{max-width:50vw}.window.lostFile .wrapper .content .path{text-align:left;padding:4px;background-color:#1e2229;border:1px solid #e34d00}.window.fileChanged .wrapper .content{max-width:50vw}.window.fileChanged .wrapper .content .path{text-align:left;padding:4px;background-color:#1e2229;border:1px solid #e34d00}.window.panel.helpPanel .wrapper .content{width:auto;display:grid;gap:16px}.window.panel.helpPanel h3{margin-top:0}.window.panel.helpPanel .links{display:grid;grid-template-columns:auto auto;gap:16px}.window.panel.helpPanel .links .buttons{display:block}.window.panel.helpPanel .links .buttons button{justify-content:start;text-align:inherit;text-transform:none}.window.panel.helpPanel .links .videosWrapper .videos{display:grid;gap:4px;grid-template-columns:repeat(2, 1fr)}.window.panel.helpPanel .links .videosWrapper .videos>a{border:1px solid #000;cursor:pointer;box-shadow:0px 0px 8px rgba(0,0,0,.5);background-color:#000;background-image:url("../img/stripesLight.png");background-repeat:repeat;height:180px}.window.panel.helpPanel .links .videosWrapper .videos>a img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.window.panel.helpPanel .links .videosWrapper .videos>a:hover{border-color:#fc0}.window.panel.helpPanel .keys{display:grid;grid-template-columns:repeat(2, 420px);gap:16px}.window.panel.helpPanel dl{display:grid;grid-template-columns:.5fr 1fr;align-items:stretch;gap:1px}.window.panel.helpPanel dl dt{margin:0;text-align:right;white-space:nowrap}.window.panel.helpPanel dl dt .icon{width:32px;height:32px}.window.panel.helpPanel dl dd{display:grid;align-items:center;margin:0;font-family:Roboto}.window.panel.helpPanel dl span.misc{margin-left:3px;margin-right:3px}.window.panel.helpPanel dl.major dt{padding:4px;background-color:#1e2229;border-radius:4px}.window.panel.helpPanel dl.major dd{padding:4px;background-color:#545d73;border-radius:4px;font-size:12pt}.window.panel.helpPanel dl.minor dt{padding:4px;padding-right:8px;background-color:#1e2229;border-radius:4px}.window.panel.helpPanel dl.minor dd{padding-left:10px}.window.dialog.fieldTypes>.wrapper,.window.dialog.layerTypes>.wrapper{width:auto;padding:4px}.window.dialog.fieldTypes>.wrapper .content,.window.dialog.layerTypes>.wrapper .content{display:grid;width:100%;gap:2px}.window.dialog.fieldTypes>.wrapper .content button,.window.dialog.layerTypes>.wrapper .content button{margin:0;padding:6px}.window.dialog.fieldTypes>.wrapper .content button:hover,.window.dialog.layerTypes>.wrapper .content button:hover{color:#000;background-color:#fc0 !important}.window.dialog.inputDialog>.wrapper{min-width:400px}.window.dialog.inputDialog>.wrapper .inputWrapper{display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;align-items:center}.window.dialog.inputDialog>.wrapper .inputWrapper .suffix{padding-left:4px}.window.dialog.inputDialog>.wrapper .inputWrapper .suffix:empty{display:none}.window.dialog.inputDialog>.wrapper .error{color:#e34d00;margin-top:4px;min-height:1em}.window.dialog.colorPicker>.wrapper{padding:4px;background-color:#1e2229;border:1px solid #2e333f;border-radius:3px}.window.dialog.colorPicker>.wrapper .content{overflow:hidden;display:grid;grid-template-rows:32px -webkit-min-content auto;grid-template-rows:32px min-content auto;gap:4px}.window.dialog.colorPicker>.wrapper .content .preview{border:1px solid #545d73;outline:1px solid #000;outline-offset:-2px}.window.dialog.colorPicker>.wrapper .content .input{display:grid;grid-template-columns:auto -webkit-min-content -webkit-min-content;grid-template-columns:auto min-content min-content;position:relative}.window.dialog.colorPicker>.wrapper .content .input span{display:flex;align-items:center;height:100%;color:#545d73;position:absolute;margin-left:7px}.window.dialog.colorPicker>.wrapper .content .input input{padding-left:17px}.window.dialog.colorPicker>.wrapper .content .input .copy.done{opacity:.2}.window.dialog.colorPicker>.wrapper .content .input .paste:not(.enabled){opacity:.2}.window.dialog.colorPicker>.wrapper .content .expand{color:#737f9d;font-size:.8em;padding-top:2px;padding-bottom:2px}.window.dialog.colorPicker>.wrapper .content .expand:hover{color:#fc0}.window.dialog.colorPicker>.wrapper .content .expand.on{cursor:pointer;color:#fff;background-color:#545d73}.window.dialog.colorPicker>.wrapper .content .expand.off{cursor:cell;background-color:#2e333f}.window.dialog.colorPicker>.wrapper .content .expand.on .icon.off{display:none}.window.dialog.colorPicker>.wrapper .content .expand.off .icon.on{display:none}.window.dialog.colorPicker>.wrapper .content .expand.showAll .showAll.off{display:none}.window.dialog.colorPicker>.wrapper .content .expand:not(.showAll) .showAll.on{display:none}.window.dialog.colorPicker>.wrapper .content .recents{display:grid;grid-template-columns:repeat(12, 1fr);grid-auto-rows:24px;padding:4px;max-width:320px;max-height:180px;overflow-y:auto;border-left:1px solid #545d73;background-color:#2e333f;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.window.dialog.colorPicker>.wrapper .content .recents:empty{display:none}.window.dialog.colorPicker>.wrapper .content .recents.empty{font-style:italic;color:#737f9d}.window.dialog.colorPicker>.wrapper .content .recents .color{border:1px solid #000;cursor:pointer}.window.dialog.colorPicker>.wrapper .content .recents .color:hover{outline:2px solid #fff;outline-offset:-2px}.window.dialog.colorPicker>.wrapper .content .recents .showAll{padding:2px;grid-column-start:1;grid-column-end:-1;font-size:.8em;color:#fc0;cursor:pointer}.window.dialog.colorPicker>.wrapper .content .recents .showAll:hover{color:#fff}.window.dialog.convertFieldType>.wrapper{width:auto;padding:2px}.window.dialog.convertFieldType>.wrapper .content{width:100%;gap:2px}.window.dialog.convertFieldType>.wrapper .content button{margin:0;margin-bottom:1px;text-transform:none;white-space:nowrap}.window.dialog.fieldTypes .content{grid-template-columns:repeat(5, -webkit-min-content);grid-template-columns:repeat(5, min-content)}.window.dialog.enums .content button{display:flex;width:100%;padding-top:6px;padding-bottom:6px;text-transform:none}.window.dialog.enums .content button .id{flex:1 0 auto;text-align:left}.window.dialog.enums .content button .source{flex:0 1 0;margin-left:8px;font-size:8pt;opacity:.7}.window.dialog.layerTypes .content{grid-auto-rows:100px;grid-template-columns:100px 300px;gap:4px !important}.window.dialog.layerTypes .content .icon{display:block;width:3em;height:3em;margin:auto;margin-bottom:4px}.window.dialog.layerTypes .content .desc{display:grid;align-items:center;padding:8px;color:#79dd8a;background-color:#3c6148;border-radius:4px;border:1px dashed #5eab6b}.window.dialog.layerTypes .content .layerType{display:block;font-size:inherit}.toolPopOutPlaceholder{width:100%;height:100%;outline:2px solid red;background-color:darkred}.window.popOutPalette{align-items:flex-start}.window.popOutPalette>.wrapper{overflow:hidden;padding:0;border:none;outline:1px solid #fff;box-shadow:0px 0px 32px #000}.window.popOutPalette>.wrapper>.content{width:max(45vw, 500px);max-height:70vh}.panelMask{position:absolute;background-color:rgba(0,0,0,.75);opacity:.5;z-index:97}ul.sortable:not(.customHandle) li:not(.fixed){background-image:url("../icons/dragAlpha.svg");background-repeat:no-repeat;background-position:left center;padding-left:32px !important}ul.sortable:not(.customHandle) li:not(.fixed).dragging{cursor:ns-resize}body.panning #worldDepths,body.panning #editingOptions,body.panning #mainPanel,body.panning #permanentNotifications,body.panning .entityInstanceEditor{pointer-events:none}ul.sortable li.dragging{color:#fff;outline:1px dashed #fc0;outline-offset:-1px;opacity:.7;box-shadow:0px 0px 8px #e34d00 inset;background-color:#d56932 !important;background-image:url("../img/stripes.png");background-repeat:repeat}div.sortHandle{display:inline-block;background:url("../icons/drag.svg") no-repeat;background-position:center center;border-right:1px solid #1e2229;padding-left:24px;padding-top:32px;opacity:.3;cursor:move}div.sortHandle:hover{opacity:1;background-color:#fc0;border-radius:2px}#debug{display:none;position:absolute;z-index:99;padding:8px;right:0px;top:0px;font-size:9pt;color:#fff;text-shadow:0px 1px 3px #000;background-color:rgba(0,0,0,.4);max-width:40vw;pointer-events:none}#debug p,#debug pre{white-space:pre-wrap;word-wrap:break-word}#debug p{margin:0;padding:0;margin:0}#debug pre{margin:0;padding:0;font-family:Roboto}#debug p+p{margin-top:3px}#mouseCoords{display:flex;flex-wrap:nowrap;position:absolute;z-index:99;right:3px;bottom:3px;pointer-events:none}#mouseCoords span{padding:4px 8px;font-size:9pt;color:#fff;text-shadow:0px 1px 3px #000;background-color:rgba(0,0,0,.4);border-radius:6px;pointer-events:none}#mouseCoords span+span{margin-left:8px}#mouseCoords span.grid{background-color:rgba(63,195,165,.4)}#mouseCoords span.level{background-color:rgba(37,115,97,.4)}#mouseCoords span.world{background-color:rgba(35,51,115,.4)}#appMask{position:fixed;top:0;left:0;z-index:999;width:100vw;height:100vh;background-color:#1e2229;pointer-events:none}canvas#webgl{position:absolute;top:0;left:0;z-index:1}canvas#webgl:not(.active){visibility:hidden;width:100px !important;height:100px !important}canvas#webgl.active{height:100vh !important}body.hasValuePicker canvas#webgl{outline:4px dashed #fc0 !important;outline-offset:-16px;filter:sepia(0.4)}#page{position:absolute;top:0;left:0;z-index:2}#page.locked{pointer-events:none}#crashed{position:absolute;box-sizing:border-box;top:0;left:0;width:100vw;height:100vh;z-index:9999;padding-bottom:20px;pointer-events:none;display:flex;flex-flow:column;justify-content:flex-end;align-items:center;background-color:rgba(227,77,0,.4);box-shadow:0px 0px 64px inset #e34d00;background-repeat:repeat}#crashed>*{margin:0;margin-bottom:3px;color:#ff4;text-shadow:0px 2px 4px #000;background-color:rgba(0,0,0,.5)}#clicktrap{position:absolute;display:none;top:0;left:0;width:100vw;height:100vh;z-index:9999;background-color:rgba(30,34,41,.4);background-image:url("../img/stripesLight.png");background-repeat:repeat}#page.editor #glCtxLost{display:none;position:absolute;align-items:center;justify-items:center;z-index:3;width:300px;left:calc(50vw - 150px);top:calc(50vh - 20px);padding:16px;color:#e34d00;text-align:center;border:1px solid #e34d00;border-radius:4px;box-shadow:0px 0px 32px #791105 inset;background-color:#000}#page.editor #glCtxLost .icon{width:2em;height:2em;margin-bottom:8px}#page.editor #glCtxLost p{margin:0}#page.editor #glCtxLost p+p{margin-top:4px}body.noGlCtx #page.editor #glCtxLost{display:block}body.noGlCtx #page.editor canvas{cursor:not-allowed !important}#page.editor #permanentNotifications{position:absolute;top:0;left:300px;width:calc( 100vw - 300px );z-index:1}#page.editor #permanentNotifications li{padding-top:8px;padding-bottom:8px;font-size:9pt;color:#fff;font-weight:bold;text-align:center;background-color:#e34d00}#page.editor #permanentNotifications li .backupHeader{display:grid;max-width:600px;margin:auto;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;gap:16px}#page.editor #permanentNotifications li .backupHeader .desc{display:grid;align-items:center;text-align:left}#page.editor #permanentNotifications li .backupHeader .desc p{margin-top:4px;margin-bottom:4px}#page.editor #permanentNotifications li .backupHeader button{width:250px;height:40px;align-self:center}#page.editor #permanentNotifications li#backup{background-color:#6594ff}#page.editor #permanentNotifications li#tutorialDesc{display:flex;justify-content:center;font-size:11pt;font-weight:normal;background-color:#5eab6b}#page.editor #permanentNotifications li#tutorialDesc .wrapper{display:grid;align-items:center;max-width:700px;min-height:64px;padding-left:64px;text-align:left;background-image:url("../icons/help.svg");background-repeat:no-repeat;background-position:left center}#page.editor #permanentNotifications li#tutorialDesc .wrapper p{margin:0}#page.editor #permanentNotifications li#tutorialDesc .wrapper p+p{margin-top:6px}#page.editor #mainPanel{position:absolute;top:0;left:0;width:300px;height:100vh;display:grid;overflow:hidden;grid-template-rows:repeat(4, -webkit-min-content) auto;grid-template-rows:repeat(4, min-content) auto;background:#1e2229;box-sizing:border-box;border-right:2px solid #000}#page.editor #mainPanel #mainbar{overflow:hidden}#page.editor #mainPanel #mainbar .buttons{margin:0;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;margin-bottom:4px}#page.editor #mainPanel #mainbar .buttons button{margin:0;padding:0;padding-top:8px;padding-bottom:8px}#page.editor #mainPanel #mainbar .buttons button .icon{width:1.5em;height:1.5em}#page.editor #mainPanel #mainbar .buttons.faded button:not(.active){opacity:.5;box-shadow:0px -6px 0px rgba(0,0,0,.4) inset}#page.editor #mainPanel ul.niceList{min-height:auto}#page.editor #mainPanel ul#layers{overflow-x:hidden;overflow-y:auto;margin:0;border:0;padding:0;min-height:100px;max-height:250px}#page.editor #mainPanel ul#layers:empty{padding:32px;border:1px solid #2e333f}#page.editor #mainPanel ul#layers li{grid-template-columns:-webkit-min-content -webkit-min-content auto -webkit-min-content;grid-template-columns:min-content min-content auto min-content;padding:0;padding-left:8px;align-items:stretch}#page.editor #mainPanel ul#layers li.hidden{opacity:.4}#page.editor #mainPanel ul#layers li.hidden .actions .vis{cursor:zoom-in}#page.editor #mainPanel ul#layers li.hidden .actions .vis .icon{background-image:url("../icons/hidden.png")}#page.editor #mainPanel ul#layers li.hiddenFromList .name{font-style:italic;color:#e34d00}#page.editor #mainPanel ul#layers li .shortcut{display:flex;align-items:center;min-width:1.2em;text-align:center;color:#737f9d;font-weight:bold;font-size:8pt}#page.editor #mainPanel ul#layers li.active .shortcut{color:#d56932}#page.editor #mainPanel ul#layers li .layerIcon{display:flex;align-items:center}#page.editor #mainPanel ul#layers li .name{display:flex;align-items:center;overflow-x:hidden;padding-top:8px;padding-bottom:8px;font-size:10pt}#page.editor #mainPanel ul#layers li .actions{display:flex}#page.editor #mainPanel ul#layers li .actions .vis{display:flex;align-items:center;padding:0px 4px;color:#fff;text-shadow:0px 0px 4px #000;order:2;border-radius:3px;cursor:zoom-out}#page.editor #mainPanel ul#layers li .actions .vis .icon{background-image:url("../icons/visible.png")}#page.editor #mainPanel ul#layers li .actions .vis:hover{background-color:#fff}#page.editor #mainPanel ul#layers li .actions a{display:flex;align-items:center;padding:4px;margin-top:1px;margin-bottom:1px;color:#fff;white-space:nowrap;font-size:8pt;text-transform:uppercase;text-decoration:none;background-color:#545d73;border-radius:3px;cursor:pointer}#page.editor #mainPanel ul#layers li .actions a:hover{color:#000;background-color:#fff}#page.editor #mainPanel #guide{display:flex;min-height:1.3em;flex-wrap:wrap;padding:4px;margin-bottom:16px;vertical-align:middle;font-family:Roboto;color:#79dd8a;font-size:.9em;align-items:stretch;background-color:#273f2f;border-top:1px solid #5eab6b;border-bottom:1px solid #5eab6b}#page.editor #mainPanel #guide:empty{margin:0;padding:0;min-height:0;background-color:rgba(0,0,0,0);border:none}#page.editor #mainPanel #guide>span{padding-left:1px;padding-right:8px;color:#79dd8a;font-style:italic;white-space:nowrap;flex:0 1 auto;margin-right:3px;margin-bottom:1px;background-color:#3c6148;border-radius:3px}#page.editor #mainPanel #guide .key{color:#fff;margin:0;margin-right:1px;box-shadow:none}#page.editor #mainPanel #guide .key:last-of-type{margin-right:4px}#page.editor #mainPanel #toolOptions select{width:100%}#page.editor #mainPanel #toolOptions select option.bad{color:#545d73}#page.editor #mainPanel #mainPaletteWrapper{overflow:auto;position:relative}#page.editor #mainPanel #mainPaletteWrapper:empty{margin-top:1px;box-sizing:border-box;box-shadow:0px 0px 8px #1e2229 inset;outline-color:#545d73;border-top:1px solid #2e333f;background-image:url("../img/stripes.png")}#page.editor #mainPanel #mainPaletteWrapper ul.niceList{height:100%;box-sizing:border-box}#page.editor ul#editingOptions{position:absolute;z-index:1;top:46px;left:300px;display:grid;gap:1px;background-color:#1e2229;padding:3px;padding-left:0;border-radius:4px;border-top-left-radius:0px;border-bottom-left-radius:0px}#page.editor ul#editingOptions li{align-items:center;border:1px solid #545d73;border-radius:3px;padding:4px;cursor:pointer}#page.editor ul#editingOptions li.separator{padding:0;cursor:default;border:none;height:16px}#page.editor ul#editingOptions li .icon{width:24px;height:24px}#page.editor ul#editingOptions li.active{border-color:#cfdd40;background-color:#3c6148;box-shadow:0px 0px 4px #79dd8a,0px 0px 16px #cfdd40 inset}#page.editor ul#editingOptions li.active .off{display:none}#page.editor ul#editingOptions li:hover{border-color:#fff}#page.editor ul#editingOptions li:not(.active) .on{display:none}#page.editor ul#editingOptions li:not(.active) .icon{opacity:.66}#page.editor ul#editingOptions li:not(.active).warnOff{border-color:#fc0;background-color:#791105;box-shadow:0px 0px 16px #e34d00,0px 0px 16px #e34d00 inset}#page.editor ul#editingOptions li.unsupported{cursor:not-allowed;border-color:rgba(0,0,0,0);background-image:url("../img/stripes.png");box-shadow:none}#page.editor ul#editingOptions li.unsupported .icon{opacity:.2}#page.editor #worldDepths{position:absolute;z-index:2;top:46px;left:340px;display:grid;background-color:#1e2229;padding:3px;border-radius:4px;max-height:70vh;overflow-y:auto;box-shadow:0px 4px 2px rgba(0,0,0,.4)}#page.editor #worldDepths>.title{display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;padding-top:3px;margin-bottom:8px;white-space:nowrap;font-size:.8em;font-weight:bold;color:#545d73;text-align:center}#page.editor #worldDepths>.title info{opacity:.66}#page.editor #worldDepths>ul{display:grid}#page.editor #worldDepths>ul li{display:grid;grid-template-columns:-webkit-min-content -webkit-min-content;grid-template-columns:min-content min-content;gap:3px;align-items:center;justify-content:flex-start;border-radius:4px;padding-left:4px;padding-right:4px;cursor:pointer}#page.editor #worldDepths>ul li:not(:first-child){margin-top:-8px}#page.editor #worldDepths>ul li .icon{width:50px;height:28px;background-image:url("../icons/worldLayer_below.svg");background-repeat:no-repeat;background-position:left center;background-size:contain;transform:scaleY(-1)}#page.editor #worldDepths>ul li:last-child .icon{background-image:url("../icons/worldLayer_top.svg")}#page.editor #worldDepths>ul li:first-child .icon{opacity:.5}#page.editor #worldDepths>ul li .label{font-size:10pt;color:#545d73;padding:0px 4px;border-radius:4px;min-width:1em;text-align:center}#page.editor #worldDepths>ul li.active{z-index:2;border-color:#fc0;pointer-events:none}#page.editor #worldDepths>ul li.active .icon{opacity:1;filter:brightness(0.6) sepia(1) hue-rotate(0.25rad) saturate(10)}#page.editor #worldDepths>ul li.active .label{color:#000;background-color:#fc0}#page.editor #worldDepths>ul li:not(.active):hover{margin-left:2px;background-color:#2e333f}#page.editor #worldDepths>ul li:not(.active):hover .icon{filter:brightness(0.6) sepia(1) hue-rotate(0.25rad) saturate(10)}#page.editor #worldDepths>ul li:not(.active):hover .label{color:#c1cfeb}#page.editor:not(.compactPanel) .onlyCompact{display:none}#page.editor.compactPanel .notCompact{display:none}#page.editor.compactPanel .onlyCompact{display:block}#page.editor.compactPanel #mainPanel{width:130px;grid-template-rows:-webkit-min-content 200px -webkit-min-content auto;grid-template-rows:min-content 200px min-content auto}#page.editor.compactPanel #mainPanel #mainBar .buttons{display:grid;grid-template-columns:repeat(5, 20%);grid-template-rows:repeat(2, 30px)}#page.editor.compactPanel #mainPanel #mainBar .buttons button{z-index:1;margin:0px}#page.editor.compactPanel #mainPanel #mainBar .buttons button.showHelp{grid-row:1/2;grid-column:3/4;z-index:0}#page.editor.compactPanel #mainPanel #mainBar .buttons button.settings{grid-row:1/2;grid-column:4/5;z-index:0}#page.editor.compactPanel #mainPanel #mainBar .buttons button.close{grid-row:1/2;grid-column:5/6;z-index:0}#page.editor.compactPanel #mainPanel #mainBar .buttons .icon{width:1.3em;height:1.3em}#page.editor.compactPanel #mainPanel #guide{display:none}#page.editor.compactPanel #mainPanel ul#layers li{grid-template-columns:-webkit-min-content auto -webkit-min-content;grid-template-columns:min-content auto min-content}#page.editor.compactPanel #mainPanel ul#layers li .layerIcon,#page.editor.compactPanel #mainPanel ul#layers li .index{display:none}#page.editor.compactPanel #mainPanel ul#layers li .name{font-size:8pt}#page.editor.compactPanel #mainPanel ul#layers li .actions .vis{font-size:8pt}#page.editor.compactPanel #mainPanel ul#layers li .actions a{padding:2px;font-size:7pt;text-transform:none}#page.editor.compactPanel #mainPanel ul#layers li .actions a:hover .icon{filter:brightness(0)}#page.editor.compactPanel #mainPanel ul.niceList li{padding:4px 2px;gap:4px}#page.editor.compactPanel #mainPanel h2#levelName{font-size:1.1em}#page.editor.compactPanel #mainPaletteWrapper .niceList li,#page.editor.compactPanel #mainPaletteWrapper .intGridValues li{font-size:9.5pt;border-left-width:2px}#page.editor.compactPanel #permanentNotifications{left:130px;width:calc( 100vw - 130px )}#page.editor.compactPanel ul#editingOptions{left:130px;top:74px}#page.editor.compactPanel ul#editingOptions .icon{width:18px;height:18px}#page.updating{display:grid;width:100vw;height:100vh;align-content:center;justify-content:center;background-color:#1e2229}#page.updating .wrapper{display:grid;padding-top:32px}#page.updating .wrapper .appLogo{margin-bottom:16px}#page.updating .wrapper .updating{padding:16px;font-size:1.3em;color:#000;text-align:center;border-radius:3px;background-color:#fc0;-webkit-animation:anim_slideUp 1s;animation:anim_slideUp 1s}#page.crashReport{width:100vw;height:100vh;display:grid;align-items:center;justify-items:center;background-color:#1e2229;background-image:url("../img/stripes.png")}#page.crashReport>.wrapper{background-color:#2e333f;padding:32px;width:700px;max-width:90vw;border-radius:4px;box-shadow:0px 8px 0px rgba(0,0,0,.2),0px 0px 32px rgba(0,0,0,.3)}#page.crashReport>.wrapper a{text-decoration:underline;cursor:pointer}#page.crashReport>.wrapper a:hover{color:#fff}#page.crashReport>.wrapper .desc{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;align-items:center;gap:16px;margin-top:16px}#page.crashReport>.wrapper .desc .ghost{width:100px;height:100px}#page.crashReport>.wrapper .desc .text{border-left:1px solid #545d73;padding-left:16px;border-radius:16px}#page.crashReport>.wrapper .desc .text .arrow{position:absolute;margin-left:-32px;margin-top:24px;width:0;height:0;border-top:16px solid rgba(0,0,0,0);border-right:16px solid #545d73;border-bottom:16px solid rgba(0,0,0,0)}#page.crashReport>.wrapper .desc .text .backup{background-color:#5eab6b;padding:8px;border-radius:4px;color:#fff;font-weight:bold}#page.crashReport>.wrapper .desc .text .backup:empty{display:none}#page.crashReport>.wrapper .error{padding:16px;margin-top:16px;margin-bottom:16px;color:#fff;text-shadow:0px 0px 8px #e34d00,0px 0px 16px #e34d00;font-family:monospace;white-space:pre-wrap;background-color:#791105;border:1px solid #fc0;box-shadow:0px 0px 16px #e34d00}#page.crashReport>.wrapper .buttons button.copy,#page.crashReport>.wrapper .buttons button.report{flex-grow:.66}#page.crashReport>.wrapper .buttons button.done{opacity:.35}#page.home{display:grid;width:100vw;height:100vh;align-content:center;background-color:#1e2229}#page.home>.wrapper{display:grid;grid-template-columns:100%;grid-template-rows:32vh 58vh 10vh;box-sizing:border-box;width:80vw;min-width:960px;max-width:1200px;margin:auto;height:100%;align-items:center;justify-content:center}@media(max-width: 1000px){#page.home>.wrapper .buttons button{font-size:9pt !important}}#page.home>.wrapper header{display:grid;align-self:stretch;align-items:center;grid-template-columns:-webkit-min-content -webkit-min-content;grid-template-columns:min-content min-content;background-image:url("../img/homeBg_header.png");background-size:contain;background-repeat:no-repeat;background-position:bottom center}#page.home>.wrapper header .version{font-size:150pt;color:#545d73;opacity:.3;text-align:center;margin-top:8px}#page.home>.wrapper header .appLogo{min-height:160px}#page.home>.wrapper header .disclaimer{margin-top:8px;margin-bottom:8px;padding:16px;font-size:9pt;background-color:#791105;border-radius:3px}#page.home>.wrapper header .disclaimer h2{font-size:10pt;border:none;margin:0;padding:0;margin-bottom:4px}#page.home>.wrapper header .disclaimer p{margin:0;margin-bottom:4px}#page.home>.wrapper header .disclaimer strong{text-decoration:underline}#page.home>.wrapper .footer{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;box-sizing:border-box;padding-top:16px;padding-bottom:16px;align-self:center}#page.home>.wrapper .footer a img{height:2.5em}#page.home>.wrapper .footer span{color:#545d73;text-align:right;margin-top:20px;font-size:.75em}#page.home>.wrapper .main{display:grid;width:100%;grid-template-columns:auto 250px;box-sizing:border-box;padding-top:30px;height:100%;background-image:url("../img/homeBg_main.png");background-size:contain;background-repeat:no-repeat;background-position:top center}#page.home>.wrapper .buttons{flex-wrap:nowrap}#page.home>.wrapper .buttons button{display:grid;grid-auto-flow:column;gap:6px;justify-content:center;align-items:center;height:38px;padding:0px 8px;font-size:11pt;white-space:nowrap;text-transform:none}#page.home>.wrapper .buttons button.small{flex:.5 1 0px}#page.home>.wrapper .buttons button.small .icon{margin:0}#page.home>.wrapper .buttons button.buy{text-transform:none}#page.home>.wrapper .buttons button.settings{flex:0 1 0px}#page.home>.wrapper .buttons button.exit{display:none;flex:0 1 0px}#page.home>.wrapper .buttons button.import{flex:0 1 0px}body.fullscreen #page.home .buttons .exit{display:inherit !important}#page.home>.wrapper .files{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;gap:8px;height:100%;overflow:hidden}#page.home>.wrapper .files.hasSamples{grid-template-rows:-webkit-min-content -webkit-min-content auto;grid-template-rows:min-content min-content auto}#page.home>.wrapper .files .buttons{grid-column:1/3}#page.home>.wrapper .files .allSamples{display:none;grid-column:1/3;padding:4px;border:1px solid #79dd8a;border-radius:3px;background-color:#273f2f}#page.home>.wrapper .files .allSamples .title{display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;align-items:flex-end;margin:-4px;margin-bottom:0;padding:8px;font:Roboto;color:#79dd8a;font-size:10pt}#page.home>.wrapper .files .allSamples .title button.hide{padding:0;background:#3c6148;box-shadow:none;border:1px solid #5eab6b;margin-top:-4px;margin-bottom:-4px}#page.home>.wrapper .files .allSamples .title button.hide:hover{border-color:#fff}#page.home>.wrapper .files .allSamples .scroller{display:flex;overflow-x:auto;padding:4px;padding-bottom:8px;background-color:#3c6148}#page.home>.wrapper .files .allSamples .sample{display:grid;flex:0 0 128px;border-radius:4px;overflow:hidden;grid-template-rows:96px auto;cursor:pointer;background-color:#000}#page.home>.wrapper .files .allSamples .sample:hover{outline:1px solid #fff}#page.home>.wrapper .files .allSamples .sample.seen{opacity:.6}#page.home>.wrapper .files .allSamples .sample.seen .name{color:#c1cfeb}#page.home>.wrapper .files .allSamples .sample .thumb{background-position:center;background-size:cover;border:1px solid #000;box-shadow:0px 0px 8px #000 inset,0px 0px 8px #000 inset}#page.home>.wrapper .files .allSamples .sample .name{display:grid;align-content:center;padding:4px 2px;font-size:8.5pt;text-align:center;color:#fff}#page.home>.wrapper .files .allSamples .sample+.sample{margin-left:4px}#page.home>.wrapper .files ul.recentFiles,#page.home>.wrapper .files ul.recentDirs{overflow-y:auto;margin-top:0;margin-bottom:0;padding:4px;min-height:0}#page.home>.wrapper .files ul.recentFiles li.title,#page.home>.wrapper .files ul.recentDirs li.title{border:0;padding:3px 0px}#page.home>.wrapper .files ul.recentFiles:empty,#page.home>.wrapper .files ul.recentDirs:empty{padding:40px}#page.home>.wrapper .files ul.recentFiles:empty::before,#page.home>.wrapper .files ul.recentDirs:empty::before{color:#737f9d;text-shadow:0px 2px 8px #1e2229,0px 2px 2px #1e2229}#page.home>.wrapper .files ul.recentFiles li .path,#page.home>.wrapper .files ul.recentDirs li .path{width:100%;overflow:hidden;white-space:nowrap;text-align:left}#page.home>.wrapper .files ul.recentFiles:empty::before{content:"No recent project file"}#page.home>.wrapper .files ul.recentFiles li{display:grid;overflow:hidden;grid-template-columns:auto -webkit-min-content -webkit-min-content;grid-template-columns:auto min-content min-content;grid-template-rows:auto auto}#page.home>.wrapper .files ul.recentFiles li.missing .fileName{text-decoration:line-through;font-weight:normal;color:#ffa386 !important}#page.home>.wrapper .files ul.recentFiles li .fileName{grid-column:1/2;font-weight:bold;overflow:hidden;width:100%;white-space:nowrap;text-overflow:ellipsis}#page.home>.wrapper .files ul.recentFiles li .path{grid-column:1/2;grid-row:2/3;font-size:9pt;color:#737f9d;text-overflow:ellipsis;opacity:.55}#page.home>.wrapper .files ul.recentFiles li .path>span:last-of-type{display:none}#page.home>.wrapper .files ul.recentFiles li.sample .fileName{color:#79dd8a !important;grid-row:1/3}#page.home>.wrapper .files ul.recentFiles li.sample .path{display:none}#page.home>.wrapper .files ul.recentFiles li button.backups{grid-column:2/3;grid-row:1/3;padding:0 2px;align-self:stretch}#page.home>.wrapper .files ul.recentFiles li button.context{grid-column:3/4;grid-row:1/3;align-self:stretch}#page.home>.wrapper .files ul.recentFiles li:first-of-type:hover{outline-color:#fff}#page.home>.wrapper .files ul.recentFiles li.crash{border:1px solid #79dd8a;background-color:#3c6148;box-shadow:0px 0px 16px #79dd8a}#page.home>.wrapper .files ul.recentDirs:empty::before{content:"No recent folder"}#page.home>.wrapper .files ul.recentDirs li{padding:2px 8px}#page.home>.wrapper .files ul.recentDirs .path{text-overflow:ellipsis}#page.home>.wrapper .files ul.recentDirs li.sample .path>span{color:#79dd8a !important}#page.home>.wrapper .files ul.recentDirs li.missing .path>span{color:#ffa386 !important;text-decoration:line-through}#page.home>.wrapper .files .buttons{margin:0}#page.home>.wrapper .about{display:grid;grid-template-rows:auto;gap:8px;height:100%;overflow:hidden;margin-left:16px;background-color:#2e333f;border-radius:4px}#page.home>.wrapper .about .buttons{display:grid;grid-template-rows:40px -webkit-min-content;grid-template-rows:40px min-content;grid-auto-rows:40px;margin:0}#page.home>.wrapper .about .buttons button{height:auto}#page.home>.wrapper .about .buttons button{justify-content:flex-start}#page.home>.wrapper .about .buttons button[href]{box-shadow:none;background-color:#2e333f;border-bottom:1px solid #1e2229}#page.home>.wrapper .about .buttons button[href]:hover{background-color:#545d73}#page.home>.wrapper .about .buttons button.update{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;justify-content:flex-start;align-content:center;overflow:hidden;padding-top:16px;padding-bottom:16px;text-align:left;white-space:initial;font-family:Roboto}#page.home>.wrapper .about .buttons button.update .icon{grid-row:2/3;align-self:flex-start;width:2.2em;height:2.2em;filter:brightness(0.6) sepia(1) hue-rotate(0.25rad) saturate(10)}#page.home>.wrapper .about .buttons button.update em{grid-column:1/3;font-style:normal;opacity:.8}#page.home>.wrapper .about .buttons button.update strong{grid-column:2/3;font-size:14pt;font-weight:normal;color:#fc0}.palette{display:grid;grid-template-rows:auto fit-content(24px);align-items:center;width:100%;height:100%;background-color:#1e2229;image-rendering:-moz-crisp-edges;image-rendering:pixelated}.palette.invalid{background:url("../img/stripes.png")}.palette.invalid .warning{color:#e34d00;margin:50px}.palette .toolOptions{display:flex;flex-wrap:nowrap;padding-top:1px}.palette .toolOptions>*+*{margin-left:10px}.palette .toolOptions>*{flex:0 1 auto}.palette .toolOptions label{display:flex;align-items:center;flex-wrap:nowrap;white-space:nowrap}.palette .toolOptions label input[type=checkbox]{flex:0 0 auto;width:24px;height:24px;margin-right:4px}.palette .toolOptions button{width:auto;padding-top:4px;text-transform:none;padding-bottom:4px;margin-bottom:3px}.palette ul.niceList{margin:0;padding:4px;width:100%;height:100%;border:0px}.palette ul.niceList li:not(.title):not(.subList){display:flex;min-height:16px;cursor:pointer;box-shadow:none;border:0;border-left:6px solid #fff}.palette ul.niceList li:not(.title):not(.subList):not(.active):hover{outline:1px solid #fff !important;outline-offset:-1px}.palette ul.niceList li.subList{padding:0}.palette ul.niceList li.entity{overflow:hidden}.palette ul.niceList li.entity .entityPreview{margin-right:8px}.palette ul.niceList li.color{padding-left:10px;overflow:hidden;line-height:32px}.palette ul.niceList li.active{outline:1px solid #fff !important;outline-offset:-1px}.palette ul.niceList.intGridValues .intGridValue{min-width:1.5em;text-align:center;border:1px solid #fff;border-radius:3px}.tileset{width:100%;height:100%;padding:1px;position:relative;overflow:hidden;box-sizing:border-box}.tileset .tilesetWrapper{width:100%;height:100%;position:relative;overflow:hidden;box-sizing:border-box;background-color:#1e2229}.tileset .tilesetWrapper[cursor=pan]{cursor:-webkit-grab;cursor:grab}.tileset .tilesetWrapper[cursor=pick]{cursor:pointer}.tileset .tilesetWrapper[cursor=forbidden]{cursor:not-allowed}.tileset .tilesetWrapper[cursor=paint]{cursor:crosshair}.tileset .selectionInfos{position:absolute;z-index:2;pointer-events:none;top:0;right:0;height:1em;font-size:.75em;padding:1px 4px;background-color:#1e2229;box-shadow:-2px 2px 4px #000;opacity:.7}.tileset canvas{image-rendering:-moz-crisp-edges;image-rendering:pixelated;outline:1px solid rgba(0,0,0,.4);box-shadow:0px 0px 16px #000;background-image:url("../img/transparency.png");background-repeat:repeat;background-color:#2e333f}.tileset.singleTileMode .selectionsWrapper .tileCursor.selection{border-width:1px;border-color:#fc0;border-style:solid;box-shadow:0px 0px 16px #e34d00}.tileset .highlightWrapper{pointer-events:none;position:relative}.tileset .highlightWrapper .line{position:absolute;z-index:1;min-width:1px;min-height:1px;outline:2px solid #f0f;outline-offset:-2px;border:1px solid #000;background-color:rgba(255,0,255,.2)}.tileset .selectionsWrapper,.tileset .cursorsWrapper{pointer-events:none;position:relative}.tileset .selectionsWrapper .tileCursor,.tileset .cursorsWrapper .tileCursor{position:absolute;z-index:1;min-width:1px;min-height:1px;box-sizing:border-box;pointer-events:none;border-color:rgba(255,255,255,.5);border-style:solid;border-width:0px}.tileset .selectionsWrapper .tileCursor.mouseOver,.tileset .cursorsWrapper .tileCursor.mouseOver{border-color:rgba(255,255,255,.25)}.tileset .selectionsWrapper .tileCursor.randomMode,.tileset .cursorsWrapper .tileCursor.randomMode{border-width:1px;border-color:rgba(144,238,144,.5);border-style:dotted}.tileset .selectionsWrapper .tileCursor.randomMode.selection,.tileset .cursorsWrapper .tileCursor.randomMode.selection{border-color:#90ee90;border-style:solid}.tileset .selectionsWrapper .tileCursor.stampMode.selection,.tileset .cursorsWrapper .tileCursor.stampMode.selection{border-color:#f3e4a4;border-style:solid}.tileset .selectionsWrapper .tileCursor.left,.tileset .cursorsWrapper .tileCursor.left{border-left-width:1px}.tileset .selectionsWrapper .tileCursor.right,.tileset .cursorsWrapper .tileCursor.right{border-right-width:1px}.tileset .selectionsWrapper .tileCursor.top,.tileset .cursorsWrapper .tileCursor.top{border-top-width:1px}.tileset .selectionsWrapper .tileCursor.bottom,.tileset .cursorsWrapper .tileCursor.bottom{border-bottom-width:1px}.tileset .selectionsWrapper .tileCursor.remove,.tileset .cursorsWrapper .tileCursor.remove{border-color:red}.tileset.tileTagger{display:grid;grid-template-columns:auto;grid-auto-flow:column;grid-auto-columns:-webkit-min-content;grid-auto-columns:min-content}.tileset.tileTagger .tools{display:grid;overflow:hidden;grid-template-rows:auto;width:130px}.tileset.tileTagger .tools ul.values{overflow-y:auto}.tileset.tileTagger .tools ul.values li{overflow:hidden;grid-template-columns:-webkit-min-content;grid-template-columns:min-content;grid-auto-flow:column;grid-auto-columns:auto;text-overflow:ellipsis;border:none;border-left:5px solid #fff;white-space:nowrap}.tileset.tileTagger .tools ul.values li.active{color:inherit;outline:2px solid #fff;outline-offset:-2px;box-shadow:none}.tileset.tileTagger .tools ul.values li.none{border:none;background-color:#2e333f;color:#737f9d}.window.singleTilePicker{z-index:99}.window.singleTilePicker .wrapper{padding:0}.window.singleTilePicker .wrapper .content{width:60vw;height:60vh}.entityInstanceEditor{position:absolute;z-index:10;width:350px;box-sizing:border-box;box-shadow:-4px 0px 16px rgba(0,0,0,.6);background-color:#1e2229;transition:opacity .3s}.entityInstanceEditor.faded{opacity:.3}.entityInstanceEditor .entityInstanceWrapper{overflow:auto;max-height:90vh;padding:10px;box-sizing:border-box}.entityInstanceEditor .resizeBar{position:absolute;top:0;left:0;width:4px;height:100%;background-color:#fc0;cursor:ew-resize}.entityInstanceEditor header{display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;width:100%;padding-bottom:4px;margin-bottom:4px;overflow:hidden;font-weight:bold;color:#fc0;border-bottom:1px solid #545d73}.entityInstanceEditor header a{display:inline-block;padding:2px 4px;font-size:8pt;color:#000;border-radius:2px;background-color:#fc0;cursor:pointer}.entityInstanceEditor header a:hover{background-color:#fff}.entityInstanceEditor .empty{color:#737f9d;font-style:italic}.entityInstanceEditor .doc{padding:8px 8px;margin-bottom:8px;color:#79dd8a;background-color:#273f2f;border-radius:3px;border:1px solid #5eab6b}.entityInstanceEditor .doc p{font-size:10pt;margin:0}.entityInstanceEditor .doc p+p{margin-top:4px}.entityInstanceEditor dl.extraInfos{width:auto;margin-bottom:8px;padding:8px;padding-bottom:0;border:1px solid #737f9d;border-left-width:2px;border-top:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px;background-color:#2e333f}.entityInstanceEditor dl.extraInfos:empty{display:none}.entityInstanceEditor dl.extraInfos dt{padding-top:0;min-width:80px;align-items:center}.entityInstanceEditor dl.extraInfos dd{color:#737f9d}.entityInstanceEditor dl.extraInfos dd.iid button.copy{flex:0 1 0px}.entityInstanceEditor dl.extraInfos dd.iid input.iid{color:#c1cfeb;font-size:8pt}.entityInstanceEditor dl.extraInfos dd.coords{align-items:center}.entityInstanceEditor dl.extraInfos dd.coords input{padding:3px;font-size:.8em}.entityInstanceEditor dl.extraInfos dd .unit{display:inline-block;padding:1px 6px;font-size:.9em;color:#737f9d;opacity:1;border:1px dashed #545d73;border-radius:4px;text-align:center;cursor:pointer}.entityInstanceEditor dl.extraInfos dd .unit:hover{border-color:#fc0;color:#fc0}.fieldDefsForm{width:100%;height:100%;overflow:hidden;display:grid;gap:8px;grid-template-columns:200px auto;grid-template-rows:40px auto}.fieldDefsForm .buttons{flex-wrap:nowrap}.fieldDefsForm button{white-space:nowrap}.fieldDefsForm ul.fieldList{overflow:auto;margin:0;grid-row:2/3}.fieldDefsForm ul.fieldList li{grid-template-columns:auto -webkit-min-content -webkit-min-content;grid-template-columns:auto min-content min-content;gap:0px 2px;overflow:hidden}.fieldDefsForm ul.fieldList li .name{width:100%;overflow:hidden}.fieldDefsForm ul.fieldList li .type{display:block;box-sizing:border-box;flex:0 1 0px;width:3em;padding:4px;overflow:hidden;color:#fff;font-weight:bold;font-size:8pt;text-align:center;border:1px solid #fff;border-radius:3px;box-shadow:0px 0px 4px rgba(0,0,0,.5)}.fieldDefsForm ul.fieldList li .type.array{border-left:2px solid #fff !important;border-right:2px solid #fff !important;border-top:none;border-bottom:none}.fieldDefsForm ul.fieldList:empty::before{content:"No custom field"}.fieldDefsForm .buttons{grid-column:1/2;grid-row:1/2}.fieldDefsForm dl.form{overflow:auto;grid-column:2/3;grid-row:1/3}.fieldDefsForm dl.form input.type{font-family:"Courier New",Courier,monospace}.fieldDefsForm dl.form dt>label{flex:0 0 100px}.fieldDefsForm dl.form button.convert,.fieldDefsForm dl.form .F_Path.file-select{padding:4px;flex:0 1 0px;align-self:stretch}.fieldDefsForm dl.form .allowedRefTags:not(:empty){margin-top:4px}.fieldDefsForm dl.form .defaultTile{display:flex;margin-left:8px}.fieldDefsForm dl.form .defaultTile>span{align-self:center;color:#737f9d}.fieldDefsForm dl.form .defaultTile .picker canvas.empty:not(:hover){border-color:#545d73}.fieldDefsForm dl.form .defaultTile .clear{flex:0 1 0px}.fieldDefsForm dl.form dd.displayMode select:first-of-type{flex:1 1 150px}.fieldDefsForm dl.form select#allowedRefs{flex:1 0 100%}.fieldDefsForm dl.form *[class*=F_],.fieldDefsForm dl.form *[class=NotArray],.fieldDefsForm dl.form *[class=Array]{display:none}.fieldDefsForm dl.form *[class*=F_]+dd,.fieldDefsForm dl.form *[class=NotArray]+dd,.fieldDefsForm dl.form *[class=Array]+dd{display:none}.fieldDefsForm dl.form.type-Array .Array,.fieldDefsForm dl.form.type-NotArray .NotArray,.fieldDefsForm dl.form.type-F_Int .F_int,.fieldDefsForm dl.form.type-F_Float .F_Float,.fieldDefsForm dl.form.type-F_Bool .F_Bool,.fieldDefsForm dl.form.type-F_Color .F_Color,.fieldDefsForm dl.form.type-F_Enum .F_Enum,.fieldDefsForm dl.form.type-F_Point .F_Point,.fieldDefsForm dl.form.type-F_Text .F_Text,.fieldDefsForm dl.form.type-F_String .F_String,.fieldDefsForm dl.form.type-F_EntityRef .F_EntityRef,.fieldDefsForm dl.form.type-F_Tile .F_Tile,.fieldDefsForm dl.form.type-F_Path .F_Path{display:flex}.fieldDefsForm dl.form.type-Array .Array:not(li),.fieldDefsForm dl.form.type-NotArray .NotArray:not(li),.fieldDefsForm dl.form.type-F_Int .F_int:not(li),.fieldDefsForm dl.form.type-F_Float .F_Float:not(li),.fieldDefsForm dl.form.type-F_Bool .F_Bool:not(li),.fieldDefsForm dl.form.type-F_Color .F_Color:not(li),.fieldDefsForm dl.form.type-F_Enum .F_Enum:not(li),.fieldDefsForm dl.form.type-F_Point .F_Point:not(li),.fieldDefsForm dl.form.type-F_Text .F_Text:not(li),.fieldDefsForm dl.form.type-F_String .F_String:not(li),.fieldDefsForm dl.form.type-F_EntityRef .F_EntityRef:not(li),.fieldDefsForm dl.form.type-F_Tile .F_Tile:not(li),.fieldDefsForm dl.form.type-F_Path .F_Path:not(li){display:inherit}.fieldDefsForm dl.form.type-Array .Array.info,.fieldDefsForm dl.form.type-NotArray .NotArray.info,.fieldDefsForm dl.form.type-F_Int .F_int.info,.fieldDefsForm dl.form.type-F_Float .F_Float.info,.fieldDefsForm dl.form.type-F_Bool .F_Bool.info,.fieldDefsForm dl.form.type-F_Color .F_Color.info,.fieldDefsForm dl.form.type-F_Enum .F_Enum.info,.fieldDefsForm dl.form.type-F_Point .F_Point.info,.fieldDefsForm dl.form.type-F_Text .F_Text.info,.fieldDefsForm dl.form.type-F_String .F_String.info,.fieldDefsForm dl.form.type-F_EntityRef .F_EntityRef.info,.fieldDefsForm dl.form.type-F_Tile .F_Tile.info,.fieldDefsForm dl.form.type-F_Path .F_Path.info{display:grid}.fieldDefsForm dl.form.type-Array .Array+dd,.fieldDefsForm dl.form.type-NotArray .NotArray+dd,.fieldDefsForm dl.form.type-F_Int .F_int+dd,.fieldDefsForm dl.form.type-F_Float .F_Float+dd,.fieldDefsForm dl.form.type-F_Bool .F_Bool+dd,.fieldDefsForm dl.form.type-F_Color .F_Color+dd,.fieldDefsForm dl.form.type-F_Enum .F_Enum+dd,.fieldDefsForm dl.form.type-F_Point .F_Point+dd,.fieldDefsForm dl.form.type-F_Text .F_Text+dd,.fieldDefsForm dl.form.type-F_String .F_String+dd,.fieldDefsForm dl.form.type-F_EntityRef .F_EntityRef+dd,.fieldDefsForm dl.form.type-F_Tile .F_Tile+dd,.fieldDefsForm dl.form.type-F_Path .F_Path+dd{display:flex}.fieldDefsForm dl.form.type-F_Path .F_Path.file-select{display:initial}dl.form.fieldInstanceEditor{padding:0;border:none;grid-template-columns:120px auto;-moz-column-gap:2px;column-gap:2px}dl.form.fieldInstanceEditor>dt{max-width:none}dl.form.fieldInstanceEditor>dt label{overflow:hidden}dl.form.fieldInstanceEditor dt.isDefault:not(:hover){color:#737f9d;font-style:italic;opacity:.9}dl.form.fieldInstanceEditor dt[error]{color:#e34d00 !important;opacity:1 !important;background-color:#791105 !important;border-left:4px solid #e34d00}dl.form.fieldInstanceEditor dt[error] label{background:rgba(0,0,0,0) !important;padding:5px;color:#ffa386}dl.form.fieldInstanceEditor dd[error]{background-color:#791105;opacity:1 !important}dl.form.fieldInstanceEditor dt:not(.isDefault){padding:4px;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;background-color:#737f9d}dl.form.fieldInstanceEditor dd:not(.isDefault){padding:2px;border-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px;background-color:#2e333f}dl.form.fieldInstanceEditor dd.isDefault:not(:hover){opacity:.35}dl.form.fieldInstanceEditor dd.isDefault:not(:hover) input[type=checkbox]{opacity:.35}dl.form.fieldInstanceEditor span.inputWithDefaultOption{display:flex;align-items:center;opacity:1 !important;padding:0 !important;flex:1 1 auto !important}dl.form.fieldInstanceEditor span.inputWithDefaultOption input[type=text]{width:100%;margin-right:0}dl.form.fieldInstanceEditor span.inputWithDefaultOption select{min-width:140px}dl.form.fieldInstanceEditor span.inputWithDefaultOption span.value{flex:1 1 auto}dl.form.fieldInstanceEditor dd.F_String span.inputWithDefaultOption input[type=text]{max-width:none}dl.form.fieldInstanceEditor input.slider:not(:disabled){box-sizing:border-box}dl.form.fieldInstanceEditor span.prefix,dl.form.fieldInstanceEditor span.suffix{color:#737f9d;padding:3px}dl.form.fieldInstanceEditor span.usingDefault{flex:0 0 0px;align-self:center;margin-left:10px;font-size:.75em;color:#737f9d;opacity:1}dl.form.fieldInstanceEditor .entityRef{flex:1 0 auto;font-size:8pt;color:#ff4;cursor:url("../cursors/followRef.svg") 16 16,zoom-in}dl.form.fieldInstanceEditor .entityRef:hover{border-color:#ff4}dl.form.fieldInstanceEditor [error] .entityRef{color:#ffa386;font-style:italic}dl.form.fieldInstanceEditor button.pickRef,dl.form.fieldInstanceEditor button.removeRef{flex:0 1 0px;padding:4px}dl.form.fieldInstanceEditor button.pickRef .icon,dl.form.fieldInstanceEditor button.removeRef .icon{width:16px;height:16px}dl.form.fieldInstanceEditor button.removePoint{flex:.2 1 0px}dl.form.fieldInstanceEditor button.locate,dl.form.fieldInstanceEditor button.fileSelectButton{flex:0 1 0px}dl.form.fieldInstanceEditor input[type=color]{width:100%}dl.form.fieldInstanceEditor canvas.tile{flex:0 0 auto;zoom:1.5}dl.form.fieldInstanceEditor button.clearTile{flex:0 1 24px;padding:4px}dl.form.fieldInstanceEditor input.fileNotFound{color:#fc0;border-color:#fc0;background-color:#791105;box-shadow:0px 0px 8px #e34d00}dl.form.fieldInstanceEditor .colorWrapper{display:grid;justify-items:center;align-items:center;box-sizing:border-box;min-width:64px;min-height:32px;padding:4px;color:#fff;text-shadow:0px 2px 2px #000,0px 0px 8px #000;border:1px solid #000;box-shadow:0px 0px 2px #000 inset;cursor:pointer;border-radius:2px}dl.form.fieldInstanceEditor .colorWrapper:hover{outline:1px solid #fc0;outline-offset:-1px}dl.form.fieldInstanceEditor .colorWrapper.usingDefault{background-image:url("../img/stripes.png")}dl.form.fieldInstanceEditor .colorWrapper input{visibility:hidden;width:0px !important;height:0px !important}dl.form.fieldInstanceEditor textarea{height:auto;overflow-x:auto;overflow-y:hidden;font-size:8.5pt}dl.form.fieldInstanceEditor a.usingDefault{display:flex;width:100%;text-decoration:none;border:1px dashed #545d73;padding:8px;align-items:center;background-color:#2e333f;background-image:url("../img/stripes.png")}dl.form.fieldInstanceEditor a.usingDefault.required{border-color:#fc0;box-shadow:0px 0px 4px #e34d00,0px 0px 8px #e34d00 inset;background-color:#791105}dl.form.fieldInstanceEditor a.usingDefault.required span.value{text-shadow:none;color:#fc0 !important}dl.form.fieldInstanceEditor a.usingDefault.required span.label{text-shadow:none;color:#fc0 !important}dl.form.fieldInstanceEditor a.usingDefault.checkbox{padding:0;padding-right:8px}dl.form.fieldInstanceEditor a.usingDefault span{opacity:1;text-shadow:2px 0px 4px #2e333f,0px 2px 4px #2e333f,-2px 0px 4px #2e333f,0px -2px 4px #2e333f}dl.form.fieldInstanceEditor a.usingDefault span.value{flex:1 1 auto;color:#fff;font-style:italic}dl.form.fieldInstanceEditor a.usingDefault span.label{font-size:.75em;font-style:italic;color:#737f9d}dl.form.fieldInstanceEditor a.usingDefault:hover{border-color:#fc0}dl.form.fieldInstanceEditor select.usingDefault{border:1px dashed #545d73;padding:8px;color:#fff;background-color:#2e333f;background-image:url("../img/stripes.png")}dl.form.fieldInstanceEditor button.usingDefault:not(.required){background-image:url("../img/stripes.png")}dl.form.fieldInstanceEditor button.required{outline:1px solid #fc0;box-shadow:0px 0px 32px #e34d00}dl.form.fieldInstanceEditor span.point{padding:4px;align-self:center;font-family:"Courier New",Courier,monospace;color:#c1cfeb;font-size:10pt;border-radius:6px;background-color:#2e333f}dl.form.fieldInstanceEditor .F_Path input{cursor:pointer}dl.form.fieldInstanceEditor .F_Path button{flex:0 1 0px;padding:0 4px;align-self:stretch}dl.form.fieldInstanceEditor .F_Path button .icon{width:1.3em}dl.form.fieldInstanceEditor div.array{display:grid;grid-template-columns:auto;gap:2px;box-sizing:border-box;margin-left:4px;padding:8px;padding-right:2px;overflow-x:hidden;overflow-y:auto;border-left:1px solid #fff;border-top-left-radius:8px;border-bottom-left-radius:8px}dl.form.fieldInstanceEditor div.array.empty{padding:2px}dl.form.fieldInstanceEditor div.array.empty li.compact{display:none}dl.form.fieldInstanceEditor div.array button.add{padding:0}dl.form.fieldInstanceEditor div.array ul.values{overflow:hidden}dl.form.fieldInstanceEditor div.array ul.values>li{display:flex;flex-wrap:nowrap;overflow:hidden;height:33px}dl.form.fieldInstanceEditor div.array ul.values>li.F_Point{height:auto}dl.form.fieldInstanceEditor div.array ul.values>li span:not([class]){align-self:center;padding-left:2px;padding-right:2px;color:#737f9d}dl.form.fieldInstanceEditor div.array ul.values>li .sortHandle{flex:0 1 0px;background-color:#545d73}dl.form.fieldInstanceEditor div.array ul.values>li button{flex:0;align-self:center;padding:4px 1px}dl.form.fieldInstanceEditor div.array ul.values>li button .icon{width:20px;height:20px}dl.form.fieldInstanceEditor div.array ul.values>li button.reset{margin-left:10px}dl.form.fieldInstanceEditor div.array ul.values>li button.remove{flex:0 1 16px}dl.form.fieldInstanceEditor div.array ul.values>li button.missingRef{padding:4px;font-size:9pt;white-space:nowrap}dl.form.fieldInstanceEditor div.array ul.values>li select{width:100%;padding:0}dl.form.fieldInstanceEditor div.array ul.values>li .colorWrapper,dl.form.fieldInstanceEditor div.array ul.values>li input[type=text]{width:100%}dl.form.fieldInstanceEditor div.array ul.values>li.compact{color:#737f9d;font-size:9pt;padding-bottom:4px}dl.form.fieldInstanceEditor div.array button.remove{padding:0;margin:0}.window.panel button.delete{flex:0 0 32px}.window.panel.editLayerDefs .content,.window.panel.editTilesetDefs .content{display:grid;width:960px;height:100%;justify-content:stretch;-moz-column-gap:16px;column-gap:16px;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;grid-template-columns:250px auto}.window.panel.editLayerDefs .content .help,.window.panel.editTilesetDefs .content .help{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.window.panel.editLayerDefs .content .path,.window.panel.editTilesetDefs .content .path{flex:1 0 100%;box-sizing:border-box}.window.panel.editLayerDefs .content>h2:first-of-type,.window.panel.editTilesetDefs .content>h2:first-of-type{grid-column:1/3}.window.panel.editLayerDefs .content>.header,.window.panel.editTilesetDefs .content>.header{grid-column:1/3}.window.panel.editLayerDefs .content>.mainList,.window.panel.editTilesetDefs .content>.mainList{display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto}.window.panel.editLayerDefs .content>.mainList .error,.window.panel.editTilesetDefs .content>.mainList .error{padding:2px 8px;font-size:8pt}.window.panel.editProject .content{display:grid;grid-template-columns:auto;grid-template-rows:repeat(3, -webkit-min-content);grid-template-rows:repeat(3, min-content);gap:16px}.window.panel.editProject .content dl.form>dt{max-width:none;width:250px}.window.panel.editProject .content dl.form>dt>label:first-of-type{max-width:none}.window.panel.editProject .content a.defaultLevelNamePattern{flex:0 1 auto;margin-left:8px;align-self:center;font-size:9pt;cursor:pointer}.window.panel.editProject .content a.defaultLevelNamePattern:hover{color:#fff}.window.panel.editProject .content a[href]{margin-left:8px;flex-grow:0}.window.panel.editProject .content .collapser.collapsed{margin-bottom:16px}.window.panel.editProject .content .form.advanced{padding:8px;box-sizing:border-box;margin-top:-16px;border:1px solid #545d73}.window.panel.editProject .content .form.advanced ul.advFlags{padding-bottom:48px}.window.panel.editProject .content .form.advanced ul.advFlags li{display:grid;-moz-column-gap:8px;column-gap:8px;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;align-items:center;margin-bottom:8px}.window.panel.editProject .content .form.advanced ul.advFlags li input{cursor:pointer}.window.panel.editProject .content .form.advanced ul.advFlags li label{margin:0;text-transform:none;font-weight:bold;color:#fff;cursor:pointer}.window.panel.editProject .content .form.advanced ul.advFlags li .desc{grid-column:2/3;font-size:.85em;color:#c1cfeb}.window.panel.editProject .content .form.advanced ul.advFlags li .desc p{margin:0}.window.panel.editProject .content .form.advanced ul.advFlags li .desc p+p{margin-top:4px}.window.panel.editProject .content dd.imageExportOnly{display:none}.window.panel.editProject .content dd.imageExportMode{position:relative;display:grid;grid-template-columns:-webkit-min-content auto -webkit-min-content;grid-template-columns:min-content auto min-content;gap:4px}.window.panel.editProject .content dd.imageExportMode .locate{grid-column:1/2}.window.panel.editProject .content dd.imageExportMode select{grid-column:2/4;width:100%}.window.panel.editProject .content dd.imageExportMode input[type=text]{grid-column:1/3;width:auto}.window.panel.editProject .content dd.imageExportMode .example{grid-row:3/4;grid-column:1/4;text-align:right;color:#79dd8a;font-family:monospace}.window.panel.editProject .content dd.imageExportMode .pngPatternEditor{grid-column:1/4}.window.panel.editProject .content dd.customCommands{display:block}.window.panel.editProject .content dd.customCommands ul{margin-bottom:4px}.window.panel.editProject .content dd.customCommands ul li{display:flex;flex-wrap:nowrap}.window.panel.editProject .content dd.customCommands ul li select{flex:0 1 0px}.window.panel.editProject .content dd.customCommands ul li input[type=text]{flex-grow:1;font-size:8pt;font-family:"Courier New",Courier,monospace}.window.panel.editProject .content dd.customCommands ul li button{flex:0 1 0px;padding-left:0;padding-right:0}.window.panel.editProject .content .trusted,.window.panel.editProject .content .untrusted{font-size:9pt;padding:8px;margin-bottom:4px;border:1px solid #545d73;border-radius:3px}.window.panel.editProject .content .trusted a,.window.panel.editProject .content .untrusted a{cursor:pointer}.window.panel.editProject .content .trusted a:hover,.window.panel.editProject .content .untrusted a:hover{color:#fff}.window.panel.editProject .content .trusted{border-color:#cfdd40}.window.panel.editProject .content .untrusted{border-color:#e34d00}.window.panel.editProject .content h2{margin-bottom:0}.window.panel.editProject .content .buttons.main{margin-bottom:10px}.window.panel.editEnumDefs .content{display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;grid-template-columns:250px auto;-moz-column-gap:16px;column-gap:16px;height:100%}.window.panel.editEnumDefs .content .help{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.window.panel.editEnumDefs .content>h2:first-of-type{grid-column:1/3}.window.panel.editEnumDefs .content .header{grid-column:1/3}.window.panel.editEnumDefs .content .enumList{grid-column:1/2;display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;overflow:hidden}.window.panel.editEnumDefs .content .enumList ul{overflow:auto}.window.panel.editEnumDefs .content .enumList ul li.missing{background-color:#791105}.window.panel.editEnumDefs .content .enumFormWrapper{overflow-y:hidden;display:grid;grid-template-columns:100%;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto}.window.panel.editEnumDefs .content .enumFormWrapper.externalEnum dl.enumForm .noExternal{display:none}.window.panel.editEnumDefs .content .enumFormWrapper.externalEnum dl.enumForm dt.onlyExternal{display:grid}.window.panel.editEnumDefs .content .enumFormWrapper.externalEnum dl.enumForm ul.enumValues li{grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto}.window.panel.editEnumDefs .content .enumFormWrapper.externalEnum dl.enumForm .path{padding:5px;text-align:left;border:1px solid #545d73}.window.panel.editEnumDefs .content .enumFormWrapper.externalEnum dl.enumForm .exploreTo{margin-left:4px;padding:6px}.window.panel.editEnumDefs .content .enumFormWrapper dl.enumForm button.createEnumValue{flex:1 0 100%}.window.panel.editEnumDefs .content .enumFormWrapper dl.enumForm .onlyExternal{display:none}.window.panel.editEnumDefs .content .enumFormWrapper.externalEnum .valuesWrapper{grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper{display:grid;padding-right:1px;overflow-y:hidden;grid-template-rows:-webkit-min-content -webkit-min-content auto;grid-template-rows:min-content min-content auto}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper ul.enumValues{overflow-x:hidden;overflow-y:auto}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper ul.enumValues.external .sortHandle{display:none}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper ul.enumValues.external li{grid-template-columns:32px 32px auto}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper ul.enumValues li{display:grid;gap:3px;grid-template-columns:-webkit-min-content 32px 32px auto 32px;grid-template-columns:min-content 32px 32px auto 32px;grid-auto-flow:column;margin-bottom:4px}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper ul.enumValues li input[type=color]{width:auto;height:32px;border:1px solid #fc0}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper ul.enumValues li input[type=color]:hover{border-color:#fff}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper ul.enumValues li input[type=text]{padding:3px}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper ul.enumValues li button{padding:0}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper>h2{margin-bottom:8px}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper>button{margin-bottom:4px}.window.panel.editLayerDefs dl.form{overflow-x:hidden;padding-right:4px;overflow-y:auto;grid-template-columns:160px auto}.window.panel.editLayerDefs dl.form>dt{max-width:none}.window.panel.editLayerDefs dl.form .advanced{margin-top:16px}.window.panel.editLayerDefs dl.form .advanced button{flex:0 1 auto;min-height:2.5em}.window.panel.editLayerDefs .mainList ul li{grid-template-columns:-webkit-min-content auto -webkit-min-content;grid-template-columns:min-content auto min-content}.window.panel.editLayerDefs .mainList ul li.hidden{font-style:italic;opacity:.8}.window.panel.editLayerDefs .mainList ul li.hidden:not(.active){color:#ffa386}.window.panel.editLayerDefs .mainList ul li .icon{width:1.8em;height:1.8em}.window.panel.editLayerDefs .mainList ul:empty::before{content:"No layer"}.window.panel.editLayerDefs .typeIcon .icon{width:2.5em;height:2.5em}.window.panel.editLayerDefs button.editAutoRules{flex-grow:0;white-space:nowrap;margin-left:2px}.window.panel.editLayerDefs ul.intGridValues li{position:relative}.window.panel.editLayerDefs ul.intGridValues li+li{margin-top:8px}.window.panel.editLayerDefs ul.intGridValues li.value{display:grid;align-items:center;grid-template-columns:-webkit-min-content 2em auto 64px -webkit-min-content;grid-template-columns:min-content 2em auto 64px min-content;gap:4px}.window.panel.editLayerDefs ul.intGridValues li.value input[type=color]{width:100%;height:100%}.window.panel.editLayerDefs ul.intGridValues li.value input.name{text-align:center;font-style:italic}.window.panel.editLayerDefs ul.intGridValues li.value span.id{display:grid;min-width:1.5em;min-height:1.5em;align-content:center;text-align:center;font-weight:bold;font-size:1.3em;border:1px solid #fff;border-radius:3px}.window.panel.editLayerDefs ul.intGridValues li.value button.remove{align-self:stretch;padding:0;width:28px}.window.panel.editLayerDefs ul.intGridValues li.add button{padding:0px;text-align:center;font-weight:bold;font-size:200%;text-decoration:none;color:#fff}.window.panel.editLayerDefs dl.form .IntGrid,.window.panel.editLayerDefs dl.form .IntGridAutoLayer,.window.panel.editLayerDefs dl.form .AutoLayer,.window.panel.editLayerDefs dl.form .Tiles,.window.panel.editLayerDefs dl.form .Entities{display:none}.window.panel.editLayerDefs dl.form.type-IntGrid .IntGrid,.window.panel.editLayerDefs dl.form.type-IntGridAutoLayer .IntGridAutoLayer,.window.panel.editLayerDefs dl.form.type-AutoLayer .AutoLayer,.window.panel.editLayerDefs dl.form.type-Entities .Entities,.window.panel.editLayerDefs dl.form.type-Tiles .Tiles{display:grid}.window.panel.editLayerDefs dl.form.type-IntGrid .IntGrid:not(dt),.window.panel.editLayerDefs dl.form.type-IntGridAutoLayer .IntGridAutoLayer:not(dt),.window.panel.editLayerDefs dl.form.type-AutoLayer .AutoLayer:not(dt),.window.panel.editLayerDefs dl.form.type-Entities .Entities:not(dt),.window.panel.editLayerDefs dl.form.type-Tiles .Tiles:not(dt){display:flex}body.sorting ul.collapsedSortTarget{display:block !important}.window.panel.worldPanel{width:auto}.window.panel.worldPanel .wrapper{padding:0;box-shadow:none;background-color:#1e2229;overflow:hidden}.window.panel.worldPanel .scroller{padding:16px;overflow-y:auto}.window.panel.worldPanel .content{width:330px;height:100%;display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto}.window.panel.worldPanel .content h2:first-of-type{margin:0}.window.panel.worldPanel .content .worldSettings h2,.window.panel.worldPanel .content .currentLevelInstance h2{margin-bottom:8px}.window.panel.worldPanel .content .levelFields{display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto}.window.panel.worldPanel .content .worldSettings{margin-bottom:32px}.window.panel.worldPanel .content .worldSettings .buttons{margin-bottom:16px}.window.panel.worldPanel .content .worldSettings .buttons button:not(.running) span.running{display:none}.window.panel.worldPanel .content .worldSettings .buttons button.running{outline:1px solid #fc0;box-shadow:0px 0px 16px #e34d00;opacity:.5}.window.panel.worldPanel .content .worldSettings .buttons button.running span.ready{display:none}.window.panel.worldPanel .content .worldSettings dl.form{padding-bottom:0}.window.panel.worldPanel .content .worldSettings dl.form .GridVania,.window.panel.worldPanel .content .worldSettings dl.form .LinearHorizontal,.window.panel.worldPanel .content .worldSettings dl.form .LinearVertical,.window.panel.worldPanel .content .worldSettings dl.form .Free{display:none}.window.panel.worldPanel .content .worldSettings dl.form.layout-GridVania .GridVania,.window.panel.worldPanel .content .worldSettings dl.form.layout-LinearHorizontal .LinearHorizontal,.window.panel.worldPanel .content .worldSettings dl.form.layout-LinearVertical .LinearVertical,.window.panel.worldPanel .content .worldSettings dl.form.layout-Free .Free{display:flex}.window.panel.editLevelFieldDefs{width:auto}.window.panel.editLevelFieldDefs .content{display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;gap:8px;width:750px;height:100%}.window.panel.editLevelFieldDefs .content h2{margin-bottom:8px}.window.panel.levelInstancePanel{width:auto}.window.panel.levelInstancePanel .wrapper{overflow-x:hidden}.window.panel.levelInstancePanel .content{display:grid;grid-template-rows:repeat(4, -webkit-min-content) auto;grid-template-rows:repeat(4, min-content) auto;gap:8px;width:650px;height:100%}.window.panel.levelInstancePanel .content a.editFields{display:inline-block;margin-left:8px;padding:2px 4px;font-size:9pt;color:#000;background-color:#fc0;border-radius:3px;cursor:pointer;vertical-align:middle}.window.panel.levelInstancePanel .content a.editFields:hover{background-color:#fff}.window.panel.levelInstancePanel .content dl#levelForm{grid-template-columns:110px auto}.window.panel.levelInstancePanel .content dl#levelForm dt{min-width:none;max-width:none}.window.panel.levelInstancePanel .content dl#levelForm input#identifier{font-size:14pt}.window.panel.levelInstancePanel .content dl#levelForm .bg{display:grid;align-items:stretch}.window.panel.levelInstancePanel .content dl#levelForm .bg button.pick{width:0}.window.panel.levelInstancePanel .content dl#levelForm .bg .pos{display:grid;grid-template-columns:160px -webkit-min-content;grid-template-columns:160px min-content;justify-content:stretch}.window.panel.levelInstancePanel .content dl#levelForm .bg .pos .pivotEditor .grid{grid-template-columns:repeat(3, 14px);grid-template-rows:repeat(3, 14px)}.window.panel.levelInstancePanel .content dl#levelForm .bg .pos select{font-size:9pt}.levelInstanceForm.disabled{background-image:url("../img/stripesLight.png");background-repeat:repeat}.levelInstanceForm.disabled #levelProps dt,.levelInstanceForm.disabled #levelProps dd,.levelInstanceForm.disabled .fieldInstanceEditor dt,.levelInstanceForm.disabled .fieldInstanceEditor dd{opacity:.3}.levelInstanceForm.disabled #levelProps *,.levelInstanceForm.disabled .fieldInstanceEditor *{pointer-events:none}.levelInstanceForm .buttons{flex-wrap:nowrap;padding-bottom:16px;margin-bottom:16px;border-bottom:1px dashed #545d73}.levelInstanceForm .buttons button.delete{flex:0 1 0px}.levelInstanceForm .buttons button{white-space:nowrap}.levelInstanceForm a.editFields{display:inline-block;margin-left:8px;padding:2px 4px;font-size:9pt;color:#000;background-color:#fc0;border-radius:3px;cursor:pointer;vertical-align:middle}.levelInstanceForm a.editFields:hover{background-color:#fff}.levelInstanceForm dl#levelProps{grid-template-columns:110px auto}.levelInstanceForm dl#levelProps>dt{min-width:0;max-width:none}.levelInstanceForm dl#levelProps #iid{font-size:.8em}.levelInstanceForm dl#levelProps .bg{display:grid;align-items:stretch}.levelInstanceForm dl#levelProps .bg button.pick{width:0}.levelInstanceForm dl#levelProps .bg .pos{display:grid;grid-template-columns:160px -webkit-min-content;grid-template-columns:160px min-content;justify-content:stretch}.levelInstanceForm dl#levelProps .bg .pos .pivotEditor .grid{grid-template-columns:repeat(3, 14px);grid-template-rows:repeat(3, 14px)}.levelInstanceForm dl#levelProps .bg .pos select{font-size:9pt}.levelInstanceForm dl#levelProps .depth{align-items:stretch}.levelInstanceForm dl#levelProps .depth input{text-align:center}.levelInstanceForm dl#levelProps .depth .depthButtons{display:grid;grid-template-rows:repeat(2, 20px);max-width:32px}.levelInstanceForm dl#levelProps .depth .depthButtons button{padding-top:0px;padding-bottom:0px}.levelInstanceForm dl#levelProps .depth .depthButtons button .icon{height:20px}.levelInstanceForm dl.form.fieldInstanceEditor{margin-left:-8px;margin-right:-8px;padding:8px;border-radius:4px}.levelInstanceForm dl.form.fieldInstanceEditor:not(:empty){box-shadow:0px 0px 16px #000;background-color:#2e333f}.levelInstanceForm dl.form.fieldInstanceEditor:empty{padding-top:32px;padding-bottom:32px;color:#737f9d;text-align:center;grid-template-columns:auto;background-image:url("../img/stripes.png")}.levelInstanceForm dl.form.fieldInstanceEditor:empty::before{content:"No custom field."}.levelInstanceForm h2{margin-top:16px;margin-bottom:8px}.levelInstanceForm a.reset{flex:0 0 auto;align-self:center;font-size:9pt;text-decoration:underline;margin-left:8px;padding:2px 4px;border-radius:3px;cursor:pointer}.levelInstanceForm a.reset:hover{text-decoration:none;color:#000;background-color:#fc0}.window.panel.editAllAutoLayerRules{width:auto}.window.panel.editAllAutoLayerRules .wrapper{padding:8px}.window.panel.editAllAutoLayerRules .content{display:grid;grid-template-rows:-webkit-min-content -webkit-min-content auto;grid-template-rows:min-content min-content auto;gap:8px;height:100%;width:340px}.window.panel.editAllAutoLayerRules .content h2:first-of-type{margin:-8px;margin-bottom:8px}.window.panel.editAllAutoLayerRules .content h2:first-of-type>.icon{width:1.1em;height:1.1em}.window.panel.editAllAutoLayerRules .content h2:first-of-type button.close{padding:3px}.window.panel.editAllAutoLayerRules .content header{display:flex;width:100%;align-items:stretch;flex-wrap:wrap}.window.panel.editAllAutoLayerRules .content header>*+*{margin:1px}.window.panel.editAllAutoLayerRules .content header button{flex:1 1 0px;white-space:nowrap;font-size:9pt}.window.panel.editAllAutoLayerRules .content header button.seed{flex:0 1 0px}.window.panel.editAllAutoLayerRules .content header label{display:flex;flex-wrap:nowrap;align-items:center;padding-right:4px;font-size:9pt;color:#737f9d;background-color:#1e2229;border-radius:3px;cursor:pointer}.window.panel.editAllAutoLayerRules .content header label input{cursor:pointer}.window.panel.editAllAutoLayerRules .content header label:hover{color:#000;background-color:#fc0}.window.panel.editAllAutoLayerRules .content header select{width:100%}.window.panel.editAllAutoLayerRules .content ul.ruleGroups{border:1px solid #545d73;overflow-y:auto;background-color:#1e2229}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li:last-child{margin-bottom:30px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups li.placeholder{grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;display:grid;overflow:hidden;word-wrap:nowrap;cursor:not-allowed;background-image:url("../img/stripes.png")}.window.panel.editAllAutoLayerRules .content ul.ruleGroups li.placeholder strong{font-weight:bold}.window.panel.editAllAutoLayerRules .content ul.ruleGroups li.placeholder em{color:#737f9d}.window.panel.editAllAutoLayerRules .content ul.ruleGroups li div.warning{grid-column:1/99;margin:0}.window.panel.editAllAutoLayerRules .content ul.ruleGroups:empty{background-image:url("../img/stripes.png");box-shadow:0px 0px 16px rgba(0,0,0,.4) inset;text-align:center;padding-top:30px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li{position:relative;display:grid;grid-template-columns:28px auto;background-color:#2e333f;margin-bottom:12px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li .sortHandle{grid-column:1/2}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header{grid-column:2/3}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup{grid-column:1/3}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li>.sortHandle{opacity:1;border-radius:0;background-color:#545d73}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li>.sortHandle:hover{background-color:#fc0 !important}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.optional{border-color:#1a7bc3}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.optional header{background-color:#1a7bc3}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.highlight header{outline:1px solid #f0f;background-color:#707}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.inactive header{opacity:.5}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.inactive header .name:hover .text{color:#c1cfeb}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.inactive:not(.optional) header{background-color:#1e2229;background-image:url("../img/stripes.png")}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.inactive:not(.optional) header .name{color:#737f9d}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.inactive.optional header{background-color:#0f4973;background-image:url("../img/stripes.png")}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.inactive ul.ruleGroup{opacity:.66}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.inactive>.sortHandle{background-color:#1e2229}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.inactive>.sortHandle:hover{background-color:#fc0 !important}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.collapsed{margin-top:0;margin-bottom:1px;padding:0;box-shadow:none;border:0}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.collapsed header .name{cursor:pointer}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.collapsed ul.ruleGroup{display:none}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.collapsedSortTarget{display:none;position:absolute;padding:8px;top:0;left:0;bottom:0;right:0;overflow:hidden}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.collapsedSortTarget:not(:empty){outline:2px solid #fc0}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.collapsedSortTarget *{visibility:hidden}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header{display:grid;grid-template-columns:auto;grid-auto-flow:column;grid-auto-columns:-webkit-min-content;grid-auto-columns:min-content;align-items:stretch;width:100%;height:32px;background-color:#545d73}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header div.name{display:grid;grid-template-columns:20px auto;align-content:center;gap:4px;width:100%;height:100%;font-weight:bold;overflow-x:hidden;white-space:nowrap;cursor:pointer}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header div.name .text{overflow:hidden;text-overflow:ellipsis}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header input.name{display:none;width:90%}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header .optional{align-self:center;display:flex;align-items:center;padding:1px 4px;color:#fff;font-size:8pt;height:1.3em;border-radius:3px;border:1px solid #00f1ff;background-color:#1e94c5;box-shadow:0px 0px 16px #00f1ff;cursor:help}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header button{padding:3px;margin:0;min-width:24px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header button.add{font-weight:bold;font-size:12pt}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header button:hover.active{background-color:#737f9d !important}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header button.off{opacity:.3;background-color:#e34d00}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header button.active .icon{width:100%}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header .context{border-radius:0;border-width:0}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li:not(.optional) header .name:hover{background-color:#737f9d}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.optional header .name:hover{background-color:#219df9}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup{position:relative;display:grid;align-items:flex-start;grid-template-columns:auto;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content;gap:2px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup:empty{background-image:url("../img/stripes.png");box-shadow:0px 0px 16px rgba(0,0,0,.4) inset;text-align:center;padding-top:30px;padding-bottom:30px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup:empty::before{content:"Use [+] above to add a new rule"}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.wizardHelp{padding:8px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.wizardHelp .help{margin-top:8px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.wizardHelp a.advanced{display:block;padding:4px;font-size:8pt;text-align:center}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.wizardHelp a.advanced:hover{color:#fff}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule{position:relative;display:grid;box-sizing:border-box;gap:2px;grid-template-columns:-webkit-min-content 80px auto repeat(2, -webkit-min-content);grid-template-columns:min-content 80px auto repeat(2, min-content);align-items:center;padding:2px;background-color:#1e2229;border-radius:3px;border:1px dashed rgba(0,0,0,0)}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule.wizard{filter:saturate(0.2) blur(2px);pointer-events:none}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule.highlight{outline:1px solid #f0f;background-color:#707}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule.inactive{background-image:url("../img/stripes.png");background-color:#791105}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule button.insert{position:absolute;z-index:2;display:none;right:0px;padding:0;width:18px;height:18px;font-weight:bold;opacity:.6}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule button.insert .icon{width:100%;height:100%}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule button.insert:hover{opacity:1}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule button.insert.before{top:-10px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule button.insert.after{bottom:-10px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule:hover button.insert{display:block}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule.last{border-color:#fff}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options{display:grid;grid-template-columns:repeat(6, 22px);gap:2px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options>*{padding:3px;background-color:#2e333f;border-radius:4px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options>*:hover{background-color:#545d73}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .random{grid-column:1/5;display:flex;flex-wrap:nowrap;align-items:center}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .random input[name=random]{width:40px;font-size:9pt;padding-top:1px;padding-bottom:1px;background-color:#2e333f}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .random input[name=random]:focus,.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .random input[name=random].editing{background-color:#1e2229}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .random input[name=random].max{color:#545d73}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .random input[name=random].off{color:#e34d00}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .random span{font-size:8pt;color:#737f9d;padding-right:8px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .modulo{display:grid;align-items:center;grid-column:5/7;font-size:9pt;text-align:center;white-space:nowrap;cursor:pointer}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .modulo.default{color:#737f9d}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .modulo:hover{color:#1e2229;background-color:#fc0}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options input[name=xModulo]{grid-column:5/6}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options input[name=yModulo]{grid-column:6/7}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options input[name=xModulo],.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options input[name=yModulo]{font-size:9pt;text-align:center;color:#79dd8a}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options input[name=xModulo]:not(.default),.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options input[name=yModulo]:not(.default){border:1px solid #cfdd40}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options input[name=xModulo].default,.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options input[name=yModulo].default{color:#737f9d}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a{flex:.5 1 auto;display:grid;align-content:center;justify-content:center;border:1px solid #545d73;text-align:center;font-size:8pt;cursor:pointer}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a:hover{color:#fff !important}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a.on{color:#cfdd40;font-weight:bold;text-shadow:0px 0px 4px #cfdd40;border-color:#cfdd40}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a.off{opacity:.4;color:#e34d00;font-style:italic;border:1px dashed #e34d00;background-color:#791105}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a.off .icon{opacity:.5}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a.on span.off{display:none}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a.off span.on{display:none}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a.break.on{color:#009dff;border-color:#009dff;text-shadow:0px 0px 4px #009dff}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a.active.on{border-color:#fc0}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule button{padding:4px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule input[type=text]{border-color:rgba(0,0,0,0)}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule input[type=text]:focus{border-color:#fc0}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule>.preview{margin-right:8px;cursor:pointer;display:grid;justify-items:center}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule>.preview .error{display:grid;justify-content:center;align-content:center;box-sizing:border-box;padding:10px;min-width:32px;min-height:32px;color:#e34d00;background-color:#791105;background-image:url("../img/stripes.png");border:1px solid #e34d00}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule>.preview .autoPatternGrid{border-color:#2e333f}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule>.preview:hover{outline:1px solid #fc0}.autoPatternGrid{display:grid;gap:2px}.autoPatternGrid.size-1{grid-template-columns:repeat(1, auto)}.autoPatternGrid.size-3{grid-template-columns:repeat(3, auto)}.autoPatternGrid.size-5{grid-template-columns:repeat(5, auto)}.autoPatternGrid.size-7{grid-template-columns:repeat(7, auto)}.autoPatternGrid.preview{gap:1px;border:1px solid #545d73}.autoPatternGrid.preview.size-1 .cell{zoom:1}.autoPatternGrid.preview.size-3 .cell{zoom:.5}.autoPatternGrid.preview.size-5 .cell{zoom:.3}.autoPatternGrid.preview.size-7 .cell{zoom:.2}.autoPatternGrid.preview .cell{opacity:.5}.autoPatternGrid.preview .cell.empty{background:#2e333f;box-shadow:none;border:none}.autoPatternGrid.preview .cell.center{opacity:1}.autoPatternGrid.preview .cell.center canvas{box-sizing:border-box;padding:2px;background-color:#000;border:1px solid #fff;border-radius:3px;box-shadow:0px 2px 4px #000}.autoPatternGrid.preview .cell.center canvas.multi{box-shadow:2px 2px 0px #000,3px 3px 0px #fff}.autoPatternGrid.preview.size-3 .cell.center canvas{zoom:2;margin-left:-50%;margin-top:-50%}.autoPatternGrid.preview.size-5 .cell.center canvas{zoom:2;margin-left:-50%;margin-top:-50%}.autoPatternGrid.preview.size-7 .cell.center canvas{zoom:3;margin-left:-75%;margin-top:-75%}.autoPatternGrid .stampPreview{position:absolute;z-index:10;box-sizing:border-box;box-shadow:0px 0px 4px #000 inset,0px 0px 8px #000 inset,0px 0px 8px #000;border:3px solid #fc0;outline:2px solid #000;pointer-events:none}.autoPatternGrid .cell{display:grid;position:relative;justify-content:center;align-content:center;width:32px;height:32px;border:1px dotted #545d73;background-color:#2e333f;box-shadow:0px 0px 2px #000 inset;border-radius:4px}.autoPatternGrid .cell.editable{cursor:pointer}.autoPatternGrid .cell.editable:hover{border-color:#fc0}.autoPatternGrid .cell.empty{box-shadow:0px 2px 4px #000 inset;background-image:url("../img/stripes.png");border-radius:0px}.autoPatternGrid .cell.not{outline:2px solid #e34d00;outline-offset:-5px}.autoPatternGrid .cell.anything:not(.not){font-size:16pt;font-weight:bold;outline:1px solid #fff;outline-offset:-3px}.autoPatternGrid .cell.anything:not(.not)::before{content:"?"}.autoPatternGrid .cell.anything.not{color:#e34d00;font-size:14pt;outline:2px solid #e34d00;outline-offset:-4px}.autoPatternGrid .cell .cellIcon{width:32px;height:32px;position:absolute;top:0;left:0;z-index:1;background-repeat:no-repeat;background-position:center center;image-rendering:-moz-crisp-edges;image-rendering:pixelated}.autoPatternGrid .cell .cellIcon.cross{background-image:url("../icons/cross.png");background-size:50%}.autoPatternGrid .cell .cellIcon.nothing{background-image:url("../icons/prohibited.svg");background-size:70%;filter:brightness(0.6) sepia(1) hue-rotate(-0.5rad) saturate(10)}.autoPatternGrid .cell.error{background-color:#f0f;border-color:#e34d00;outline:2px solid #e34d00;outline-offset:-4px;font-size:10pt}.autoPatternGrid .cell.error::before{content:"ERR"}.autoPatternGrid .cell.center{border:1px dashed #fff;border-radius:4px}.autoPatternGrid .cell canvas{pointer-events:none;position:absolute;z-index:2;image-rendering:-moz-crisp-edges;image-rendering:pixelated}.window.dialog.perlinSettings .content{width:300px}.window.dialog.perlinSettings .content dl.form dd{align-items:stretch}.window.dialog.perlinSettings .content dl.form label{flex:0 0 50px}.window.dialog.perlinSettings .content dl.form input#perlinSeed{flex:1 0 80px}.window.dialog.perlinSettings .content dl.form button{padding-top:0;padding-bottom:0}.window.dialog.ruleModuloEditor>.wrapper .content{display:grid;max-width:400px;gap:8px}.window.dialog.ruleModuloEditor>.wrapper .content .help{grid-column:1/3}.window.dialog.ruleModuloEditor>.wrapper .content .options{border:1px solid #545d73;padding:8px;grid-column:2/3}.window.dialog.ruleModuloEditor>.wrapper .content .options label{white-space:nowrap;color:#737f9d;text-align:center}.window.dialog.ruleModuloEditor>.wrapper .content input.default{color:#545d73}.window.dialog.ruleModuloEditor>.wrapper .content .reset{grid-column:2/3;grid-row:2/3;align-self:center;justify-self:center;font-size:10pt}.window.dialog.ruleModuloEditor>.wrapper .content .reset:hover{color:#fff}.window.dialog.ruleModuloEditor>.wrapper .content .axis{display:grid;gap:8px}.window.dialog.ruleModuloEditor>.wrapper .content .axis.x{grid-column:1/2;grid-row:2/3;grid-template-columns:repeat(3, -webkit-min-content);grid-template-columns:repeat(3, min-content);align-items:center;justify-content:center}.window.dialog.ruleModuloEditor>.wrapper .content .axis.y{grid-column:2/3;grid-row:3/4;grid-template-rows:repeat(3, -webkit-min-content);grid-template-rows:repeat(3, min-content);align-content:center;justify-items:center}.window.dialog.ruleModuloEditor>.wrapper .content .axis input{width:70px}.window.dialog.ruleModuloEditor>.wrapper .content .preview{grid-column:1/2;grid-row:3/4;display:grid;gap:2px;min-width:200px;padding:1px;border:1px solid #545d73}.window.dialog.ruleModuloEditor>.wrapper .content .preview .cell{padding-top:100%;border:1px solid #737f9d;background-color:#545d73;background-image:url("../img/stripesLight.png");background-repeat:repeat}.window.dialog.ruleModuloEditor>.wrapper .content .preview .cell.active{background-color:#3c6148;background-image:url("../icons/active.png");background-repeat:no-repeat;background-position:center;background-size:contain}.window.dialog.ruleEditor>.wrapper{padding:8px;justify-self:left;margin-left:80px}.window.dialog.ruleEditor>.wrapper .content{display:grid;gap:8px;grid-template-rows:repeat(4, -webkit-min-content);grid-template-rows:repeat(4, min-content);padding:4px;min-width:300px;position:relative}.window.dialog.ruleEditor>.wrapper .content.guided{grid-template-columns:auto 400px;outline:1px solid #79dd8a;outline-offset:4px}.window.dialog.ruleEditor>.wrapper .content.guided button.guide{display:none}.window.dialog.ruleEditor>.wrapper .content:not(.guided) .explain,.window.dialog.ruleEditor>.wrapper .content:not(.guided) .help{display:none}.window.dialog.ruleEditor>.wrapper .content .help p+p{margin-top:8px}.window.dialog.ruleEditor>.wrapper .content .help.intro{grid-column:1/3}.window.dialog.ruleEditor>.wrapper .content .help:not(.intro){grid-column:2/3}.window.dialog.ruleEditor>.wrapper .content .help.big{grid-row:3/5}.window.dialog.ruleEditor>.wrapper .content>:not(.help){grid-column:1/2}.window.dialog.ruleEditor>.wrapper .content .explain,.window.dialog.ruleEditor>.wrapper .content .outOfBounds,.window.dialog.ruleEditor>.wrapper .content .tileSettings,.window.dialog.ruleEditor>.wrapper .content .pattern .editor,.window.dialog.ruleEditor>.wrapper .content .pattern .values{width:100%;height:100%;padding:16px;box-sizing:border-box;background-color:#1e2229;border-radius:3px}.window.dialog.ruleEditor>.wrapper .content .debugInfos{position:absolute;right:-5px;bottom:-8px;font-size:8pt;color:#737f9d}.window.dialog.ruleEditor>.wrapper .content .explain{display:grid;align-items:center;max-width:408px;min-height:calc(4em + 32px);font-size:10pt;text-align:left;transition:background-color .3s}.window.dialog.ruleEditor>.wrapper .content .explain:not(:empty){color:#79dd8a;transition:background-color .1s;background-color:#3c6148}.window.dialog.ruleEditor>.wrapper .content .explain:empty{color:#737f9d;font-style:italic}.window.dialog.ruleEditor>.wrapper .content .explain:empty::before{content:"Move your cursor over a cell in the pattern to get more explanations about its meaning."}.window.dialog.ruleEditor>.wrapper .content .explain p{margin:0;padding:0}.window.dialog.ruleEditor>.wrapper .content .outOfBounds{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;gap:8px;align-items:center}.window.dialog.ruleEditor>.wrapper .content .outOfBounds select{max-width:250px;text-overflow:ellipsis}.window.dialog.ruleEditor>.wrapper .content .outOfBounds select.hasValue{border-left:5px solid #545d73}.window.dialog.ruleEditor>.wrapper .content .outOfBounds label{color:#737f9d;font-size:9pt;white-space:nowrap}.window.dialog.ruleEditor>.wrapper .content .tileSettings{display:grid;justify-items:stretch;grid-template-columns:auto -webkit-min-content -webkit-min-content;grid-template-columns:auto min-content min-content}.window.dialog.ruleEditor>.wrapper .content .tileSettings .picker{margin-left:8px}.window.dialog.ruleEditor>.wrapper .content .tileSettings .picker canvas{image-rendering:-moz-crisp-edges;image-rendering:pixelated;zoom:2;border:1px solid #fc0;cursor:pointer;width:24px !important;height:24px !important}.window.dialog.ruleEditor>.wrapper .content .tileSettings .picker canvas:hover{border-color:#fff}.window.dialog.ruleEditor>.wrapper .content .tileSettings .picker canvas.empty{border-color:#e34d00;box-shadow:0px 0px 32px #e34d00}.window.dialog.ruleEditor>.wrapper .content .tileSettings .options:not(:empty){margin-left:8px}.window.dialog.ruleEditor>.wrapper .content .pattern{display:grid;grid-template-columns:200px auto;gap:8px}.window.dialog.ruleEditor>.wrapper .content .pattern .editor{display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;gap:4px}.window.dialog.ruleEditor>.wrapper .content .pattern .editor select{width:100%;overflow:hidden}.window.dialog.ruleEditor>.wrapper .content .pattern .editor .grid{display:grid;justify-items:center;align-items:center}.window.dialog.ruleEditor>.wrapper .content .pattern .values{max-height:300px;overflow-y:auto}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul{display:grid}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul li{display:grid;grid-template-columns:32px auto;font-weight:bold;cursor:pointer;border-radius:3px;border-top:1px solid rgba(255,255,255,.3)}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul li+li{margin-top:1px}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul li .value{padding:8px 4px;font-size:11pt;text-align:center;color:#fff;background-color:rgba(0,0,0,.1)}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul li .name{padding:8px;font-size:9pt}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul li:hover{outline:1px solid #fff;outline-offset:-1px}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul li.active{outline:2px solid #fff;outline-offset:-2px}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul li.active .value{color:#1e2229;background-color:#fff;box-shadow:0px 4px 8px rgba(0,0,0,.4)}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul li.any{font-style:italic;background-image:url("../img/any.png");border-color:#1e2229}.window.dialog.ruleEditor>.wrapper .content .help{margin-top:8px}.window.dialog.ruleEditor>.wrapper .content .help p{margin:0;padding:0}.window.dialog.ruleEditor>.wrapper .content .help ul{display:grid;gap:2px;width:100%;margin-top:8px;margin-bottom:10px}.window.dialog.ruleEditor>.wrapper .content .help ul li{padding:6px;margin-left:8px;font-size:9pt;border-radius:3px;background-color:#1e2229}.window.panel.editTilesetDefs .mainList ul:empty::before{content:"No tileset"}.window.panel.editTilesetDefs .content{grid-template-rows:-webkit-min-content -webkit-min-content auto;grid-template-rows:min-content min-content auto;grid-template-columns:300px auto}.window.panel.editTilesetDefs .content .help{grid-row:2/4;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.window.panel.editTilesetDefs .content .mainList{grid-row:2/4}.window.panel.editTilesetDefs .content .mainList span.name{display:grid;grid-template-columns:repeat(2, -webkit-min-content);grid-template-columns:repeat(2, min-content);overflow-x:hidden;width:100%}.window.panel.editTilesetDefs .content .mainList span.name .icon{margin-right:4px}.window.panel.editTilesetDefs .content .mainList .active .name .icon{filter:brightness(0)}.window.panel.editTilesetDefs .content dl.form{grid-row:2/3}.window.panel.editTilesetDefs .content dl.form dt{max-width:none;white-space:nowrap}.window.panel.editTilesetDefs .content dl.form:not(.embed) .embedTileset{display:none}.window.panel.editTilesetDefs .content dl.form.embed{padding-bottom:0}.window.panel.editTilesetDefs .content dl.form.embed .notEmbed{display:none}.window.panel.editTilesetDefs .content dl.form.embed .notEmbed+dd{display:none}.window.panel.editTilesetDefs .content dl.form.embed dd.embedTileset{display:block;padding:16px;margin-top:16px;margin-bottom:0;border:1px dashed #737f9d;border-radius:4px;grid-column:1/3}.window.panel.editTilesetDefs .content dl.form.embed dd.embedTileset .desc{color:#fff}.window.panel.editTilesetDefs .content dl.form.embed dd.embedTileset .license{margin-top:8px;color:#fc0}.window.panel.editTilesetDefs .content dl.form.embed dd.embedTileset .infos{display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;align-items:center;padding-bottom:8px;margin-bottom:8px;color:#c1cfeb;border-bottom:1px solid #545d73}.window.panel.editTilesetDefs .content .pickerWrapper{grid-row:3/4}.window.panel.editTilesetDefs .content .tilesDemo canvas{display:block;width:100%;image-rendering:-moz-crisp-edges;image-rendering:pixelated}.window.panel.editTilesetDefs .content .pickerWrapper{overflow:hidden;outline:1px solid #fff;outline-offset:-1px;box-shadow:0px 4px 16px rgba(0,0,0,.4) inset;background-color:rgba(0,0,0,.4)}.window.panel.entityDefs .content{display:grid;height:100%;justify-content:stretch;-moz-column-gap:16px;column-gap:16px;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;grid-template-columns:250px auto}.window.panel.entityDefs .content.noHelp{grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto}.window.panel.entityDefs .content.noHelp>.header{display:none}.window.panel.entityDefs .content dl.form.main{padding-bottom:0}.window.panel.entityDefs .content dl.form.extra{padding:8px;width:calc(100% - 16px);outline:1px solid #545d73;outline-offset:-1px}.window.panel.entityDefs .content>h2:first-of-type{grid-column:1/3}.window.panel.entityDefs .content>.header{grid-column:1/3}.window.panel.entityDefs .content>.entityList{display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;overflow:hidden}.window.panel.entityDefs .content>.entityList>ul{overflow:auto}.window.panel.entityDefs .content>.entityList>ul li:not(.subList):not(.title){grid-template-columns:-webkit-min-content auto -webkit-min-content;grid-template-columns:min-content auto min-content}.window.panel.entityDefs .content>.entityList>ul li:not(.subList):not(.title) .name{overflow:hidden}.window.panel.entityDefs .content>.entityList ul:empty::before{content:"No entity"}.window.panel.entityDefs .content .rightColumn{overflow:hidden;display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto}.window.panel.entityDefs .content .rightColumn .entityForm{margin-bottom:16px}.window.panel.entityDefs .content button{white-space:nowrap}.window.panel.entityDefs .content .renderMode *[class*=mode_]{display:none}.window.panel.entityDefs .content .renderMode.mode_Rectangle .mode_Rectangle,.window.panel.entityDefs .content .renderMode.mode_Ellipse .mode_Ellipse,.window.panel.entityDefs .content .renderMode.mode_Tile .mode_Tile{display:block}.window.panel.entityDefs .content .renderMode select,.window.panel.entityDefs .content .renderMode canvas{margin-left:4px}.window.panel.entityDefs .content .renderMode select.renderMode{flex:1 1 0px}.window.panel.entityDefs .content .renderMode .tilePicker{flex:0 0 auto}.window.panel.entityDefs .content .renderMode .nineSlice{display:flex;flex:1 0 100%;flex-wrap:nowrap;opacity:1;align-items:center}.window.panel.entityDefs .content .renderMode .nineSlice span{opacity:.8;margin-left:8px}.window.panel.entityDefs .content .renderMode .nineSlice input{width:40px}.window.panel.entityDefs .content{width:960px}.window.panel.entityDefs .previewWrapper{position:relative;float:right;margin:8px;border:1px solid #545d73;display:none}.window.panel.entityDefs .previewWrapper .entityPreview{width:64px;height:64px}.window.panel.entityDefs .previewWrapper .label{position:absolute;z-index:1;bottom:0px;right:0px;font-size:7pt;text-transform:uppercase}.window.panel.entityDefs input[type=color]{min-height:32px}#timelineDebug{position:absolute;top:10px;right:10px;z-index:99;pointer-events:none}#timelineDebug .timeline{display:grid;grid-template-rows:16px;gap:1px;padding:2px;margin-top:8px;border:1px solid #545d73;border-radius:3px;background-color:rgba(0,0,0,.7);box-shadow:0px 4px 8px #000}#timelineDebug .timeline>div{overflow:hidden}#timelineDebug .timeline>div.header{font-size:8pt;padding:3px}#timelineDebug .timeline>div.header.row{text-align:center;font-size:7pt}#timelineDebug .timeline>div.header.level{color:#fc0}#timelineDebug .timeline>div.current{border-right:3px solid #fc0;box-shadow:-2px 0px 0px rgba(0,0,0,.5) inset}#timelineDebug .timeline>div.hasState{background-color:#79dd8a}#timelineDebug .timeline>div.hasState.extend{background-color:#5eab6b;background-repeat:no-repeat;background-image:url("../icons/arrow_right.svg");background-position:center;opacity:.66}#timelineDebug .timeline>div.hasState.level{background-color:#ff4}#timelineDebug .timeline>div.hasState.level.extend{background-color:#fc0}#timelineDebug .timeline>div.empty{background-color:#2e333f;background-image:url("../img/stripes.png");background-repeat:repeat}#timelineDebug .timeline>div.na{background-color:#791105;background-image:url("../img/stripesLight.png");background-repeat:repeat}#timelineDebug ul.allTimelines{padding-top:8px}#timelineDebug ul.allTimelines li{text-align:right;font-size:8pt;color:#fff;text-shadow:0px 2px 4px #000}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#2e333f;border-left:1px solid #545d73}::-webkit-scrollbar-thumb{background:#737f9d}::-webkit-scrollbar-thumb:hover{background:#c1cfeb}.window.ruleGroupRemap .wrapper .content{display:grid;grid-template-columns:300px 600px;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;-moz-column-gap:16px;column-gap:16px}.window.ruleGroupRemap .wrapper .content>h2{grid-column:1/3}.window.ruleGroupRemap .wrapper .content h3:first-child{margin-top:0}.window.ruleGroupRemap .wrapper .content input[type=text]{width:100%}.window.ruleGroupRemap .wrapper .content ul.intGridIds{margin-top:8px;margin-bottom:8px}.window.ruleGroupRemap .wrapper .content ul.intGridIds li{display:grid;grid-template-columns:auto -webkit-min-content auto;grid-template-columns:auto min-content auto;margin-bottom:2px;align-items:center}.window.ruleGroupRemap .wrapper .content ul.intGridIds li .oldId,.window.ruleGroupRemap .wrapper .content ul.intGridIds li .newId{padding:8px;border-radius:3px;text-shadow:1px 1px 1px #000,-1px -1px 1px #000,0px 2px 3px #000}.window.ruleGroupRemap .wrapper .content ul.intGridIds li .oldId{opacity:.66;cursor:not-allowed}.window.ruleGroupRemap .wrapper .content ul.intGridIds li .newId{border:1px solid #fff;cursor:pointer}.window.ruleGroupRemap .wrapper .content ul.intGridIds li .newId:hover{border-color:#fc0}.window.ruleGroupRemap .wrapper .content ul.intGridIds li .newId.unchanged{font-style:italic;color:#c1cfeb}.window.ruleGroupRemap .wrapper .content ul.intGridIds li .unchanged{color:#c1cfeb;font-style:italic;text-shadow:none;background-color:rgba(0,0,0,0) !important;border:1px dashed #545d73}.window.ruleGroupRemap .wrapper .content .rightColumn>.tileset{height:60vh;border:1px solid #fff;outline:1px solid #000}.window.intGridValuePicker .wrapper{padding:8px;background-color:#000;border:none;border-radius:4px}.window.intGridValuePicker .wrapper .content ul li{padding:8px;border-radius:3px;border:2px solid rgba(0,0,0,0);text-shadow:0px 1px 0px #000,0px 0px 3px rgba(0,0,0,.5),0px 0px 2px rgba(0,0,0,.5);cursor:pointer}.window.intGridValuePicker .wrapper .content ul li[value="0"]{border:1px solid #545d73;background-color:#2e333f}.window.intGridValuePicker .wrapper .content ul li:hover:not(.active){border-color:#fff;opacity:.8 !important}.window.intGridValuePicker .wrapper .content ul li.active{margin:0;margin-top:2px;margin-bottom:2px;border:3px solid #fff;cursor:initial}.window.intGridValuePicker .wrapper .content ul li:not(.active){opacity:.66;background-image:url("../img/stripes.png");background-repeat:repeat}.window.intGridValuePicker .wrapper .content ul li+li{margin-top:1px}.window.outOfBoundsPolicyGlobal .wrapper .content{width:600px}.window.outOfBoundsPolicyGlobal .wrapper .content dl.form{margin-top:16px;margin-bottom:0}.window.rulesWizard .wrapper .content .layout{display:grid;width:90vw;height:72vh;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;grid-template-rows:100%;-moz-column-gap:8px;column-gap:8px}.window.rulesWizard .wrapper .content .layout .side .help{margin-bottom:8px}.window.rulesWizard .wrapper .content .layout .side label{display:block;color:#c1cfeb;margin-bottom:4px;font-size:10pt}.window.rulesWizard .wrapper .content .layout .side info{display:inline-block;font-family:inherit;width:20px;height:18px;margin:0;margin-left:2px;margin-right:2px;font-size:10pt;border-width:2px}.window.rulesWizard .wrapper .content .layout .side .intGrid{margin-bottom:16px;cursor:pointer}.window.rulesWizard .wrapper .content .layout .side .intGrid .wrapper{display:grid;grid-template-columns:32px 32px auto;gap:4px;padding:2px;white-space:nowrap;border-radius:3px}.window.rulesWizard .wrapper .content .layout .side .intGrid .color,.window.rulesWizard .wrapper .content .layout .side .intGrid .id,.window.rulesWizard .wrapper .content .layout .side .intGrid .name,.window.rulesWizard .wrapper .content .layout .side .intGrid .noValue{padding:6px}.window.rulesWizard .wrapper .content .layout .side .intGrid:not(.empty) .noValue{display:none}.window.rulesWizard .wrapper .content .layout .side .intGrid .id{text-align:center}.window.rulesWizard .wrapper .content .layout .side .intGrid.empty{grid-template-columns:auto;font-size:8pt}.window.rulesWizard .wrapper .content .layout .side .intGrid.empty.main{color:#ff4;border:1px solid #fc0;background-color:#791105;box-shadow:0px 0px 8px #e34d00}.window.rulesWizard .wrapper .content .layout .side .intGrid.empty.other{font-style:italic;color:#c1cfeb;border:1px solid #545d73;background-color:#2e333f}.window.rulesWizard .wrapper .content .layout .side .intGrid.empty .color,.window.rulesWizard .wrapper .content .layout .side .intGrid.empty .id,.window.rulesWizard .wrapper .content .layout .side .intGrid.empty .name{display:none}.window.rulesWizard .wrapper .content .layout .side .intGrid:hover{background-color:#fc0 !important;border-color:#fff !important}.window.rulesWizard .wrapper .content .layout .side .intGrid:hover *{color:#000 !important}.window.rulesWizard .wrapper .content .layout .side .important{position:absolute;z-index:2;margin-left:-1px;margin-right:-1px;width:197px;height:164px;border:1px solid #79dd8a;border-radius:3px;pointer-events:none}.window.rulesWizard .wrapper .content .layout .side .grid{display:grid;gap:1px;grid-template-columns:repeat(12, 32px);grid-template-rows:repeat(5, 32px);background:url("../img/stripesLight.png") repeat;background-color:#000;border:1px solid #545d73}@media(max-width: 900px){.window.rulesWizard .wrapper .content .layout .side .grid{grid-template-columns:repeat(11, 16px);grid-template-rows:repeat(5, 16px)}}.window.rulesWizard .wrapper .content .layout .side .grid .cell{position:relative;outline:1px solid #1e2229;outline-offset:-1px;cursor:pointer}.window.rulesWizard .wrapper .content .layout .side .grid .cell:not(:empty){background-color:#000}.window.rulesWizard .wrapper .content .layout .side .grid .cell img{width:100% !important;height:100% !important}.window.rulesWizard .wrapper .content .layout .side .grid .cell:hover{outline-color:#fc0}.window.rulesWizard .wrapper .content .layout .side .grid .cell.active{outline:3px solid #fff !important;z-index:2}.window.rulesWizard .wrapper .content .layout .side .grid .cell img.faded{position:absolute;z-index:1;top:0;left:0;opacity:.11}.window.rulesWizard .wrapper .content .layout .side .grid .cell.mirror{outline:1px dashed #fff}.window.rulesWizard .wrapper .content .layout .side .grid .cell.defined{outline:1px solid #fff}.window.rulesWizard .wrapper .content .layout>.tileset{border:1px solid #737f9d}.window.commandRunner .wrapper .content{max-width:80vw}.window.commandRunner .wrapper .content.untrusted{width:500px;max-height:80vh}.window.commandRunner .wrapper .content.untrusted .untrustedWarning .commands{white-space:pre-wrap;font-family:"Courier New",Courier,monospace;background-color:#1e2229;padding:8px;text-shadow:none;border-radius:3px}.window.commandRunner .wrapper .content.untrusted .trusted{display:none}.window.commandRunner .wrapper .content:not(.untrusted) .untrustedWarning{display:none}.window.commandRunner .wrapper .content .output{padding:8px;min-width:500px;min-height:200px;max-height:60vh;overflow:auto;background-color:#1e2229;border:1px solid #545d73;font-size:8pt}.window.commandRunner .wrapper .content .output pre{margin:0;color:#c1cfeb}.window.commandRunner .wrapper .content .output pre.sep{padding-top:8px;margin-bottom:8px;border-bottom:1px solid #2e333f} \ No newline at end of file +@font-face{font-family:Roboto;src:url("../fonts/RobotoCondensed-Light.ttf")}@font-face{font-family:Roboto Bold;src:url("../fonts/RobotoCondensed-Bold.ttf")}body{margin:0;padding:0;background:#1e2229;color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:11pt}ul{margin:0;padding:0;list-style:none}ul li{margin:0;padding:0}*{-webkit-user-select:none;-moz-user-select:none;user-select:none}a{color:#fc0}img{vertical-align:middle}xml{display:none}h1{color:#f0f}h1,h2,h3,h4,h5{margin:0;padding:0}h1 .icon,h2 .icon,h3 .icon,h4 .icon,h5 .icon{vertical-align:bottom;width:2em;height:2em}h1 .icon,h1 img,h2 .icon,h2 img,h3 .icon,h3 img,h4 .icon,h4 img,h5 .icon,h5 img{margin-right:4px}h1{font-family:Roboto}h2{margin-bottom:32px;padding-bottom:8px;border-bottom:1px solid #fc0;font-family:Roboto;font-size:18pt;color:#fc0;text-transform:uppercase}h3{margin-top:16px;margin-bottom:8px;padding-bottom:2px;border-bottom:1px solid #fc0;font-family:Roboto;font-size:13pt;color:#fc0;text-transform:uppercase}h4{margin-bottom:4px;padding-bottom:2px;font-family:Roboto;font-size:12pt;color:#fc0;text-transform:uppercase}hr{margin:0;padding:0;border:none;background:rgba(0,0,0,0);margin-top:8px;margin-bottom:8px;border-bottom:1px solid #545d73}button{width:100%;margin:1px;padding:10px;color:#fff;text-transform:uppercase;text-align:center;border:none;box-shadow:0px -2px 0px rgba(0,0,0,.3) inset,0px 0px 2px rgba(255,255,255,.22) inset,0px 2px 1px rgba(0,0,0,.3);background-color:#e34d00;cursor:pointer;text-shadow:0px 1px 0px rgba(0,0,0,.28)}button:disabled{color:#737f9d;text-shadow:none;box-shadow:0px 0px 2px #737f9d inset;cursor:not-allowed;background-color:#1e2229;background-image:url("../img/stripesLight.png");background-repeat:repeat}button:disabled .icon{opacity:.3}button:disabled:hover{color:#737f9d;box-shadow:0px 0px 2px #737f9d inset;background-color:#2e333f}button:hover{background-color:#ff5d4a}button>.icon{width:1.7em;height:1.7em}button:focus{outline:inherit}button.active{background-color:#545d73 !important;border-color:#545d73 !important;box-shadow:none}button.strong{padding-top:24px;padding-bottom:24px;font-size:13pt}button[href]{display:flex;justify-content:center;align-items:center;background-color:#545d73;text-decoration:none;text-transform:none;box-shadow:0px -2px 0px rgba(0,0,0,.3) inset,0px 2px 0px rgba(0,0,0,.4)}button[href] .icon{margin-right:4px;opacity:.5}button[href]:hover{background-color:#737f9d}button.cancel,button.gray,button.grey{background-color:#545d73}button.cancel:hover,button.gray:hover,button.grey:hover{background-color:#737f9d}button.blue{background-color:#2a73ab}button.blue:hover{background-color:#348fd5}button.purple{background-color:#9976f1}button.purple:hover{background-color:#b19aff}button.brown{background-color:#944e36}button.brown:hover{background-color:#bf6546}button.red{background-color:#791105}button.red:hover{background-color:#e34d00}button.help{background-color:#498d55}button.help:hover{background-color:#5eab6b}button.discord{background-color:#7289da !important}button.discord:hover{background-color:#85a0ff !important}button.guide{padding:8px;font-size:10pt;text-transform:none;background-color:#3c6148;color:#79dd8a}button.guide:hover{background-color:#5eab6b;color:#fff}button.blue{background-color:#2a73ab}button.blue:hover{background-color:#348fd5}button.green{background-color:#5eab6b}button.green:hover{background-color:#79dd8a}button.dark{background-color:#313742;box-shadow:0px 0px 2px #545d73 inset,0px 0px 3px #000,0px 2px 2px #000}button.dark:hover{background-color:#545d73}button.transparent{box-shadow:none;background-color:rgba(0,0,0,0);border-radius:3px}button.transparent:hover{background-color:#fc0}button.context{border:1px solid rgba(0,0,0,.2);border-radius:2px;background-color:rgba(0,0,0,.1)}button.context:hover{background:rgba(0,0,0,.5)}button.pending{color:#fc0;background-color:#2e333f;outline:none;border:1px solid #fc0;border-radius:3px;box-shadow:none;cursor:crosshair}.appLogo{min-width:300px;min-height:100px;background-image:url("../img/LDtk-simple.svg");background-repeat:no-repeat;background-size:contain;background-position:center;image-rendering:-webkit-optimize-contrast}.appLogo.full{background-image:url("../img/LDtk.svg")}.appLogo.shine{background-image:url("../img/LDtk-shine-1024.png")}#miniNotif{position:absolute;z-index:98;bottom:15px;left:0px;display:none;overflow:hidden;color:#fff;font-size:9pt;background-color:rgba(0,0,0,.85);padding:4px;padding-left:16px;border-radius:3px;border-top-left-radius:0px;border-bottom-left-radius:0px;pointer-events:none;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-name:miniNotifArrival;animation-name:miniNotifArrival}@-webkit-keyframes miniNotifArrival{from{padding-left:0px}to{padding-left:16px}}@keyframes miniNotifArrival{from{padding-left:0px}to{padding-left:16px}}#updateInstall{display:none;position:absolute;top:15px;right:0;z-index:99;display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content}#updateInstall button{margin:0;-webkit-animation:anim_slideUp 2s;animation:anim_slideUp 2s;padding:8px}#updateInstall button.proceed{display:grid;grid-template-rows:auto auto;width:auto;text-align:left}#updateInstall button.proceed .icon{grid-column:1/2;grid-row:1/3;align-self:center;margin-right:10px}#updateInstall button.proceed strong{grid-column:2/3;font-size:9pt;margin-bottom:4px}#updateInstall button.proceed em{grid-column:2/3;opacity:.7;font-style:normal;font-size:8pt}.buttons{display:flex;flex-wrap:wrap;margin-top:2px;margin-bottom:2px;border-radius:6px;overflow:hidden}.buttons button{flex:1 1 0}.buttons button.full{flex-basis:100%}.buttons button.small{flex-grow:0}.buttons button.debug{flex:0 0 0;display:none}.help:not(.icon):not(button){min-height:2.5em;padding:10px;padding-left:60px;color:#79dd8a;font-family:Roboto;font-size:1.1em;border:1px dashed #79dd8a;border-radius:6px;background-image:url("../icons/helpBg.svg");background-repeat:no-repeat;background-position:6px 6px}.help:not(.icon):not(button) p{margin:0}.help:not(.icon):not(button) p+p{margin-top:8px}.help:not(.icon):not(button).guide{position:absolute;z-index:2;display:none;background-color:#3c6148;right:0}.help:not(.icon):not(button).guide dl{margin:0;padding:0;display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto}.help:not(.icon):not(button).guide dl dt{font-family:monospace;color:#fc0}.help:not(.icon):not(button).guide dl dd{padding-left:8px;padding-bottom:8px}a.exploreTo{display:flex;max-width:24px;align-items:center;justify-items:center;flex:0 0 auto !important;padding:4px;background-color:#545d73;border-radius:3px;cursor:pointer}a.exploreTo:hover{color:#000;background-color:#fc0}a.exploreTo .icon{width:1.5em;height:1.5em}.progressBar{position:relative;margin-bottom:20px;min-width:400px;height:8px;background-color:#1e2229;border:1px solid #fc0;padding:1px;border-radius:2px}.progressBar .barWrapper{position:absolute;z-index:1;width:calc(100% - 2px);height:calc(100% - 2px);top:1px;left:1px}.progressBar .barWrapper .bar{min-width:1px;width:1px;height:100%;background-color:#fc0;box-shadow:0px 0px 8px #d56932,0px 0px 16px #791105;box-sizing:border-box;border-radius:3px}.progressBar .label{position:absolute;z-index:2;right:1px;top:12px;color:#fff;font-size:9pt;color:#737f9d}div.warning:not(.window){box-sizing:border-box;padding:8px;margin-top:4px;margin-bottom:16px;border:1px dashed red;color:#fff;box-shadow:0px 0px 32px darkred inset,0px 0px 4px darkred;text-shadow:0px -1px 4px red,0px 1px 4px red;background-color:rgba(0,0,0,.66)}div.safe:not(.window){box-sizing:border-box;padding:8px;margin-top:4px;margin-bottom:16px;border:1px dashed #79dd8a;color:#fff;box-shadow:0px 0px 32px #3c6148 inset,0px 0px 4px helpDark;text-shadow:0px -1px 4px #79dd8a,0px 1px 4px #3c6148;background-color:#3c6148}info,div.info{display:grid;justify-items:center;align-items:center;box-sizing:border-box;font-size:14pt;font-family:Arial,Helvetica,sans-serif;width:32px;height:32px;margin-left:4px;font-weight:bold;text-align:center;color:#79dd8a;border:3px solid #79dd8a;border-radius:16px;cursor:help}info:hover,div.info:hover{color:#fc0;border-color:#fc0;opacity:1}info::before,div.info::before{content:"?"}info.small,div.info.small{width:16px;height:16px;font-size:9pt;border-width:2px}warning{display:grid;justify-items:center;align-items:center;box-sizing:border-box;font-size:15pt;width:28px;height:28px;margin-left:4px;font-weight:bold;text-align:center;color:#fc0;border:3px solid #e34d00;border-radius:16px;cursor:help;box-shadow:0px 0px 10px #e34d00,0px 0px 10px #e34d00 inset;background-color:#791105}warning:hover{color:#fc0;border-color:#fc0;background-color:#e34d00}warning::before{content:"!"}dt.infoHighlight label{color:#79dd8a !important;text-shadow:0px 0px 8px #5eab6b}dd.infoHighlight{background-color:#3c6148;box-shadow:0px 0px 16px #3c6148;outline:1px solid #5eab6b;outline-offset:2px}dd.infoHighlight span{color:#79dd8a}dd.infoHighlight select{border-color:#79dd8a;background-color:#5eab6b}dd.infoHighlight input[type=text]{border-color:#5eab6b;background-color:#273f2f}span.key,div.key{display:inline-block;margin:1px;padding:1px;padding-left:5px;padding-right:5px;min-width:16px;text-align:center;text-transform:uppercase;font-family:Roboto;font-style:normal;font-weight:bold;font-size:.9em;text-shadow:0px 2px 1px rgba(0,0,0,.5);background-color:rgba(225,214,187,.55);border-bottom:4px solid rgba(224,213,186,.55);box-shadow:0px 2px 2px #000;border-radius:2px}span.key+.key,div.key+.key{margin-left:0}span.key.shift,span.key.ctrl,span.key.alt,div.key.shift,div.key.ctrl,div.key.alt{text-shadow:none}span.key.shift,div.key.shift{color:rgba(0,0,0,0);text-shadow:none;color:#c9dffe;background-color:rgba(119,176,253,.55);border-color:rgba(121,177,253,.55);border-bottom-color:rgba(117,175,253,.55)}span.key.special,div.key.special{color:#e1c9fe;background-color:rgba(181,119,253,.55);border-color:rgba(182,121,253,.55);border-bottom-color:rgba(180,117,253,.55)}span.key.meta,div.key.meta{color:rgba(0,0,0,0);background-image:url("../icons/meta.png");background-repeat:no-repeat;background-position:center;background-size:contain;background-color:rgba(253,79,102,.55);border-color:rgba(253,81,103,.55);border-bottom-color:rgba(253,77,100,.55)}span.key.ctrl,div.key.ctrl{color:#feb9c2;background-color:rgba(253,79,102,.55);border-color:rgba(253,81,103,.55);border-bottom-color:rgba(253,77,100,.55)}span.key.alt,div.key.alt{color:#fee5a7;background-color:rgba(253,190,34,.55);border-color:rgba(253,190,36,.55);border-bottom-color:rgba(253,189,32,.55)}.path{flex:1 1 auto;text-align:right;overflow:auto;opacity:1;align-items:center}.path span{vertical-align:middle}.path span+span{margin-left:2px}.path span:not(.slash){display:inline-block;font-size:9pt}.path span:not(.slash):last-of-type{color:#fff !important;font-weight:bold;font-size:10pt}.path span.slash{color:#737f9d;font-weight:bold;font-size:12pt}.path span.highlight{padding:2px 4px;border-radius:2px;color:#fff;text-shadow:0px 2px 0px rgba(0,0,0,.3)}canvas.tile{width:32px;height:32px;border:1px solid #545d73;border-radius:4px;image-rendering:-moz-crisp-edges;image-rendering:pixelated}canvas.tile.empty{background-image:url("../img/stripes.png")}canvas.tile.multi{box-shadow:2px 2px 0px #000,3px 3px 0px #fff}canvas.tile:not(.active){cursor:not-allowed;opacity:.4}canvas.tile:not(.active):hover{border-color:#e34d00}canvas.tile.active.empty{border-color:#e34d00}canvas.tile.active:hover{border-color:#fc0;cursor:pointer}ul.niceList{box-sizing:border-box;padding:4px;margin-top:4px;min-height:200px;margin-bottom:4px;border:1px solid #545d73;background-color:#1e2229;overflow-x:hidden}ul.niceList:first-child{margin-top:0}ul.niceList:empty{background-image:url("../img/stripes.png");box-shadow:0px 0px 16px rgba(0,0,0,.4) inset;text-align:center;padding-top:30px}ul.niceList:empty::before{content:"No element";color:#545d73;font-style:italic;font-family:Roboto;font-size:1.3em}ul.niceList#layers:empty::before{content:"No layer"}ul.niceList li:not(.title){display:grid;justify-items:left;align-items:center;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;gap:0px 8px;padding:8px;font-size:12pt;border-bottom:1px solid #1e2229;background-color:#2e333f;cursor:pointer}ul.niceList li:not(.title).subList{display:grid;grid-template-columns:auto}ul.niceList li:not(.title).subList ul{width:100%;overflow:hidden}ul.niceList li:not(.title).subList ul>li{overflow:hidden}ul.niceList li:not(.title):not(.active):hover{outline:1px solid #586279;outline-offset:-1px}ul.niceList li:not(.title) button.context{padding:0;min-width:16px;height:100%}ul.niceList li:not(.title) button.context .icon{width:1em}ul.niceList li.title{display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;align-items:center;padding:4px;margin-top:2px;color:#fc0;font-size:.8em;font-family:Roboto;border-top:1px solid #545d73}ul.niceList li.title .links{display:flex}ul.niceList li.title .links a+a{margin-left:1px}ul.niceList li.title a{display:flex;justify-items:center;align-items:center;font-size:1.1em;padding:3px;background-color:#2e333f;border-radius:2px;cursor:pointer;color:#fff}ul.niceList li.title a:hover{background-color:#fc0}ul.niceList li.title a.red:not(:hover){background-color:#791105}ul.niceList li.title a .icon{width:1em;height:1em}ul.niceList li div.error{grid-column:span 2;grid-row:2;padding:8px;margin-top:4px;font-size:10pt;color:#fff;text-transform:uppercase;border-radius:4px;background-color:#e34d00;border:1px solid #ffa386;outline:none;box-shadow:0px 0px 16px #e34d00}ul.niceList li.iconLeft{grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto}ul.niceList li.iconLeft .icon,ul.niceList li.iconLeft .entityPreview{order:0}ul.niceList li.iconRight{grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content}ul.niceList li.iconRight .icon,ul.niceList li.iconRight .entityPreview{order:1}ul.niceList li.active{background-color:#fc0;color:#000;box-shadow:0px 0px 2px #ffc inset,0px 0px 4px #a00}ul.tabs{display:flex;flex-wrap:nowrap;margin-bottom:16px;padding-top:4px;padding-left:4px;justify-items:flex-end;background-color:#1e2229;border-bottom:1px solid #fc0;box-shadow:0px -4px 0px #000 inset}ul.tabs li{font-family:Roboto;margin-top:8px;padding:8px;padding-bottom:4px;color:#fc0;background-color:#2e333f;box-shadow:2px -2px 2px rgba(0,0,0,.3);cursor:pointer;border-top-left-radius:3px;border-top-right-radius:3px}ul.tabs li+li{margin-left:8px}ul.tabs li.active{color:#000;font-weight:bold;background-color:#fc0;padding-bottom:8px;margin-top:0}ul.tabs li:hover:not(.active){color:#fff;padding-bottom:6px;margin-top:6px}ul.log{box-sizing:border-box;padding:4px;margin-bottom:4px;max-width:80vw;min-width:50vw;min-height:300px;max-height:80vh;border:1px solid #545d73;background-color:#1e2229;overflow:auto}ul.log li{padding:4px;padding-left:8px}ul.log li:hover{outline:1px dashed #545d73}ul.log li span.op{display:inline-block;margin-left:8px;padding:2px;padding-left:4px;padding-right:4px;font-size:8pt;color:#fff;background-color:#2e333f;color:#737f9d;border-radius:2px}ul.log li.opAddValue,ul.log li.opAddEnum{color:#a7d93d}ul.log li.opAddValue span.op,ul.log li.opAddEnum span.op{color:#000;background-color:#a7d93d}ul.log li.opDateUpdated{color:#58d395}ul.log li.opDateUpdated span.op{color:#000;background-color:#58d395}ul.log li.opRemoveValue,ul.log li.opRemoveEnum{color:#e34d00}ul.log li.opRemoveValue span.op,ul.log li.opRemoveEnum span.op{color:#fff;background-color:#e34d00}ul.log li.opRemoveValue.unused,ul.log li.opRemoveEnum.unused{color:#737f9d}ul.log li.opRemoveValue.unused span.op,ul.log li.opRemoveEnum.unused span.op{background-color:#545d73}ul.log li.opChecksumUpdated{color:#737f9d}.icon{display:inline-block;vertical-align:middle;width:1.3em;height:1.3em;background-position:center center;background-repeat:no-repeat;background-size:contain}.icon.left{background-image:url("../icons/arrow_left.svg")}.icon.right{background-image:url("../icons/arrow_right.svg")}.icon.up{background-image:url("../icons/arrow_up.svg")}.icon.down{background-image:url("../icons/arrow_down.svg")}.icon.active{background-image:url("../icons/active.png")}.icon.appUpdate{background-image:url("../icons/appUpdate.svg")}.icon.add{background-image:url("../icons/add.svg")}.icon.autoLayer{background-image:url("../icons/autoLayer.png")}.icon.bug{background-image:url("../icons/bug.svg")}.icon.checker{background-image:url("../icons/checker.svg")}.icon.clear{background-image:url("../icons/clear.svg")}.icon.close{background-image:url("../icons/close.png")}.icon.collapsed{background-image:url("../icons/collapsed.svg")}.icon.community{background-image:url("../icons/community.svg")}.icon.contextMenu{background-image:url("../icons/contextMenu.svg")}.icon.contextMenuOpen{background-image:url("../icons/contextMenuOpen.svg")}.icon.copy{background-image:url("../icons/copy.svg")}.icon.delete{background-image:url("../icons/delete.svg")}.icon.embed{background-image:url("../icons/embed.svg")}.icon.discord{background-image:url("../icons/discord.svg")}.icon.download{background-image:url("../icons/download.svg")}.icon.doc{background-image:url("../icons/doc.svg")}.icon.edit{background-image:url("../icons/edit.svg")}.icon.email{background-image:url("../icons/email.svg")}.icon.emptySpaceOff{background-image:url("../icons/emptySpaceOff.png")}.icon.emptySpaceOn{background-image:url("../icons/emptySpaceOn.png")}.icon.entity{background-image:url("../icons/entity.png")}.icon.enum{background-image:url("../icons/enum.png")}.icon.exit{background-image:url("../icons/exit.svg")}.icon.expanded{background-image:url("../icons/expanded.svg")}.icon.flatten{background-image:url("../icons/flatten.svg")}.icon.folder{background-image:url("../icons/folder.svg")}.icon.folderOpen{background-image:url("../icons/folderOpen.svg")}.icon.folderClose{background-image:url("../icons/folderClose.svg")}.icon.fullscreen{background-image:url("../icons/fullscreen.svg")}.icon.fullscreen_exit{background-image:url("../icons/fullscreen_exit.svg")}.icon.ghost{background-image:url("../icons/ghost.svg")}.icon.gridOff{background-image:url("../icons/gridOff.svg")}.icon.gridOn{background-image:url("../icons/gridOn.svg")}.icon.help{background-image:url("../icons/help.svg")}.icon.hidden{background-image:url("../icons/hidden.png")}.icon.history{background-image:url("../icons/history.svg")}.icon.inactive{background-image:url("../icons/inactive.png")}.icon.intGrid{background-image:url("../icons/intGrid.png")}.icon.json{background-image:url("../icons/json.svg")}.icon.layer{background-image:url("../icons/layer.png")}.icon.level{background-image:url("../icons/level.svg")}.icon.list{background-image:url("../icons/list.svg")}.icon.locate{background-image:url("../icons/locate.svg")}.icon.love{background-image:url("../icons/love.svg")}.icon.manual{background-image:url("../icons/manual.svg")}.icon.new{background-image:url("../icons/new.svg")}.icon.open{background-image:url("../icons/open.svg")}.icon.partial{background-image:url("../icons/partial.png")}.icon.paste{background-image:url("../icons/paste.svg")}.icon.pick{background-image:url("../icons/pick.svg")}.icon.prohibited{background-image:url("../icons/prohibited.svg")}.icon.project{background-image:url("../icons/projectSettings.png")}.icon.recall{background-image:url("../icons/recall.svg")}.icon.refresh{background-image:url("../icons/refresh.svg")}.icon.reset{background-image:url("../icons/reset.svg")}.icon.rule{background-image:url("../icons/rule.svg")}.icon.search{background-image:url("../icons/search.svg")}.icon.settings{background-image:url("../icons/settings.svg")}.icon.showDetailsOff{background-image:url("../icons/showDetailsOff.svg")}.icon.showDetailsOn{background-image:url("../icons/showDetailsOn.svg")}.icon.singleLayer{background-image:url("../icons/singleLayer.svg")}.icon.slide{background-image:url("../icons/delete.svg")}.icon.stop{background-image:url("../icons/stop.svg")}.icon.tile{background-image:url("../icons/tile.png")}.icon.trust{background-image:url("../icons/trust.svg")}.icon.tutorial{background-image:url("../icons/tutorial.svg")}.icon.update{background-image:url("../icons/update.svg")}.icon.visible{background-image:url("../icons/visible.png")}.icon.warn{background-image:url("../icons/warn.svg")}.icon.web{background-image:url("../icons/web.svg")}.icon.world{background-image:url("../icons/world.svg")}.icon.up{background-image:url("../icons/up.svg")}.icon.down{background-image:url("../icons/down.svg")}.icon.left{background-image:url("../icons/left.svg")}.icon.right{background-image:url("../icons/right.svg")}.icon.mouseLeft{background-image:url("../icons/mouseLeft.png");image-rendering:-moz-crisp-edges;image-rendering:pixelated}.icon.mouseRight{background-image:url("../icons/mouseRight.png");image-rendering:-moz-crisp-edges;image-rendering:pixelated}.icon.mouseWheel{background-image:url("../icons/mouseWheel.png");image-rendering:-moz-crisp-edges;image-rendering:pixelated}.icon.mouseMiddle{background-image:url("../icons/mouseMiddle.png");image-rendering:-moz-crisp-edges;image-rendering:pixelated}.black{filter:brightness(0)}.orange{filter:brightness(0.6) sepia(1) hue-rotate(0.25rad) saturate(10)}.icon.red{filter:brightness(0.4) sepia(1) hue-rotate(-0.4rad) saturate(6)}.collapser{color:#737f9d;font-size:10pt;min-height:.8em;padding-top:4px;padding-bottom:4px;padding-left:24px;background-repeat:no-repeat;background-position:left center}.collapser.expanded{cursor:url("../cursors/collapse.svg") 16 16,zoom-out;color:#fff;background-color:#545d73;background-image:url("../icons/expanded.svg")}.collapser.expanded:hover{color:#000;background-color:#fc0;border-color:#fc0}.collapser.collapsed{cursor:cell;background-color:#2e333f;border:1px solid #545d73;background-image:url("../icons/collapsed.svg");margin-bottom:8px;border-radius:3px}.collapser.collapsed:hover{color:#000;background-color:#fc0;border-color:#fc0}div.entityRef{display:grid;grid-template-rows:-webkit-min-content;grid-template-rows:min-content;padding:4px;padding-left:25px;cursor:url("../cursors/locate.svg") 16 16,zoom-out;border:1px solid #545d73;border-radius:4px;background-image:url("../icons/right.svg");background-repeat:no-repeat;background-position:left center}div.entityRef.isBackRef{background-image:url("../icons/left.svg")}div.entityRef .id{font-size:9pt;font-weight:bold;color:#fc0}div.entityRef .location{font-size:8pt}div.entityRef .location .level{font-weight:bold;color:#737f9d}div.entityRef .location em{opacity:.7;font-style:normal}div.entityRef .location .world{color:#737f9d}div.entityRef:hover{border-color:#fc0}div.entityRef:hover .id{color:#fff}div.entityRef:hover .location{color:#fff}div.entityRef+.entityRef{margin-top:4px}.layerType{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;gap:4px;align-items:center;font-size:12pt}.layerType .icon{width:3em;height:3em}.icon.fieldType{display:flex;flex-direction:column;align-items:center;justify-content:center;width:85px;height:85px;overflow:hidden;box-sizing:border-box;text-transform:none;font-family:Roboto;border:1px dashed #fff;border-radius:4px}.icon.fieldType .typeName{margin-bottom:3px;font-style:normal;font-weight:bold;font-size:13pt;opacity:1;text-shadow:none}.icon.fieldType .typeIcon{font-size:21pt;opacity:.5;text-shadow:0px 2px 2px rgba(0,0,0,.4)}.icon.entityPreview{display:grid;justify-items:center;align-items:center;width:auto;height:auto;overflow:hidden;padding:2px;background-color:#2e333f;border-radius:3px}.pivotEditor{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;gap:8px;align-items:center}.pivotEditor .grid{position:relative;display:grid;align-items:stretch;justify-items:stretch;grid-template-columns:repeat(3, 18px);grid-template-rows:repeat(3, 18px)}.pivotEditor .grid .bg{position:absolute;margin-top:16.665%;margin-left:16.665%;width:66.66%;height:66.66%;border:1px dashed #fff;z-index:-1}.pivotEditor .grid label{display:grid;align-items:center;justify-items:center;cursor:pointer}.pivotEditor .grid label:hover{outline:1px dotted #fc0;outline-offset:-1px}.pivotEditor .grid label input[type=radio]{width:70%;height:70%;opacity:.5;cursor:pointer}.pivotEditor .grid label input[type=radio]:checked{width:100%;height:100%;opacity:1}.pivotEditor.showAdvanced .advanced>a{display:none}.pivotEditor.showAdvanced .advanced .options{display:grid;padding:4px;border:1px solid #1e2229;border-radius:3px}.pivotEditor .advanced .options{display:none;grid-template-columns:auto -webkit-min-content auto;grid-template-columns:auto min-content auto;gap:4px;align-items:center}.pivotEditor .advanced .options .float,.pivotEditor .advanced .options .pixels{display:flex;flex-wrap:nowrap;align-items:center;gap:4px}.pivotEditor .advanced .options .float span,.pivotEditor .advanced .options .pixels span{color:#737f9d;font-size:9pt}.pivotEditor .advanced .options .float input,.pivotEditor .advanced .options .pixels input{width:40px;font-size:9pt}.pivotEditor .advanced .options .sep{border-left:1px solid #545d73;font-size:0}dl.form{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content;width:100%;margin:0}dl.form{padding-bottom:16px}dl.form>dt{grid-column:1/2;display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;min-width:110px;max-width:130px;padding-right:8px;overflow-x:hidden;text-overflow:ellipsis;font-size:9.5pt}dl.form>dt label{padding-top:4px;color:#c1cfeb}dl.form>dt .info,dl.form>dt info{margin-top:4px}dl.form>dt.full{width:auto !important;max-width:none !important;grid-column:1/3}dl.form>dt info,dl.form>dt div.info{width:24px;height:16px;margin-left:8px;font-size:9pt;border:none;background-color:#545d73;color:#1e2229;opacity:.45}dl.form>dt info::before,dl.form>dt div.info::before{content:"?"}dl.form>dt info:hover,dl.form>dt div.info:hover{opacity:1;border-color:#79dd8a;box-shadow:0px 0px 8px #5eab6b;color:#fff;text-shadow:0px 0px 2px #79dd8a;background-color:#79dd8a}dl.form>dd{grid-column:2/3;margin:0}dl.form>dt,dl.form>dd{margin-bottom:10px}dl.form>dd{display:flex;flex-wrap:wrap;align-items:flex-start;border-radius:3px}dl.form>dd>*{flex:1 1 0px}dl.form>dd>.warning{flex:1 0 100%}dl.form>dd>.pivot{flex:0 0 auto}dl.form>dd>input[type=text],dl.form>dd>input[type=text]{width:0px}dl.form>dd>input[type=color]{flex:.1 1 64px}dl.form>dd>input[type=checkbox]{flex:0 1 auto}dl.form>dd>select{flex:1 1 0}dl.form>dd>select:not(.full){width:0}dl.form>dd button{margin-top:0;padding-top:4px;padding-bottom:4px;align-self:stretch}dl.form>dd div.multiLines{width:100%;max-height:85px;overflow:hidden;padding:8px;font-style:italic;font-size:80%;text-overflow:ellipsis;white-space:pre-wrap;border:1px dashed #545d73;cursor:pointer}dl.form>dd div.multiLines.usingDefault{color:#737f9d;background-image:url("../img/stripes.png")}dl.form>dd div.multiLines:hover{border-color:#fff}dl.form>dd .imagePicker{display:flex;align-items:stretch}dl.form>dd .imagePicker button.reload{flex:0 1 0px;padding:3px}dl.form>dd .imagePicker button.pick{flex:1 1 auto;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}dl.form>dd .imagePicker button.recall{flex:0 1 0px;padding:3px}dl.form>dd .imagePicker button.remove{flex:0 1 0px;padding:3px}dl.form>dd .imagePicker .exploreTo{margin-bottom:2px}dl.form>dd .imagePicker.empty button.pick{background-color:#545d73;opacity:.6}dl.form>dd .imagePicker.empty button.pick:hover{background-color:#737f9d;opacity:1}dl.form>dd .imagePicker.empty button.remove{display:none}dl.form>dd .imagePicker.error{margin-top:4px;margin-bottom:4px;padding:3px;border:1px solid #fc0;border-radius:3px;background-color:#791105;box-shadow:0px 0px 4px #e34d00 inset,0px 0px 8px #fc0,0px 0px 16px #e34d00}dl.form>dd .locate{flex:0 0 auto}dl.form>dd .small{flex:0 1 60px}dl.form>dd .small[placeholder]{flex:0 1 90px}dl.form>dd .tiny{flex:0 1 45px}dl.form>dd .tiny[placeholder]{flex:0 1 60px}dl.form>dd .tiny.slider:not(:disabled){flex:0 1 30px}dl.form>dd button.tiny{padding:4px}dl.form>dd a[href]{font-size:.8em;align-self:center;white-space:nowrap}dl.form>dd info,dl.form>dd div.info{flex:0 0 32px}dl.form>dd warning{flex:0 0 28px}dl.form>dd div.help{margin-top:8px;margin-bottom:16px;flex:1 0 100%;box-sizing:border-box}dl.form>dd input[type=text]:not(:-moz-read-only):hover{outline:1px solid #fc0;outline-offset:-1px}dl.form>dd input[type=text]:not(:read-only):hover{outline:1px solid #fc0;outline-offset:-1px}dl.form>dd *+input[type=checkbox]{margin-left:16px}dl.form>dd input[type=checkbox]+label{flex:0 1 auto;align-self:center;padding-left:4px;white-space:nowrap;text-align:left}dl.form>dd>label{flex:0 1 0px;display:flex;margin-right:16px;padding-right:3px;flex-wrap:nowrap;align-items:center;white-space:nowrap;cursor:pointer;border-radius:4px}dl.form>dd>label input{margin-right:4px}dl.form>dd>label:hover{color:#fc0;background-color:#545d73}dl.form>dd input[type=color]{height:32px;cursor:pointer;padding:0}dl.form>dd input[type=color]:hover{outline:1px solid #fc0}dl.form>dd>span{margin:3px;flex:0 0 8px;align-self:center;opacity:.5;text-align:center;white-space:nowrap}dl.form>dd>span.long{flex:1 1 20px;white-space:normal;text-align:left}dl.form>dd>span:last-child{text-align:left}dl.form>dd+li{margin-top:8px}select{display:block;padding:5px;max-width:100%;color:#fff;border:1px solid #737f9d;background-color:#545d73}select:not(.gray){border-radius:3px;box-shadow:0px 2px 0px rgba(0,0,0,.3)}select:disabled{color:#2e333f;border-color:#2e333f;background-color:#1e2229;cursor:not-allowed}select:disabled:hover{border-color:#545d73}select:not(:disabled):hover{border-color:#fff;cursor:pointer}select.gray{border:1px dashed #545d73;padding:8px;color:#fff;background-color:#2e333f;background-image:url("../img/stripes.png")}select option{overflow:hidden;color:#fc0;background-color:#545d73;cursor:pointer}select option:disabled{color:#737f9d;font-style:italic}select option:disabled::before{content:"LOCKED"}select:empty{background-color:rgba(0,0,0,0);border-color:#545d73;opacity:.7}select.noValue:not(:focus){background-color:#545d73;background-image:url("../img/stripes.png");color:#fff}select.required:not(:focus){color:#fff;background-color:#791105;border-color:#e34d00;box-shadow:0px 0px 8px #e34d00}input[type=text],input[type=number]{display:block;padding:8px;color:#fff;background-color:#1e2229;border:1px solid #545d73}input[type=text]:disabled,input[type=number]:disabled{color:#545d73;background-color:#2e333f;cursor:not-allowed}input[type=text]:-moz-read-only, input[type=number]:-moz-read-only{background-color:rgba(0,0,0,0);color:#737f9d}input[type=text]:read-only,input[type=number]:read-only{background-color:rgba(0,0,0,0);color:#737f9d}input[type=text]:focus,input[type=number]:focus{border-color:#fc0;box-shadow:0px 0px 4px #e34d00;outline:none}input[type=text].grayed,input[type=number].grayed{font-style:italic;color:#737f9d}input.slider:not(:disabled){cursor:ew-resize;flex:1 0 48px;box-sizing:content-box;padding-right:20px;background-image:url("../icons/slide.svg");background-repeat:no-repeat;background-position:right 4px center}input.slider:not(:disabled):hover{outline:1px solid #fc0}input.slider:not(:disabled).editing{border-color:#fc0 !important;border-style:dashed;color:#fc0;outline:none !important;box-shadow:0px 0px 8px #d56932 !important}input[type=checkbox]{width:24px;height:24px}input[type=checkbox]:not(:disabled){cursor:pointer}input[type=checkbox]:not(:disabled):hover{outline:1px solid #fc0}input[type=checkbox]:disabled{opacity:.3}input[type=file]{display:none}textarea{resize:none;height:200px;padding:8px;color:#fff;overflow-y:auto;background-color:#1e2229;border:1px solid #545d73;box-shadow:0px 0px 16px #000 inset}textarea:focus{border-color:#fc0;box-shadow:0px 0px 4px #e34d00;outline:none}.tagEditor{display:flex;flex-wrap:wrap;justify-items:stretch}.tagEditor .empty{flex:0 0 auto;padding:4px 8px;margin-right:16px;font-size:9pt;white-space:nowrap;color:#737f9d;font-style:italic;cursor:pointer;border:1px dashed #545d73;border-radius:4px}.tagEditor .empty:hover{color:#fc0}.tagEditor input[type=text]{width:5em}.tagEditor .actions{display:grid;grid-auto-columns:32px;grid-auto-flow:column}.tagEditor .actions button{height:100%;padding:0}.tagEditor .tag,.tagEditor input[type=text]{padding:4px;padding-right:8px;border-radius:2px;border-top-right-radius:8px;border-bottom-right-radius:8px}.tagEditor .tag{display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;min-width:5em;margin-right:2px;margin-bottom:2px;box-sizing:border-box;flex:0 0 auto;white-space:nowrap;border:1px solid #c5926d;background-color:#a17250}.tagEditor .tag:hover{color:#fc0;border-color:#fc0}.tagEditor .tag .label{color:#fff;font-style:italic;cursor:text}.tagEditor .tag button.delete{margin-left:8px;padding:0}.tagEditor .tag button.delete .icon{width:1.2em;height:1.2em}.namePatternEditor{display:grid;grid-template-columns:auto -webkit-min-content -webkit-min-content;grid-template-columns:auto min-content min-content;align-items:center}.namePatternEditor a.reset{font-size:9pt;margin-left:4px;cursor:pointer}.namePatternEditor a.reset:hover{color:#fff}.namePatternEditor .pattern{display:flex;flex-wrap:wrap;padding:4px;padding-bottom:2px;border:1px solid #545d73;background-color:#1e2229}.namePatternEditor .pattern>*{margin-bottom:2px}.namePatternEditor .pattern .block{flex:0 1 0px;padding:3px;min-height:1ch;font-size:9pt;white-space:nowrap;border-radius:3px;border:1px solid #1e2229}.namePatternEditor .pattern .block.var{font-weight:bold;font-size:9pt;font-family:"Courier New",Courier,monospace;text-transform:uppercase;border:1px solid #737f9d;background-color:#545d73;border-left-color:#c1cfeb;border-right-color:#c1cfeb}.namePatternEditor .pattern .block.var:hover{border-color:#c1cfeb}.namePatternEditor .pattern .block.str{background-color:#2e333f;border-bottom-color:#545d73}.namePatternEditor .pattern .block.str:hover{border-color:#fff}.namePatternEditor .pattern .block.empty{min-width:.4ch}.namePatternEditor .pattern .block.empty:hover{min-width:1ch;border-style:dashed;background-color:#545d73}.namePatternEditor .pattern .block.empty.last{min-width:2ch}.namePatternEditor .pattern .block:hover{cursor:pointer}.namePatternEditor .pattern .block.str.selected{display:none}.namePatternEditor .pattern .block.var.selected{border:1px solid #ff4;background-color:#d56932}.namePatternEditor .pattern .block.tmp{white-space:pre}.namePatternEditor .pattern .block.tmp,.namePatternEditor .pattern input[type=text]{padding:3px;min-width:2ch;font-size:9pt;color:#fc0;border:none;border-bottom:1px dashed #fc0;border-radius:0;box-shadow:none}.namePatternEditor .pattern button.add{flex:0 1 0px;white-space:nowrap}.namePatternEditor .pattern.sorting .fixed{display:none}.namePatternEditor .stocks .stock{font-size:9pt;margin-bottom:1px}.namePatternEditor .stocks .stock strong{display:inline-block;margin-right:8px;padding:2px 4px;min-width:15ch;border-radius:3px;background-color:#545d73}.namePatternEditor .stocks .stock em{font-style:normal;color:#737f9d}.namePatternEditor .stocks .stock:hover{color:#fff;background-color:#545d73}.tip{position:absolute;z-index:99;box-sizing:border-box;border-radius:4px;background-color:#3c6148;box-shadow:0px 0px 2px rgba(0,0,0,.6),0px 3px 0px rgba(0,0,0,.4),0px 8px 16px rgba(0,0,0,.3);pointer-events:none}.tip .content{display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;box-sizing:border-box;width:100%;padding:12px;padding-left:18px;padding-right:18px;align-items:center;font-size:1em;color:#79dd8a}.tip .content .text{max-width:250px;text-shadow:0px 1px 0px rgba(0,0,0,.5),0px 2px 4px rgba(0,0,0,.5)}.tip .content .text strong{display:block;color:#fff;font-size:1.2em;font-style:normal;margin-bottom:4px}.tip .content .keys{font-style:normal;margin-left:20px;white-space:nowrap}.tip .content .key{color:#fff}.tip .content p{margin:0}.tip .content p+p{margin-top:7px}.tip.infoTip .content{padding:10px;font-style:normal;font-size:1em}.tip.link{background-color:#425b83}.tip.link .content{color:#acd6f7;font-family:monospace;font-size:7pt;white-space:nowrap;overflow-x:hidden}.tip.link .content .text{font-style:normal}#notificationList{position:absolute;z-index:99;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-end;padding-left:10px;padding-top:10px;padding-bottom:30px;bottom:10vh;right:0px;overflow:hidden;pointer-events:none}#notificationList .notification{flex:0 1 auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;min-width:150px;margin-bottom:8px;background-color:#1e2229;border:1px solid #545d73;border-right:8px solid #545d73;border-top-left-radius:3px;border-bottom-left-radius:3px;box-shadow:0px 2px 4px #000,0px 8px 4px rgba(0,0,0,.5);-webkit-animation:1.3s anim_slideUp;animation:1.3s anim_slideUp}#notificationList .notification .content{padding:6px;padding-right:40px;padding-left:20px}#notificationList .notification .content .title{font-weight:bold;margin-bottom:4px}#notificationList .notification .content .sub{opacity:.8;padding-left:4px}#notificationList .notification .content pre{font-size:8pt}#notificationList .notification.blink{-webkit-animation:1s anim_slideUp,1.5s .25s anim_blinkOnce;animation:1s anim_slideUp,1.5s .25s anim_blinkOnce}#notificationList .notification:not(.latest){opacity:.8;border-right-width:4px;transition:border .3s,opacity .3s;background-image:url("../img/stripesLight.png");background-repeat:repeat}#notificationList .notification:not(.latest) .content{zoom:.9;opacity:.8;transition:padding .3s ease;padding-top:4px;padding-bottom:4px;padding-right:20px}.quickNotif{position:absolute;z-index:99;display:grid;align-items:center;justify-items:center;top:5px;box-sizing:border-box;pointer-events:none}.quickNotif .wrapper{display:flex;margin-left:110px;margin-top:15px;padding:4px 16px;align-items:center;font-family:Roboto;font-size:30pt;color:#fc0;background-color:rgba(0,0,0,.8);border-radius:8px;-webkit-animation:slidedown 1s;animation:slidedown 1s}.quickNotif .wrapper .icon{margin-right:8px}@-webkit-keyframes anim_slideUp{from{max-height:0;overflow:hidden}to{max-height:200}}@keyframes anim_slideUp{from{max-height:0;overflow:hidden}to{max-height:200}}@-webkit-keyframes anim_blinkOnce{0%{filter:brightness(7)}10%{filter:brightness(3)}40%{filter:brightness(1.5)}100%{filter:brightness(1)}}@keyframes anim_blinkOnce{0%{filter:brightness(7)}10%{filter:brightness(3)}40%{filter:brightness(1.5)}100%{filter:brightness(1)}}.lastChance{position:absolute;z-index:99;top:40px;right:0;min-width:150px;background-color:#791105;border-left:4px solid #e34d00;box-shadow:0px 8px 16px rgba(0,0,0,.3);-webkit-animation:anim_slideUp 1.2s;animation:anim_slideUp 1.2s}.lastChance .content{display:grid;align-items:center;width:100%;box-sizing:border-box;padding:20px;padding-right:80px;gap:10px;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;grid-template-rows:auto auto;justify-content:right}.lastChance .content button{grid-row:1/3;height:100%}.lastChance .content .action{grid-column:2/3;font-weight:bold;color:#fc0}.lastChance .content .desc{grid-column:2/3;grid-row:2/3;max-width:250px;font-style:italic;font-size:9pt;color:#fff;opacity:.7}.typeSuggestion{position:absolute;left:0px;top:0px;z-index:98;background:#1e2229}.typeSuggestion li{padding:4px}.typeSuggestion li.out{display:none}.typeSuggestion li.focus{background-color:#fc0;color:#000}.typeSuggestion li.focus strong{color:#000}.typeSuggestion li:hover{outline:1px dotted #fc0;cursor:pointer}.typeSuggestion li strong{color:#fc0;font-weight:normal}.valuePicker{position:absolute;z-index:97;display:grid;grid-template-columns:64px auto 100px;gap:16px;align-items:center;padding:16px;border-radius:4px;left:calc(50vw - 200px);top:85vh;width:400px;background-color:#1e2229;box-shadow:0px 0px 32px #000,0px 0px 16px #000;border:1px dashed #fc0}.valuePicker>.icon{width:48px;height:48px}.valuePicker.error{background-color:#e34d00;box-shadow:0px 0px 32px #e34d00}.valuePicker.error .instructions{display:none}.valuePicker.error .error{color:#fff}.valuePicker .desc{display:grid;gap:8px;grid-template-rows:auto auto}.valuePicker .desc .instructions{color:#fc0;font-weight:bold;text-align:center}.window{position:absolute;left:0px;top:0px;width:100vw;height:100vh;z-index:98}.window .mask{position:absolute;z-index:1;top:0px;left:0px;width:100vw;height:100vh;background-color:rgba(0,0,0,.35)}.window .mask.transparent{opacity:0 !important}.window.centered{display:grid;align-items:center;justify-items:center}.window.centered>.wrapper{position:static;border-radius:4px;border:none;box-shadow:4px 4px 0px rgba(0,0,0,.3),0px 8px 32px #000}.window.centered.forceScroll{align-items:initial}.window:not(.centered)>.wrapper{top:50px;left:50px}.window>.wrapper{display:block;position:absolute;overflow:auto;z-index:2;box-sizing:border-box;padding:20px;background:#2e333f;border:1px solid #545d73;box-shadow:0px 0px 32px #000,0px 8px 32px rgba(0,0,0,.3)}.window>.wrapper>.content>h2:first-of-type{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;grid-auto-flow:column;grid-auto-columns:-webkit-min-content;grid-auto-columns:min-content;align-items:center;margin:-20px;margin-bottom:16px;padding:6px 20px;color:#fff;font-size:15pt;white-space:nowrap;border:0;background-color:#545d73;border-top:1px solid #737f9d}.window>.wrapper>.content>h2:first-of-type>.icon{margin-right:12px}.window>.wrapper>.content>h2:first-of-type button.close{align-self:stretch}.window>.wrapper>.content>h2:first-of-type button.close .icon{margin:0}.window.panel{width:auto;height:auto}.window.panel .mask{width:calc( 100vw - 300px );left:300px}.compactPanel .window.panel .mask{width:calc( 100vw - 130px );left:130px}.window.panel button.close{width:auto;height:auto;padding:6px;border-radius:3px;border:1px solid #2e333f;background-color:rgba(0,0,0,0);box-shadow:0px 1px 0px rgba(0,0,0,.2)}.window.panel button.close:hover{border-color:#fff}.window.panel button.close:hover .icon{filter:brightness(0)}.window.panel button.close:hover{background-color:#fff}.compactPanel .window.panel>button.close{top:65px}.window.panel>.wrapper{top:0px;left:0px;height:100vh;overflow-x:hidden;border-left:none;border-bottom:none;border-top:none;border-top-right-radius:5px;box-shadow:8px 0px 0px rgba(0,0,0,.5)}.window.panel>.wrapper.backupLock{background-color:#2e333f;background-image:url(../img/stripesLight.png);background-repeat:repeat}.window.panel>.wrapper.backupLock .content>*:not(h2:first-of-type){opacity:.2}.window.panel>.wrapper.backupLock .content>*:not(h2:first-of-type) *{cursor:not-allowed !important}.window.panel>.wrapper.backupLock .backupNotice{z-index:2;pointer-events:none;position:absolute;display:grid;align-items:center;justify-content:center;top:0;left:0;width:100%;height:100%}.window.panel>.wrapper.backupLock .backupNotice span{padding:16px;border-radius:4px;background-color:#6594ff;box-shadow:0px 0px 16px rgba(0,0,0,.4)}.window.panel>.wrapper .content{width:800px}.window.panel>.wrapper .content h2,.window.panel>.wrapper .content h3,.window.panel>.wrapper .content h4{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.window.panel>.wrapper .content ul.niceList li{font-size:10pt}.window.editAppSettings .wrapper .content{width:940px}.window.editAppSettings .wrapper .content .columns{display:grid;grid-template-columns:380px auto;gap:32px}.window.editAppSettings .wrapper .content button.update{display:grid;margin-bottom:32px;grid-template-columns:-webkit-min-content -webkit-min-content;grid-template-columns:min-content min-content;justify-content:center;text-align:left;white-space:nowrap}.window.editAppSettings .wrapper .content button.update .icon{grid-column:1/2;grid-row:1/3;margin-right:10px;align-self:center}.window.editAppSettings .wrapper .content button.update strong{grid-column:2/3;font-size:12pt}.window.editAppSettings .wrapper .content button.update em{grid-column:2/3;font-style:normal;text-transform:none}.window.editAppSettings .wrapper .content dl.form dt{max-width:none;white-space:nowrap}.window.editAppSettings .wrapper .content dl.form dd.log{overflow:hidden;flex-wrap:nowrap}.window.editAppSettings .wrapper .content dl.form dd.log .logPath{flex:1 0 auto;padding:4px;text-align:left;overflow:hidden;text-overflow:ellipsis;border:1px solid #545d73}.window.editAppSettings .wrapper .content dl.form dd.log button{flex:0 1 0px;padding:0 2px}.window.moveEntitiesBetweenLayers .wrapper>.content{width:700px}.window.moveEntitiesBetweenLayers .wrapper>.content select{margin-left:4px;margin-right:8px}.window.lockMessage .wrapper .content .task{font-family:Roboto;font-size:18pt;color:#fc0}.window.lockMessage .wrapper .content .task p{margin-top:.5em;margin-bottom:.5em}.window.lockMessage .wrapper .content .sub{color:#737f9d;text-align:center}.window.textEditor .wrapper .content{display:grid;grid-template-rows:-webkit-min-content -webkit-min-content auto;grid-template-rows:min-content min-content auto;width:80vw;height:70vh}.window.textEditor .wrapper .content h2{margin-bottom:8px}.window.textEditor .wrapper .content .header{display:grid;grid-auto-columns:auto;grid-auto-flow:column;gap:8px}.window.textEditor .wrapper .content .header:not(:empty){padding-top:8px;padding-bottom:8px}.window.textEditor .wrapper .content .header .desc{background-color:#1e2229;padding:8px;color:#79dd8a}.window.textEditor .wrapper .content .CodeMirror{width:100%;height:100%}.window.buy .mask{background-color:rgba(0,0,0,.8)}.window.buy .wrapper{border-radius:8px;box-shadow:0px 0px 48px #000}.window.buy .wrapper .content{width:700px}.window.buy .wrapper .content h2{background-color:#000;border:0px}.window.buy .wrapper .content header{display:grid;justify-items:center;align-items:center;margin:-20px;margin-bottom:16px;padding:8px;background-color:#1e2229;background-image:url(../img/githubBanner.png);background-position:center;background-size:cover;min-height:300px}.window.buy .wrapper .content header .icon{width:100px;height:100px}.window.buy .wrapper .content p{margin-top:16px;margin-bottom:16px}.window.buy .wrapper .content .title{margin-top:32px;margin-bottom:32px;color:#fc0;font-size:1.6em;font-weight:bold;text-align:center}.window.buy .wrapper .content .title p{margin:0}.window.buy .wrapper .content .buttons{margin-top:32px;height:3.5em}.window.changelog>.mask{background-color:rgba(0,0,0,.9) !important}.window.changelog>.wrapper{position:relative;padding:0 !important;overflow-x:hidden;overflow-y:hidden}.window.changelog>.wrapper .content{width:900px;max-height:96vh;min-height:50vh;display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;height:100%}.window.changelog>.wrapper .content .changelogsWrapper{padding:20px;overflow-x:hidden;overflow-y:auto;background-color:#1e2229;color:#c1cfeb}.window.changelog>.wrapper .content.short{min-height:0;max-height:450px}.window.changelog>.wrapper .content header{display:grid;grid-template-columns:-webkit-min-content auto -webkit-min-content;grid-template-columns:min-content auto min-content;align-items:stretch;font-family:Roboto}.window.changelog>.wrapper .content header .version{display:grid;align-items:center;padding:16px;font-weight:bold;font-size:50pt;line-height:55pt;color:#1e2229;background-color:#fc0;white-space:nowrap}.window.changelog>.wrapper .content header .version.long{font-size:35pt}.window.changelog>.wrapper .content header .title{display:grid;align-items:center;padding-left:16px;padding-top:16px;padding-bottom:16px;padding-right:64px;font-size:20pt;font-style:italic;color:#fc0;background-color:#2e333f}.window.changelog>.wrapper .content header .title:empty{background-color:#2e333f}.window.changelog>.wrapper .content header .cornerButtons{display:grid;grid-template-rows:-webkit-min-content;grid-template-rows:min-content;align-items:flex-start;padding:8px;width:auto}.window.changelog>.wrapper .content .newUpdate{position:absolute;top:0;right:0;width:200px;height:200px;pointer-events:none}.window.changelog>.wrapper .content .newUpdate span{display:block;position:absolute;transform:rotate(45deg);top:65px;left:-50px;width:300px;padding:16px;white-space:nowrap;box-shadow:0px 4px 8px #000;text-align:center;font-size:1.3em;font-family:Roboto;text-transform:uppercase;color:#000;background-color:#fc0}.window.changelog>.wrapper .content .hotfixes:not(:empty){margin-bottom:32px}.window.changelog>.wrapper .content .hotfixes .hotfix{padding:8px;font-size:10pt;border:1px solid #545d73;border-radius:3px;margin-bottom:8px;cursor:pointer;background-color:#2e333f}.window.changelog>.wrapper .content .hotfixes .hotfix:hover{border-color:#fc0}.window.changelog>.wrapper .content .hotfixes .hotfix .hotfixVersion{font-size:11pt;color:#fc0;font-weight:bold}.window.changelog>.wrapper .content .hotfixes .hotfix .hotfixVersion em{color:#737f9d}.window.changelog>.wrapper .content .hotfixes .hotfix:not(.collapsed){padding-bottom:16px}.window.changelog>.wrapper .content .hotfixes .hotfix:not(.collapsed) .hotfixVersion{margin-bottom:8px}.window.changelog>.wrapper .content .hotfixes .hotfix:not(.collapsed) .icon{background-image:url("../icons/expanded.svg")}.window.changelog>.wrapper .content .hotfixes .hotfix.collapsed>*:not(.hotfixVersion){display:none}.window.changelog>.wrapper .content .hotfixes .hotfix.collapsed .icon{background-image:url("../icons/collapsed.svg")}.window.changelog>.wrapper .content .hotfixes .hotfix.latest:not(.collapsed){color:#fff;border-color:#c1cfeb;background-color:#545d73}.window.changelog>.wrapper .content .hotfixes .hotfix>ul{list-style:square inside}.window.changelog>.wrapper .content .hotfixes .hotfix>ul>li{padding-left:8px;margin-bottom:4px;padding-bottom:4px}.window.changelog>.wrapper .content .markdownHtml h2.version{margin-bottom:32px;font-size:25pt;color:#737f9d;border-bottom:1px solid #737f9d}.window.changelog>.wrapper .content .markdownHtml h2+h2{margin-top:0 !important}.window.changelog>.wrapper .content .markdownHtml img{width:100%;height:auto;border:1px solid #000;border-radius:4px;box-shadow:0px 0px 16px #000 inset;image-rendering:-webkit-optimize-contrast}.window.changelog>.wrapper .content .markdownHtml a:hover{color:#fff}.window.changelog>.wrapper .content .markdownHtml strong{color:#fff}.window.changelog>.wrapper .content .markdownHtml code{display:inline-block;padding:0px 4px;color:#3fdfac;border:1px solid #2e333f;white-space:nowrap;border-radius:3px}.window.changelog>.wrapper .content .markdownHtml code[class^=language-]{white-space:pre-wrap}.window.changelog>.wrapper .content .markdownHtml h2{border-bottom-width:2px}.window.changelog>.wrapper .content .markdownHtml h2:not(:first-child){margin-top:48px}.window.changelog>.wrapper .content .markdownHtml h2+h3{margin-top:0}.window.changelog>.wrapper .content .markdownHtml h3{border:0;margin-top:40px}.window.changelog>.wrapper .content .markdownHtml>p+ul{list-style:square;padding-left:32px}.window.changelog>.wrapper .content .markdownHtml>p+ul li{border:0}.window.changelog>.wrapper .content .markdownHtml>ul>li{border-bottom:1px dashed #2e333f;padding-bottom:8px;margin-bottom:8px}.window.changelog>.wrapper .content .markdownHtml>ul>li ul{margin-top:16px;list-style:square;padding-left:32px}.window.changelog>.wrapper .content .markdownHtml>ul>li ul li+li{margin-top:8px}.window.changelog>.wrapper .content .markdownHtml>ul>li:last-child{border:none;padding-bottom:0;margin-bottom:0}.window.progress{display:grid;align-items:flex-start;justify-items:center}.window.progress>.wrapper{position:static;padding:8px}.window.progress>.wrapper .title{font-family:Roboto;color:#fc0;font-size:14pt;margin-bottom:8px}.window.metaProgress{display:grid;align-items:flex-start;justify-items:center}.window.metaProgress>.wrapper{width:600px;position:static;padding:8px;background-color:#2e333f}.window.metaProgress>.wrapper .title{font-family:Roboto;color:#fc0;font-size:14pt;margin-bottom:8px}.window.metaProgress>.wrapper .progressBar{margin-bottom:0}.window.metaProgress>.wrapper .progressBar .bar{background-color:#ff4}*.contextMenuOpen{outline:1px dashed #fc0 !important;outline-offset:-1px}*.contextMenuOpen>button.context{background:rgba(0,0,0,.5) !important;outline:1px solid #fc0;outline-offset:-1px}.window.contextMenu .wrapper{padding:0px;border-radius:2px;box-shadow:0px 0px 16px #000,0px 4px 8px #000;outline:1px solid #000;overflow-x:hidden}.window.contextMenu .wrapper .content{display:grid;grid-auto-rows:auto}.window.contextMenu .wrapper .content .title{padding:8px 20px;color:#fff;font-weight:bold;background-color:#2e333f}.window.contextMenu .wrapper .content button{display:block;margin:0;padding:8px 20px;font-size:10pt;color:#fc0;text-align:left;background-color:#1e2229}.window.contextMenu .wrapper .content button:hover{background-color:#fc0;color:#000;text-shadow:none}.window.contextMenu .wrapper .content button:hover strong{color:#000}.window.contextMenu .wrapper .content button strong{color:#ff4}.window.contextMenu .wrapper .content button .sub{display:block;margin-top:2px;text-transform:none;color:#737f9d;font-size:9pt;max-width:300px}.window.contextMenu .wrapper .content button:disabled{color:#545d73;font-style:italic;background-repeat:repeat;background-image:url("../img/stripesLight.png")}.window.contextMenu .wrapper .content button.crash:not(:hover){background-color:#3c6148}.window.contextMenu .wrapper .content button.warning{background-color:#791105}.window.contextMenu .wrapper .content button.warning:hover{color:#fff;background-color:#e34d00}.window.contextMenu .wrapper .content button.strong{font-weight:bold;color:#ff4}.window.contextMenu .wrapper .content button.separatorAfter{margin-bottom:8px}.window.contextMenu .wrapper .content button+button{border-top:1px solid #2e333f}.window.dialog{overflow:hidden}.window.dialog.confirm .wrapper{max-width:400px}.window.dialog.confirm .wrapper .content p:first-of-type{margin-top:0}.window.dialog.warning .wrapper{max-width:400px;background-color:#791105;border-color:#e34d00}.window.dialog.error .wrapper{max-width:450px;background-color:#791105;border-color:#e34d00}.window.dialog.error .wrapper h2:first-of-type{background-color:#e34d00}.window.dialog.error .wrapper button{white-space:nowrap}.window.dialog.choice .wrapper{max-width:400px}.window.dialog.choice .wrapper .buttons button{flex:1 0 100%;white-space:nowrap;text-transform:none}.window.dialog.message .wrapper{max-width:400px}.window.dialog.message .wrapper p{margin:0}.window.dialog.message .wrapper *+p{margin-top:1em}.window.dialog.message.hasIcon .content{display:grid;gap:16px;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;align-items:stretch}.window.dialog.message.hasIcon .content .iconWrapper{padding:16px;background-color:#000;border-radius:8px}.window.dialog.message.hasIcon .content .iconWrapper .icon{width:4em;height:4em}.window.dialog>.mask{background-color:rgba(0,0,0,.55)}.window.dialog>.wrapper{padding:20px;box-shadow:0px 8px 32px rgba(0,0,0,.6)}.window.dialog>.wrapper .buttons{margin-top:16px;flex-wrap:wrap}.window.dialog>.wrapper .buttons button{margin:1px}.window.dialog>.wrapper .buttons button:not(.small):not(.full){flex:1 1 0}.window.dialog>.wrapper .buttons button.confirm{flex-grow:2}.window.dialog>.wrapper ul.fileList{padding:8px;background-color:#1e2229;border-radius:3px;font-family:"Courier New",Courier,monospace;font-size:9pt}.window.dialog.warning .wrapper .content{max-width:400px}.window.sync .wrapper .content{max-width:none}.window.sync .wrapper .content h2{display:block}.window.sync .wrapper .content h2 .file{color:#ff4;text-transform:none}.window.sync .wrapper .content .label{display:inline-block;padding:2px 4px;margin-left:16px;font-size:7.5pt;font-family:Arial,Helvetica,sans-serif;color:#000;font-weight:normal;text-decoration:none;text-transform:uppercase;border-radius:3px;background-color:#545d73}.window.sync .wrapper .content .label.added{color:#000;background-color:#cfdd40}.window.sync .wrapper .content .label.removed{color:#fff;background-color:#e34d00}.window.sync .wrapper .content .label.unchanged{color:#737f9d;font-style:italic;background-color:rgba(0,0,0,0)}.window.sync .wrapper .content select{display:inline-block;margin-left:16px;background-color:#2e333f}.window.sync .wrapper .content select.required{border:1px solid #e34d00;color:#737f9d}.window.sync .wrapper .content select option{background-color:#1e2229;color:#fff}.window.sync .wrapper .content select option.def{color:#737f9d;font-style:italic}.window.sync .wrapper .content select option.remove{color:#ffa386}.window.sync .wrapper .content ul.log li:hover{outline:none}.window.sync .wrapper .content ul.log li.enum .title{font-size:12pt;white-space:nowrap}.window.sync .wrapper .content ul.log li.enum.added{color:#cfdd40}.window.sync .wrapper .content ul.log li.enum.removed{color:#e34d00;text-decoration:line-through}.window.sync .wrapper .content ul.log li.enum.unchanged{color:#737f9d}.window.sync .wrapper .content ul.log li.enum ul.values{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin-bottom:8px;margin-left:8px;padding-left:12px;padding-right:16px;padding-top:4px;padding-bottom:8px;border-left:1px solid #545d73;border-bottom:1px solid #545d73;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.window.sync .wrapper .content ul.log li.enum ul.values li{white-space:nowrap;padding:0px 2px;font-size:10pt}.window.sync .wrapper .content ul.log li.enum ul.values li:not([class]){color:#545d73;font-style:italic}.window.sync .wrapper .content ul.log li.enum ul.values li.added{color:#cfdd40}.window.sync .wrapper .content ul.log li.enum ul.values li.removed{color:#e34d00;text-decoration:line-through}.window.logPrint .wrapper .content{max-width:70vw}.window.logPrint .wrapper .content .logHeader{display:grid;grid-template-columns:1fr .5fr;min-width:400px;padding:8px;margin-bottom:8px;background-color:#1e2229;border-radius:4px}.window.logPrint .wrapper .content .logHeader .content{display:grid;align-items:center}.window.logPrint .wrapper .content .logHeader.error{background-color:#791105}.window.logPrint .wrapper .content ul.log{min-width:auto}.window.logPrint .wrapper .content ul.log:empty{display:none}.window.logPrint .wrapper .content ul.log li{font-family:monospace;white-space:pre-wrap;border-left:4px solid #545d73;padding-left:8px;color:#fff}.window.logPrint .wrapper .content ul.log li.critical{padding:12px;border-left-color:#ff4;border-top:1px solid #ffa386;border-bottom:1px solid #ffa386;border-right:1px solid #ffa386;background-color:#e34d00;box-shadow:0px 0px 16px #e34d00;color:#fff;font-weight:bold}.window.logPrint .wrapper .content ul.log li.critical+.critical{margin-top:4px}.window.lostFile .wrapper .content{max-width:50vw}.window.lostFile .wrapper .content .path{text-align:left;padding:4px;background-color:#1e2229;border:1px solid #e34d00}.window.fileChanged .wrapper .content{max-width:50vw}.window.fileChanged .wrapper .content .path{text-align:left;padding:4px;background-color:#1e2229;border:1px solid #e34d00}.window.panel.helpPanel .wrapper .content{width:auto;display:grid;gap:16px}.window.panel.helpPanel h3{margin-top:0}.window.panel.helpPanel .links{display:grid;grid-template-columns:auto auto;gap:16px}.window.panel.helpPanel .links .buttons{display:block}.window.panel.helpPanel .links .buttons button{justify-content:start;text-align:inherit;text-transform:none}.window.panel.helpPanel .links .videosWrapper .videos{display:grid;gap:4px;grid-template-columns:repeat(2, 1fr)}.window.panel.helpPanel .links .videosWrapper .videos>a{border:1px solid #000;cursor:pointer;box-shadow:0px 0px 8px rgba(0,0,0,.5);background-color:#000;background-image:url("../img/stripesLight.png");background-repeat:repeat;height:180px}.window.panel.helpPanel .links .videosWrapper .videos>a img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.window.panel.helpPanel .links .videosWrapper .videos>a:hover{border-color:#fc0}.window.panel.helpPanel .keys{display:grid;grid-template-columns:repeat(2, 420px);gap:16px}.window.panel.helpPanel dl{display:grid;grid-template-columns:.5fr 1fr;align-items:stretch;gap:1px}.window.panel.helpPanel dl dt{margin:0;text-align:right;white-space:nowrap}.window.panel.helpPanel dl dt .icon{width:32px;height:32px}.window.panel.helpPanel dl dd{display:grid;align-items:center;margin:0;font-family:Roboto}.window.panel.helpPanel dl span.misc{margin-left:3px;margin-right:3px}.window.panel.helpPanel dl.major dt{padding:4px;background-color:#1e2229;border-radius:4px}.window.panel.helpPanel dl.major dd{padding:4px;background-color:#545d73;border-radius:4px;font-size:12pt}.window.panel.helpPanel dl.minor dt{padding:4px;padding-right:8px;background-color:#1e2229;border-radius:4px}.window.panel.helpPanel dl.minor dd{padding-left:10px}.window.dialog.fieldTypes>.wrapper,.window.dialog.layerTypes>.wrapper{width:auto;padding:4px}.window.dialog.fieldTypes>.wrapper .content,.window.dialog.layerTypes>.wrapper .content{display:grid;width:100%;gap:2px}.window.dialog.fieldTypes>.wrapper .content button,.window.dialog.layerTypes>.wrapper .content button{margin:0;padding:6px}.window.dialog.fieldTypes>.wrapper .content button:hover,.window.dialog.layerTypes>.wrapper .content button:hover{color:#000;background-color:#fc0 !important}.window.dialog.inputDialog>.wrapper{min-width:400px}.window.dialog.inputDialog>.wrapper .inputWrapper{display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;align-items:center}.window.dialog.inputDialog>.wrapper .inputWrapper .suffix{padding-left:4px}.window.dialog.inputDialog>.wrapper .inputWrapper .suffix:empty{display:none}.window.dialog.inputDialog>.wrapper .error{color:#e34d00;margin-top:4px;min-height:1em}.window.dialog.colorPicker>.wrapper{padding:4px;background-color:#1e2229;border:1px solid #2e333f;border-radius:3px}.window.dialog.colorPicker>.wrapper .content{overflow:hidden;display:grid;grid-template-rows:32px -webkit-min-content auto;grid-template-rows:32px min-content auto;gap:4px}.window.dialog.colorPicker>.wrapper .content .preview{border:1px solid #545d73;outline:1px solid #000;outline-offset:-2px}.window.dialog.colorPicker>.wrapper .content .input{display:grid;grid-template-columns:auto -webkit-min-content -webkit-min-content;grid-template-columns:auto min-content min-content;position:relative}.window.dialog.colorPicker>.wrapper .content .input span{display:flex;align-items:center;height:100%;color:#545d73;position:absolute;margin-left:7px}.window.dialog.colorPicker>.wrapper .content .input input{padding-left:17px}.window.dialog.colorPicker>.wrapper .content .input .copy.done{opacity:.2}.window.dialog.colorPicker>.wrapper .content .input .paste:not(.enabled){opacity:.2}.window.dialog.colorPicker>.wrapper .content .expand{color:#737f9d;font-size:.8em;padding-top:2px;padding-bottom:2px}.window.dialog.colorPicker>.wrapper .content .expand:hover{color:#fc0}.window.dialog.colorPicker>.wrapper .content .expand.on{cursor:pointer;color:#fff;background-color:#545d73}.window.dialog.colorPicker>.wrapper .content .expand.off{cursor:cell;background-color:#2e333f}.window.dialog.colorPicker>.wrapper .content .expand.on .icon.off{display:none}.window.dialog.colorPicker>.wrapper .content .expand.off .icon.on{display:none}.window.dialog.colorPicker>.wrapper .content .expand.showAll .showAll.off{display:none}.window.dialog.colorPicker>.wrapper .content .expand:not(.showAll) .showAll.on{display:none}.window.dialog.colorPicker>.wrapper .content .recents{display:grid;grid-template-columns:repeat(12, 1fr);grid-auto-rows:24px;padding:4px;max-width:320px;max-height:180px;overflow-y:auto;border-left:1px solid #545d73;background-color:#2e333f;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.window.dialog.colorPicker>.wrapper .content .recents:empty{display:none}.window.dialog.colorPicker>.wrapper .content .recents.empty{font-style:italic;color:#737f9d}.window.dialog.colorPicker>.wrapper .content .recents .color{border:1px solid #000;cursor:pointer}.window.dialog.colorPicker>.wrapper .content .recents .color:hover{outline:2px solid #fff;outline-offset:-2px}.window.dialog.colorPicker>.wrapper .content .recents .showAll{padding:2px;grid-column-start:1;grid-column-end:-1;font-size:.8em;color:#fc0;cursor:pointer}.window.dialog.colorPicker>.wrapper .content .recents .showAll:hover{color:#fff}.window.dialog.convertFieldType>.wrapper{width:auto;padding:2px}.window.dialog.convertFieldType>.wrapper .content{width:100%;gap:2px}.window.dialog.convertFieldType>.wrapper .content button{margin:0;margin-bottom:1px;text-transform:none;white-space:nowrap}.window.dialog.fieldTypes .content{grid-template-columns:repeat(5, -webkit-min-content);grid-template-columns:repeat(5, min-content)}.window.dialog.enums .content button{display:flex;width:100%;padding-top:6px;padding-bottom:6px;text-transform:none}.window.dialog.enums .content button .id{flex:1 0 auto;text-align:left}.window.dialog.enums .content button .source{flex:0 1 0;margin-left:8px;font-size:8pt;opacity:.7}.window.dialog.layerTypes .content{grid-auto-rows:100px;grid-template-columns:100px 300px;gap:4px !important}.window.dialog.layerTypes .content .icon{display:block;width:3em;height:3em;margin:auto;margin-bottom:4px}.window.dialog.layerTypes .content .desc{display:grid;align-items:center;padding:8px;color:#79dd8a;background-color:#3c6148;border-radius:4px;border:1px dashed #5eab6b}.window.dialog.layerTypes .content .layerType{display:block;font-size:inherit}.toolPopOutPlaceholder{width:100%;height:100%;outline:2px solid red;background-color:darkred}.window.popOutPalette{align-items:flex-start}.window.popOutPalette>.wrapper{overflow:hidden;padding:0;border:none;outline:1px solid #fff;box-shadow:0px 0px 32px #000}.window.popOutPalette>.wrapper>.content{width:max(45vw, 500px);max-height:70vh}.panelMask{position:absolute;background-color:rgba(0,0,0,.75);opacity:.5;z-index:97}ul.sortable:not(.customHandle) li:not(.fixed){background-image:url("../icons/dragAlpha.svg");background-repeat:no-repeat;background-position:left center;padding-left:32px !important}ul.sortable:not(.customHandle) li:not(.fixed).dragging{cursor:ns-resize}body.panning #worldDepths,body.panning #editingOptions,body.panning #mainPanel,body.panning #permanentNotifications,body.panning .entityInstanceEditor{pointer-events:none}ul.sortable li.dragging{color:#fff;outline:1px dashed #fc0;outline-offset:-1px;opacity:.7;box-shadow:0px 0px 8px #e34d00 inset;background-color:#d56932 !important;background-image:url("../img/stripes.png");background-repeat:repeat}div.sortHandle{display:inline-block;background:url("../icons/drag.svg") no-repeat;background-position:center center;border-right:1px solid #1e2229;padding-left:24px;padding-top:32px;opacity:.3;cursor:move}div.sortHandle:hover{opacity:1;background-color:#fc0;border-radius:2px}#debug{display:none;position:absolute;z-index:99;padding:8px;right:0px;top:0px;font-size:9pt;color:#fff;text-shadow:0px 1px 3px #000;background-color:rgba(0,0,0,.4);max-width:40vw;pointer-events:none}#debug p,#debug pre{white-space:pre-wrap;word-wrap:break-word}#debug p{margin:0;padding:0;margin:0}#debug pre{margin:0;padding:0;font-family:Roboto}#debug p+p{margin-top:3px}#mouseCoords{display:flex;flex-wrap:nowrap;position:absolute;z-index:99;right:3px;bottom:3px;pointer-events:none}#mouseCoords span{padding:4px 8px;font-size:9pt;color:#fff;text-shadow:0px 1px 3px #000;background-color:rgba(0,0,0,.4);border-radius:6px;pointer-events:none}#mouseCoords span+span{margin-left:8px}#mouseCoords span.grid{background-color:rgba(63,195,165,.4)}#mouseCoords span.level{background-color:rgba(37,115,97,.4)}#mouseCoords span.world{background-color:rgba(35,51,115,.4)}#appMask{position:fixed;top:0;left:0;z-index:999;width:100vw;height:100vh;background-color:#1e2229;pointer-events:none}canvas#webgl{position:absolute;top:0;left:0;z-index:1}canvas#webgl:not(.active){visibility:hidden;width:100px !important;height:100px !important}canvas#webgl.active{height:100vh !important}body.hasValuePicker canvas#webgl{outline:4px dashed #fc0 !important;outline-offset:-16px;filter:sepia(0.4)}#page{position:absolute;top:0;left:0;z-index:2}#page.locked{pointer-events:none}#crashed{position:absolute;box-sizing:border-box;top:0;left:0;width:100vw;height:100vh;z-index:9999;padding-bottom:20px;pointer-events:none;display:flex;flex-flow:column;justify-content:flex-end;align-items:center;background-color:rgba(227,77,0,.4);box-shadow:0px 0px 64px inset #e34d00;background-repeat:repeat}#crashed>*{margin:0;margin-bottom:3px;color:#ff4;text-shadow:0px 2px 4px #000;background-color:rgba(0,0,0,.5)}#clicktrap{position:absolute;display:none;top:0;left:0;width:100vw;height:100vh;z-index:9999;background-color:rgba(30,34,41,.4);background-image:url("../img/stripesLight.png");background-repeat:repeat}#page.editor #glCtxLost{display:none;position:absolute;align-items:center;justify-items:center;z-index:3;width:300px;left:calc(50vw - 150px);top:calc(50vh - 20px);padding:16px;color:#e34d00;text-align:center;border:1px solid #e34d00;border-radius:4px;box-shadow:0px 0px 32px #791105 inset;background-color:#000}#page.editor #glCtxLost .icon{width:2em;height:2em;margin-bottom:8px}#page.editor #glCtxLost p{margin:0}#page.editor #glCtxLost p+p{margin-top:4px}body.noGlCtx #page.editor #glCtxLost{display:block}body.noGlCtx #page.editor canvas{cursor:not-allowed !important}#page.editor #permanentNotifications{position:absolute;top:0;left:300px;width:calc( 100vw - 300px );z-index:1}#page.editor #permanentNotifications li{padding-top:8px;padding-bottom:8px;font-size:9pt;color:#fff;font-weight:bold;text-align:center;background-color:#e34d00}#page.editor #permanentNotifications li .backupHeader{display:grid;max-width:600px;margin:auto;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;gap:16px}#page.editor #permanentNotifications li .backupHeader .desc{display:grid;align-items:center;text-align:left}#page.editor #permanentNotifications li .backupHeader .desc p{margin-top:4px;margin-bottom:4px}#page.editor #permanentNotifications li .backupHeader button{width:250px;height:40px;align-self:center}#page.editor #permanentNotifications li#backup{background-color:#6594ff}#page.editor #permanentNotifications li#tutorialDesc{display:flex;justify-content:center;font-size:11pt;font-weight:normal;background-color:#5eab6b}#page.editor #permanentNotifications li#tutorialDesc .wrapper{display:grid;align-items:center;max-width:700px;min-height:64px;padding-left:64px;text-align:left;background-image:url("../icons/help.svg");background-repeat:no-repeat;background-position:left center}#page.editor #permanentNotifications li#tutorialDesc .wrapper p{margin:0}#page.editor #permanentNotifications li#tutorialDesc .wrapper p+p{margin-top:6px}#page.editor #mainPanel{position:absolute;top:0;left:0;width:300px;height:100vh;display:grid;overflow:hidden;grid-template-rows:repeat(4, -webkit-min-content) auto;grid-template-rows:repeat(4, min-content) auto;background:#1e2229;box-sizing:border-box;border-right:2px solid #000}#page.editor #mainPanel #mainbar{overflow:hidden}#page.editor #mainPanel #mainbar .buttons{margin:0;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;margin-bottom:4px}#page.editor #mainPanel #mainbar .buttons button{margin:0;padding:0;padding-top:8px;padding-bottom:8px}#page.editor #mainPanel #mainbar .buttons button .icon{width:1.5em;height:1.5em}#page.editor #mainPanel #mainbar .buttons.faded button:not(.active){opacity:.5;box-shadow:0px -6px 0px rgba(0,0,0,.4) inset}#page.editor #mainPanel ul.niceList{min-height:auto}#page.editor #mainPanel ul#layers{overflow-x:hidden;overflow-y:auto;margin:0;border:0;padding:0;min-height:100px;max-height:250px}#page.editor #mainPanel ul#layers:empty{padding:32px;border:1px solid #2e333f}#page.editor #mainPanel ul#layers li{grid-template-columns:-webkit-min-content -webkit-min-content auto -webkit-min-content;grid-template-columns:min-content min-content auto min-content;padding:0;padding-left:8px;align-items:stretch}#page.editor #mainPanel ul#layers li.hidden{opacity:.4}#page.editor #mainPanel ul#layers li.hidden .actions .vis{cursor:zoom-in}#page.editor #mainPanel ul#layers li.hidden .actions .vis .icon{background-image:url("../icons/hidden.png")}#page.editor #mainPanel ul#layers li.hiddenFromList .name{font-style:italic;color:#e34d00}#page.editor #mainPanel ul#layers li .shortcut{display:flex;align-items:center;min-width:1.2em;text-align:center;color:#737f9d;font-weight:bold;font-size:8pt}#page.editor #mainPanel ul#layers li.active .shortcut{color:#d56932}#page.editor #mainPanel ul#layers li .layerIcon{display:flex;align-items:center}#page.editor #mainPanel ul#layers li .name{display:flex;align-items:center;overflow-x:hidden;padding-top:8px;padding-bottom:8px;font-size:10pt}#page.editor #mainPanel ul#layers li .actions{display:flex}#page.editor #mainPanel ul#layers li .actions .vis{display:flex;align-items:center;padding:0px 4px;color:#fff;text-shadow:0px 0px 4px #000;order:2;border-radius:3px;cursor:zoom-out}#page.editor #mainPanel ul#layers li .actions .vis .icon{background-image:url("../icons/visible.png")}#page.editor #mainPanel ul#layers li .actions .vis:hover{background-color:#fff}#page.editor #mainPanel ul#layers li .actions a{display:flex;align-items:center;padding:4px;margin-top:1px;margin-bottom:1px;color:#fff;white-space:nowrap;font-size:8pt;text-transform:uppercase;text-decoration:none;background-color:#545d73;border-radius:3px;cursor:pointer}#page.editor #mainPanel ul#layers li .actions a:hover{color:#000;background-color:#fff}#page.editor #mainPanel #guide{display:flex;min-height:1.3em;flex-wrap:wrap;padding:4px;margin-bottom:16px;vertical-align:middle;font-family:Roboto;color:#79dd8a;font-size:.9em;align-items:stretch;background-color:#273f2f;border-top:1px solid #5eab6b;border-bottom:1px solid #5eab6b}#page.editor #mainPanel #guide:empty{margin:0;padding:0;min-height:0;background-color:rgba(0,0,0,0);border:none}#page.editor #mainPanel #guide>span{padding-left:1px;padding-right:8px;color:#79dd8a;font-style:italic;white-space:nowrap;flex:0 1 auto;margin-right:3px;margin-bottom:1px;background-color:#3c6148;border-radius:3px}#page.editor #mainPanel #guide .key{color:#fff;margin:0;margin-right:1px;box-shadow:none}#page.editor #mainPanel #guide .key:last-of-type{margin-right:4px}#page.editor #mainPanel #toolOptions select{width:100%}#page.editor #mainPanel #toolOptions select option.bad{color:#545d73}#page.editor #mainPanel #mainPaletteWrapper{overflow:auto;position:relative}#page.editor #mainPanel #mainPaletteWrapper:empty{margin-top:1px;box-sizing:border-box;box-shadow:0px 0px 8px #1e2229 inset;outline-color:#545d73;border-top:1px solid #2e333f;background-image:url("../img/stripes.png")}#page.editor #mainPanel #mainPaletteWrapper ul.niceList{height:100%;box-sizing:border-box}#page.editor ul#editingOptions{position:absolute;z-index:1;top:46px;left:300px;display:grid;gap:1px;background-color:#1e2229;padding:3px;padding-left:0;border-radius:4px;border-top-left-radius:0px;border-bottom-left-radius:0px}#page.editor ul#editingOptions li{align-items:center;border:1px solid #545d73;border-radius:3px;padding:4px;cursor:pointer}#page.editor ul#editingOptions li.separator{padding:0;cursor:default;border:none;height:16px}#page.editor ul#editingOptions li .icon{width:24px;height:24px}#page.editor ul#editingOptions li.active{border-color:#cfdd40;background-color:#3c6148;box-shadow:0px 0px 4px #79dd8a,0px 0px 16px #cfdd40 inset}#page.editor ul#editingOptions li.active .off{display:none}#page.editor ul#editingOptions li:hover{border-color:#fff}#page.editor ul#editingOptions li:not(.active) .on{display:none}#page.editor ul#editingOptions li:not(.active) .icon{opacity:.66}#page.editor ul#editingOptions li:not(.active).warnOff{border-color:#fc0;background-color:#791105;box-shadow:0px 0px 16px #e34d00,0px 0px 16px #e34d00 inset}#page.editor ul#editingOptions li.unsupported{cursor:not-allowed;border-color:rgba(0,0,0,0);background-image:url("../img/stripes.png");box-shadow:none}#page.editor ul#editingOptions li.unsupported .icon{opacity:.2}#page.editor #worldDepths{position:absolute;z-index:2;top:46px;left:340px;display:grid;background-color:#1e2229;padding:3px;border-radius:4px;max-height:70vh;overflow-y:auto;box-shadow:0px 4px 2px rgba(0,0,0,.4)}#page.editor #worldDepths>.title{display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;padding-top:3px;margin-bottom:8px;white-space:nowrap;font-size:.8em;font-weight:bold;color:#545d73;text-align:center}#page.editor #worldDepths>.title info{opacity:.66}#page.editor #worldDepths>ul{display:grid}#page.editor #worldDepths>ul li{display:grid;grid-template-columns:-webkit-min-content -webkit-min-content;grid-template-columns:min-content min-content;gap:3px;align-items:center;justify-content:flex-start;border-radius:4px;padding-left:4px;padding-right:4px;cursor:pointer}#page.editor #worldDepths>ul li:not(:first-child){margin-top:-8px}#page.editor #worldDepths>ul li .icon{width:50px;height:28px;background-image:url("../icons/worldLayer_below.svg");background-repeat:no-repeat;background-position:left center;background-size:contain;transform:scaleY(-1)}#page.editor #worldDepths>ul li:last-child .icon{background-image:url("../icons/worldLayer_top.svg")}#page.editor #worldDepths>ul li:first-child .icon{opacity:.5}#page.editor #worldDepths>ul li .label{font-size:10pt;color:#545d73;padding:0px 4px;border-radius:4px;min-width:1em;text-align:center}#page.editor #worldDepths>ul li.active{z-index:2;border-color:#fc0;pointer-events:none}#page.editor #worldDepths>ul li.active .icon{opacity:1;filter:brightness(0.6) sepia(1) hue-rotate(0.25rad) saturate(10)}#page.editor #worldDepths>ul li.active .label{color:#000;background-color:#fc0}#page.editor #worldDepths>ul li:not(.active):hover{margin-left:2px;background-color:#2e333f}#page.editor #worldDepths>ul li:not(.active):hover .icon{filter:brightness(0.6) sepia(1) hue-rotate(0.25rad) saturate(10)}#page.editor #worldDepths>ul li:not(.active):hover .label{color:#c1cfeb}#page.editor:not(.compactPanel) .onlyCompact{display:none}#page.editor.compactPanel .notCompact{display:none}#page.editor.compactPanel .onlyCompact{display:block}#page.editor.compactPanel #mainPanel{width:130px;grid-template-rows:-webkit-min-content 200px -webkit-min-content auto;grid-template-rows:min-content 200px min-content auto}#page.editor.compactPanel #mainPanel #mainBar .buttons{display:grid;grid-template-columns:repeat(5, 20%);grid-template-rows:repeat(2, 30px)}#page.editor.compactPanel #mainPanel #mainBar .buttons button{z-index:1;margin:0px}#page.editor.compactPanel #mainPanel #mainBar .buttons button.showHelp{grid-row:1/2;grid-column:3/4;z-index:0}#page.editor.compactPanel #mainPanel #mainBar .buttons button.settings{grid-row:1/2;grid-column:4/5;z-index:0}#page.editor.compactPanel #mainPanel #mainBar .buttons button.close{grid-row:1/2;grid-column:5/6;z-index:0}#page.editor.compactPanel #mainPanel #mainBar .buttons .icon{width:1.3em;height:1.3em}#page.editor.compactPanel #mainPanel #guide{display:none}#page.editor.compactPanel #mainPanel ul#layers li{grid-template-columns:-webkit-min-content auto -webkit-min-content;grid-template-columns:min-content auto min-content}#page.editor.compactPanel #mainPanel ul#layers li .layerIcon,#page.editor.compactPanel #mainPanel ul#layers li .index{display:none}#page.editor.compactPanel #mainPanel ul#layers li .name{font-size:8pt}#page.editor.compactPanel #mainPanel ul#layers li .actions .vis{font-size:8pt}#page.editor.compactPanel #mainPanel ul#layers li .actions a{padding:2px;font-size:7pt;text-transform:none}#page.editor.compactPanel #mainPanel ul#layers li .actions a:hover .icon{filter:brightness(0)}#page.editor.compactPanel #mainPanel ul.niceList li{padding:4px 2px;gap:4px}#page.editor.compactPanel #mainPanel h2#levelName{font-size:1.1em}#page.editor.compactPanel #mainPaletteWrapper .niceList li,#page.editor.compactPanel #mainPaletteWrapper .intGridValues li{font-size:9.5pt;border-left-width:2px}#page.editor.compactPanel #permanentNotifications{left:130px;width:calc( 100vw - 130px )}#page.editor.compactPanel ul#editingOptions{left:130px;top:74px}#page.editor.compactPanel ul#editingOptions .icon{width:18px;height:18px}#page.updating{display:grid;width:100vw;height:100vh;align-content:center;justify-content:center;background-color:#1e2229}#page.updating .wrapper{display:grid;padding-top:32px}#page.updating .wrapper .appLogo{margin-bottom:16px}#page.updating .wrapper .updating{padding:16px;font-size:1.3em;color:#000;text-align:center;border-radius:3px;background-color:#fc0;-webkit-animation:anim_slideUp 1s;animation:anim_slideUp 1s}#page.crashReport{width:100vw;height:100vh;display:grid;align-items:center;justify-items:center;background-color:#1e2229;background-image:url("../img/stripes.png")}#page.crashReport>.wrapper{background-color:#2e333f;padding:32px;width:700px;max-width:90vw;border-radius:4px;box-shadow:0px 8px 0px rgba(0,0,0,.2),0px 0px 32px rgba(0,0,0,.3)}#page.crashReport>.wrapper a{text-decoration:underline;cursor:pointer}#page.crashReport>.wrapper a:hover{color:#fff}#page.crashReport>.wrapper .desc{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;align-items:center;gap:16px;margin-top:16px}#page.crashReport>.wrapper .desc .ghost{width:100px;height:100px}#page.crashReport>.wrapper .desc .text{border-left:1px solid #545d73;padding-left:16px;border-radius:16px}#page.crashReport>.wrapper .desc .text .arrow{position:absolute;margin-left:-32px;margin-top:24px;width:0;height:0;border-top:16px solid rgba(0,0,0,0);border-right:16px solid #545d73;border-bottom:16px solid rgba(0,0,0,0)}#page.crashReport>.wrapper .desc .text .backup{background-color:#5eab6b;padding:8px;border-radius:4px;color:#fff;font-weight:bold}#page.crashReport>.wrapper .desc .text .backup:empty{display:none}#page.crashReport>.wrapper .error{padding:16px;margin-top:16px;margin-bottom:16px;color:#fff;text-shadow:0px 0px 8px #e34d00,0px 0px 16px #e34d00;font-family:monospace;white-space:pre-wrap;background-color:#791105;border:1px solid #fc0;box-shadow:0px 0px 16px #e34d00}#page.crashReport>.wrapper .buttons button.copy,#page.crashReport>.wrapper .buttons button.report{flex-grow:.66}#page.crashReport>.wrapper .buttons button.done{opacity:.35}#page.home{display:grid;width:100vw;height:100vh;align-content:center;background-color:#1e2229}#page.home>.wrapper{display:grid;grid-template-columns:100%;grid-template-rows:32vh 58vh 10vh;box-sizing:border-box;width:80vw;min-width:960px;max-width:1200px;margin:auto;height:100%;align-items:center;justify-content:center}@media(max-width: 1000px){#page.home>.wrapper .buttons button{font-size:9pt !important}}#page.home>.wrapper header{display:grid;align-self:stretch;align-items:center;grid-template-columns:-webkit-min-content -webkit-min-content;grid-template-columns:min-content min-content;background-image:url("../img/homeBg_header.png");background-size:contain;background-repeat:no-repeat;background-position:bottom center}#page.home>.wrapper header .version{font-size:150pt;color:#545d73;opacity:.3;text-align:center;margin-top:8px}#page.home>.wrapper header .appLogo{min-height:160px}#page.home>.wrapper header .disclaimer{margin-top:8px;margin-bottom:8px;padding:16px;font-size:9pt;background-color:#791105;border-radius:3px}#page.home>.wrapper header .disclaimer h2{font-size:10pt;border:none;margin:0;padding:0;margin-bottom:4px}#page.home>.wrapper header .disclaimer p{margin:0;margin-bottom:4px}#page.home>.wrapper header .disclaimer strong{text-decoration:underline}#page.home>.wrapper .footer{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;box-sizing:border-box;padding-top:16px;padding-bottom:16px;align-self:center}#page.home>.wrapper .footer a img{height:2.5em}#page.home>.wrapper .footer span{color:#545d73;text-align:right;margin-top:20px;font-size:.75em}#page.home>.wrapper .main{display:grid;width:100%;grid-template-columns:auto 250px;box-sizing:border-box;padding-top:30px;height:100%;background-image:url("../img/homeBg_main.png");background-size:contain;background-repeat:no-repeat;background-position:top center}#page.home>.wrapper .buttons{flex-wrap:nowrap}#page.home>.wrapper .buttons button{display:grid;grid-auto-flow:column;gap:6px;justify-content:center;align-items:center;height:38px;padding:0px 8px;font-size:11pt;white-space:nowrap;text-transform:none}#page.home>.wrapper .buttons button.small{flex:.5 1 0px}#page.home>.wrapper .buttons button.small .icon{margin:0}#page.home>.wrapper .buttons button.buy{text-transform:none}#page.home>.wrapper .buttons button.settings{flex:0 1 0px}#page.home>.wrapper .buttons button.exit{display:none;flex:0 1 0px}#page.home>.wrapper .buttons button.import{flex:0 1 0px}body.fullscreen #page.home .buttons .exit{display:inherit !important}#page.home>.wrapper .files{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;gap:8px;height:100%;overflow:hidden}#page.home>.wrapper .files.hasSamples{grid-template-rows:-webkit-min-content -webkit-min-content auto;grid-template-rows:min-content min-content auto}#page.home>.wrapper .files .buttons{grid-column:1/3}#page.home>.wrapper .files .allSamples{display:none;grid-column:1/3;padding:4px;border:1px solid #79dd8a;border-radius:3px;background-color:#273f2f}#page.home>.wrapper .files .allSamples .title{display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;align-items:flex-end;margin:-4px;margin-bottom:0;padding:8px;font:Roboto;color:#79dd8a;font-size:10pt}#page.home>.wrapper .files .allSamples .title button.hide{padding:0;background:#3c6148;box-shadow:none;border:1px solid #5eab6b;margin-top:-4px;margin-bottom:-4px}#page.home>.wrapper .files .allSamples .title button.hide:hover{border-color:#fff}#page.home>.wrapper .files .allSamples .scroller{display:flex;overflow-x:auto;padding:4px;padding-bottom:8px;background-color:#3c6148}#page.home>.wrapper .files .allSamples .sample{display:grid;flex:0 0 128px;border-radius:4px;overflow:hidden;grid-template-rows:96px auto;cursor:pointer;background-color:#000}#page.home>.wrapper .files .allSamples .sample:hover{outline:1px solid #fff}#page.home>.wrapper .files .allSamples .sample.seen{opacity:.6}#page.home>.wrapper .files .allSamples .sample.seen .name{color:#c1cfeb}#page.home>.wrapper .files .allSamples .sample .thumb{background-position:center;background-size:cover;border:1px solid #000;box-shadow:0px 0px 8px #000 inset,0px 0px 8px #000 inset}#page.home>.wrapper .files .allSamples .sample .name{display:grid;align-content:center;padding:4px 2px;font-size:8.5pt;text-align:center;color:#fff}#page.home>.wrapper .files .allSamples .sample+.sample{margin-left:4px}#page.home>.wrapper .files ul.recentFiles,#page.home>.wrapper .files ul.recentDirs{overflow-y:auto;margin-top:0;margin-bottom:0;padding:4px;min-height:0}#page.home>.wrapper .files ul.recentFiles li.title,#page.home>.wrapper .files ul.recentDirs li.title{border:0;padding:3px 0px}#page.home>.wrapper .files ul.recentFiles:empty,#page.home>.wrapper .files ul.recentDirs:empty{padding:40px}#page.home>.wrapper .files ul.recentFiles:empty::before,#page.home>.wrapper .files ul.recentDirs:empty::before{color:#737f9d;text-shadow:0px 2px 8px #1e2229,0px 2px 2px #1e2229}#page.home>.wrapper .files ul.recentFiles li .path,#page.home>.wrapper .files ul.recentDirs li .path{width:100%;overflow:hidden;white-space:nowrap;text-align:left}#page.home>.wrapper .files ul.recentFiles:empty::before{content:"No recent project file"}#page.home>.wrapper .files ul.recentFiles li{display:grid;overflow:hidden;grid-template-columns:auto -webkit-min-content -webkit-min-content;grid-template-columns:auto min-content min-content;grid-template-rows:auto auto}#page.home>.wrapper .files ul.recentFiles li.missing .fileName{text-decoration:line-through;font-weight:normal;color:#ffa386 !important}#page.home>.wrapper .files ul.recentFiles li .fileName{grid-column:1/2;font-weight:bold;overflow:hidden;width:100%;white-space:nowrap;text-overflow:ellipsis}#page.home>.wrapper .files ul.recentFiles li .path{grid-column:1/2;grid-row:2/3;font-size:9pt;color:#737f9d;text-overflow:ellipsis;opacity:.55}#page.home>.wrapper .files ul.recentFiles li .path>span:last-of-type{display:none}#page.home>.wrapper .files ul.recentFiles li.sample .fileName{color:#79dd8a !important;grid-row:1/3}#page.home>.wrapper .files ul.recentFiles li.sample .path{display:none}#page.home>.wrapper .files ul.recentFiles li button.backups{grid-column:2/3;grid-row:1/3;padding:0 2px;align-self:stretch}#page.home>.wrapper .files ul.recentFiles li button.context{grid-column:3/4;grid-row:1/3;align-self:stretch}#page.home>.wrapper .files ul.recentFiles li:first-of-type:hover{outline-color:#fff}#page.home>.wrapper .files ul.recentFiles li.crash{border:1px solid #79dd8a;background-color:#3c6148;box-shadow:0px 0px 16px #79dd8a}#page.home>.wrapper .files ul.recentDirs:empty::before{content:"No recent folder"}#page.home>.wrapper .files ul.recentDirs li{padding:2px 8px}#page.home>.wrapper .files ul.recentDirs .path{text-overflow:ellipsis}#page.home>.wrapper .files ul.recentDirs li.sample .path>span{color:#79dd8a !important}#page.home>.wrapper .files ul.recentDirs li.missing .path>span{color:#ffa386 !important;text-decoration:line-through}#page.home>.wrapper .files .buttons{margin:0}#page.home>.wrapper .about{display:grid;grid-template-rows:auto;gap:8px;height:100%;overflow:hidden;margin-left:16px;background-color:#2e333f;border-radius:4px}#page.home>.wrapper .about .buttons{display:grid;grid-template-rows:40px -webkit-min-content;grid-template-rows:40px min-content;grid-auto-rows:40px;margin:0}#page.home>.wrapper .about .buttons button{height:auto}#page.home>.wrapper .about .buttons button{justify-content:flex-start}#page.home>.wrapper .about .buttons button[href]{box-shadow:none;background-color:#2e333f;border-bottom:1px solid #1e2229}#page.home>.wrapper .about .buttons button[href]:hover{background-color:#545d73}#page.home>.wrapper .about .buttons button.update{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;justify-content:flex-start;align-content:center;overflow:hidden;padding-top:16px;padding-bottom:16px;text-align:left;white-space:initial;font-family:Roboto}#page.home>.wrapper .about .buttons button.update .icon{grid-row:2/3;align-self:flex-start;width:2.2em;height:2.2em;filter:brightness(0.6) sepia(1) hue-rotate(0.25rad) saturate(10)}#page.home>.wrapper .about .buttons button.update em{grid-column:1/3;font-style:normal;opacity:.8}#page.home>.wrapper .about .buttons button.update strong{grid-column:2/3;font-size:14pt;font-weight:normal;color:#fc0}.palette{display:grid;grid-template-rows:auto fit-content(24px);align-items:center;width:100%;height:100%;background-color:#1e2229;image-rendering:-moz-crisp-edges;image-rendering:pixelated}.palette.invalid{background:url("../img/stripes.png")}.palette.invalid .warning{color:#e34d00;margin:50px}.palette .toolOptions{display:flex;flex-wrap:nowrap;padding-top:1px}.palette .toolOptions>*+*{margin-left:10px}.palette .toolOptions>*{flex:0 1 auto}.palette .toolOptions label{display:flex;align-items:center;flex-wrap:nowrap;white-space:nowrap}.palette .toolOptions label input[type=checkbox]{flex:0 0 auto;width:24px;height:24px;margin-right:4px}.palette .toolOptions button{width:auto;padding-top:4px;text-transform:none;padding-bottom:4px;margin-bottom:3px}.palette ul.niceList{margin:0;padding:4px;width:100%;height:100%;border:0px}.palette ul.niceList li:not(.title):not(.subList){display:flex;min-height:16px;cursor:pointer;box-shadow:none;border:0;border-left:6px solid #fff}.palette ul.niceList li:not(.title):not(.subList):not(.active):hover{outline:1px solid #fff !important;outline-offset:-1px}.palette ul.niceList li.subList{padding:0}.palette ul.niceList li.entity{overflow:hidden}.palette ul.niceList li.entity .entityPreview{margin-right:8px}.palette ul.niceList li.color{padding-left:10px;overflow:hidden;line-height:32px}.palette ul.niceList li.active{outline:1px solid #fff !important;outline-offset:-1px}.palette ul.niceList.intGridValues .intGridValue{min-width:1.5em;text-align:center;border:1px solid #fff;border-radius:3px}.tileset{width:100%;height:100%;padding:1px;position:relative;overflow:hidden;box-sizing:border-box}.tileset .tilesetWrapper{width:100%;height:100%;position:relative;overflow:hidden;box-sizing:border-box;background-color:#1e2229}.tileset .tilesetWrapper[cursor=pan]{cursor:-webkit-grab;cursor:grab}.tileset .tilesetWrapper[cursor=pick]{cursor:pointer}.tileset .tilesetWrapper[cursor=forbidden]{cursor:not-allowed}.tileset .tilesetWrapper[cursor=paint]{cursor:crosshair}.tileset .selectionInfos{position:absolute;z-index:2;pointer-events:none;top:0;right:0;height:1em;font-size:.75em;padding:1px 4px;background-color:#1e2229;box-shadow:-2px 2px 4px #000;opacity:.7}.tileset canvas{image-rendering:-moz-crisp-edges;image-rendering:pixelated;outline:1px solid rgba(0,0,0,.4);box-shadow:0px 0px 16px #000;background-image:url("../img/transparency.png");background-repeat:repeat;background-color:#2e333f}.tileset.singleTileMode .selectionsWrapper .tileCursor.selection{border-width:1px;border-color:#fc0;border-style:solid;box-shadow:0px 0px 16px #e34d00}.tileset .highlightWrapper{pointer-events:none;position:relative}.tileset .highlightWrapper .line{position:absolute;z-index:1;min-width:1px;min-height:1px;outline:2px solid #f0f;outline-offset:-2px;border:1px solid #000;background-color:rgba(255,0,255,.2)}.tileset .selectionsWrapper,.tileset .cursorsWrapper{pointer-events:none;position:relative}.tileset .selectionsWrapper .tileCursor,.tileset .cursorsWrapper .tileCursor{position:absolute;z-index:1;min-width:1px;min-height:1px;box-sizing:border-box;pointer-events:none;border-color:rgba(255,255,255,.5);border-style:solid;border-width:0px}.tileset .selectionsWrapper .tileCursor.mouseOver,.tileset .cursorsWrapper .tileCursor.mouseOver{border-color:rgba(255,255,255,.25)}.tileset .selectionsWrapper .tileCursor.randomMode,.tileset .cursorsWrapper .tileCursor.randomMode{border-width:1px;border-color:rgba(144,238,144,.5);border-style:dotted}.tileset .selectionsWrapper .tileCursor.randomMode.selection,.tileset .cursorsWrapper .tileCursor.randomMode.selection{border-color:#90ee90;border-style:solid}.tileset .selectionsWrapper .tileCursor.stampMode.selection,.tileset .cursorsWrapper .tileCursor.stampMode.selection{border-color:#f3e4a4;border-style:solid}.tileset .selectionsWrapper .tileCursor.left,.tileset .cursorsWrapper .tileCursor.left{border-left-width:1px}.tileset .selectionsWrapper .tileCursor.right,.tileset .cursorsWrapper .tileCursor.right{border-right-width:1px}.tileset .selectionsWrapper .tileCursor.top,.tileset .cursorsWrapper .tileCursor.top{border-top-width:1px}.tileset .selectionsWrapper .tileCursor.bottom,.tileset .cursorsWrapper .tileCursor.bottom{border-bottom-width:1px}.tileset .selectionsWrapper .tileCursor.remove,.tileset .cursorsWrapper .tileCursor.remove{border-color:red}.tileset.tileTagger{display:grid;grid-template-columns:auto;grid-auto-flow:column;grid-auto-columns:-webkit-min-content;grid-auto-columns:min-content}.tileset.tileTagger .tools{display:grid;overflow:hidden;grid-template-rows:auto;width:130px}.tileset.tileTagger .tools ul.values{overflow-y:auto}.tileset.tileTagger .tools ul.values li{overflow:hidden;grid-template-columns:-webkit-min-content;grid-template-columns:min-content;grid-auto-flow:column;grid-auto-columns:auto;text-overflow:ellipsis;border:none;border-left:5px solid #fff;white-space:nowrap}.tileset.tileTagger .tools ul.values li.active{color:inherit;outline:2px solid #fff;outline-offset:-2px;box-shadow:none}.tileset.tileTagger .tools ul.values li.none{border:none;background-color:#2e333f;color:#737f9d}.window.singleTilePicker{z-index:99}.window.singleTilePicker .wrapper{padding:0}.window.singleTilePicker .wrapper .content{width:60vw;height:60vh}.entityInstanceEditor{position:absolute;z-index:10;width:350px;box-sizing:border-box;box-shadow:-4px 0px 16px rgba(0,0,0,.6);background-color:#1e2229;transition:opacity .3s}.entityInstanceEditor.faded{opacity:.3}.entityInstanceEditor .entityInstanceWrapper{overflow:auto;max-height:90vh;padding:10px;box-sizing:border-box}.entityInstanceEditor .resizeBar{position:absolute;top:0;left:0;width:4px;height:100%;background-color:#fc0;cursor:ew-resize}.entityInstanceEditor header{display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;width:100%;padding-bottom:4px;margin-bottom:4px;overflow:hidden;font-weight:bold;color:#fc0;border-bottom:1px solid #545d73}.entityInstanceEditor header a{display:inline-block;padding:2px 4px;font-size:8pt;color:#000;border-radius:2px;background-color:#fc0;cursor:pointer}.entityInstanceEditor header a:hover{background-color:#fff}.entityInstanceEditor .empty{color:#737f9d;font-style:italic}.entityInstanceEditor .doc{padding:8px 8px;margin-bottom:8px;color:#79dd8a;background-color:#273f2f;border-radius:3px;border:1px solid #5eab6b}.entityInstanceEditor .doc p{font-size:10pt;margin:0}.entityInstanceEditor .doc p+p{margin-top:4px}.entityInstanceEditor dl.extraInfos{width:auto;margin-bottom:8px;padding:8px;padding-bottom:0;border:1px solid #737f9d;border-left-width:2px;border-top:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px;background-color:#2e333f}.entityInstanceEditor dl.extraInfos:empty{display:none}.entityInstanceEditor dl.extraInfos dt{padding-top:0;min-width:80px;align-items:center}.entityInstanceEditor dl.extraInfos dd{color:#737f9d}.entityInstanceEditor dl.extraInfos dd.iid button.copy{flex:0 1 0px}.entityInstanceEditor dl.extraInfos dd.iid input.iid{color:#c1cfeb;font-size:8pt}.entityInstanceEditor dl.extraInfos dd.coords{align-items:center}.entityInstanceEditor dl.extraInfos dd.coords input{padding:3px;font-size:.8em}.entityInstanceEditor dl.extraInfos dd .unit{display:inline-block;padding:1px 6px;font-size:.9em;color:#737f9d;opacity:1;border:1px dashed #545d73;border-radius:4px;text-align:center;cursor:pointer}.entityInstanceEditor dl.extraInfos dd .unit:hover{border-color:#fc0;color:#fc0}.fieldDefsForm{width:100%;height:100%;overflow:hidden;display:grid;gap:8px;grid-template-columns:200px auto;grid-template-rows:40px auto}.fieldDefsForm .buttons{flex-wrap:nowrap}.fieldDefsForm button{white-space:nowrap}.fieldDefsForm ul.fieldList{overflow:auto;margin:0;grid-row:2/3}.fieldDefsForm ul.fieldList li{grid-template-columns:auto -webkit-min-content -webkit-min-content;grid-template-columns:auto min-content min-content;gap:0px 2px;overflow:hidden}.fieldDefsForm ul.fieldList li .name{width:100%;overflow:hidden}.fieldDefsForm ul.fieldList li .type{display:block;box-sizing:border-box;flex:0 1 0px;width:3em;padding:4px;overflow:hidden;color:#fff;font-weight:bold;font-size:8pt;text-align:center;border:1px solid #fff;border-radius:3px;box-shadow:0px 0px 4px rgba(0,0,0,.5)}.fieldDefsForm ul.fieldList li .type.array{border-left:2px solid #fff !important;border-right:2px solid #fff !important;border-top:none;border-bottom:none}.fieldDefsForm ul.fieldList:empty::before{content:"No custom field"}.fieldDefsForm .buttons{grid-column:1/2;grid-row:1/2}.fieldDefsForm dl.form{overflow:auto;grid-column:2/3;grid-row:1/3}.fieldDefsForm dl.form input.type{font-family:"Courier New",Courier,monospace}.fieldDefsForm dl.form dt>label{flex:0 0 100px}.fieldDefsForm dl.form button.convert,.fieldDefsForm dl.form .F_Path.file-select{padding:4px;flex:0 1 0px;align-self:stretch}.fieldDefsForm dl.form .allowedRefTags:not(:empty){margin-top:4px}.fieldDefsForm dl.form .defaultTile{display:flex;margin-left:8px}.fieldDefsForm dl.form .defaultTile>span{align-self:center;color:#737f9d}.fieldDefsForm dl.form .defaultTile .picker canvas.empty:not(:hover){border-color:#545d73}.fieldDefsForm dl.form .defaultTile .clear{flex:0 1 0px}.fieldDefsForm dl.form dd.displayMode select:first-of-type{flex:1 1 150px}.fieldDefsForm dl.form select#allowedRefs{flex:1 0 100%}.fieldDefsForm dl.form *[class*=F_],.fieldDefsForm dl.form *[class=NotArray],.fieldDefsForm dl.form *[class=Array]{display:none}.fieldDefsForm dl.form *[class*=F_]+dd,.fieldDefsForm dl.form *[class=NotArray]+dd,.fieldDefsForm dl.form *[class=Array]+dd{display:none}.fieldDefsForm dl.form.type-Array .Array,.fieldDefsForm dl.form.type-NotArray .NotArray,.fieldDefsForm dl.form.type-F_Int .F_int,.fieldDefsForm dl.form.type-F_Float .F_Float,.fieldDefsForm dl.form.type-F_Bool .F_Bool,.fieldDefsForm dl.form.type-F_Color .F_Color,.fieldDefsForm dl.form.type-F_Enum .F_Enum,.fieldDefsForm dl.form.type-F_Point .F_Point,.fieldDefsForm dl.form.type-F_Text .F_Text,.fieldDefsForm dl.form.type-F_String .F_String,.fieldDefsForm dl.form.type-F_EntityRef .F_EntityRef,.fieldDefsForm dl.form.type-F_Tile .F_Tile,.fieldDefsForm dl.form.type-F_Path .F_Path{display:flex}.fieldDefsForm dl.form.type-Array .Array:not(li),.fieldDefsForm dl.form.type-NotArray .NotArray:not(li),.fieldDefsForm dl.form.type-F_Int .F_int:not(li),.fieldDefsForm dl.form.type-F_Float .F_Float:not(li),.fieldDefsForm dl.form.type-F_Bool .F_Bool:not(li),.fieldDefsForm dl.form.type-F_Color .F_Color:not(li),.fieldDefsForm dl.form.type-F_Enum .F_Enum:not(li),.fieldDefsForm dl.form.type-F_Point .F_Point:not(li),.fieldDefsForm dl.form.type-F_Text .F_Text:not(li),.fieldDefsForm dl.form.type-F_String .F_String:not(li),.fieldDefsForm dl.form.type-F_EntityRef .F_EntityRef:not(li),.fieldDefsForm dl.form.type-F_Tile .F_Tile:not(li),.fieldDefsForm dl.form.type-F_Path .F_Path:not(li){display:inherit}.fieldDefsForm dl.form.type-Array .Array.info,.fieldDefsForm dl.form.type-NotArray .NotArray.info,.fieldDefsForm dl.form.type-F_Int .F_int.info,.fieldDefsForm dl.form.type-F_Float .F_Float.info,.fieldDefsForm dl.form.type-F_Bool .F_Bool.info,.fieldDefsForm dl.form.type-F_Color .F_Color.info,.fieldDefsForm dl.form.type-F_Enum .F_Enum.info,.fieldDefsForm dl.form.type-F_Point .F_Point.info,.fieldDefsForm dl.form.type-F_Text .F_Text.info,.fieldDefsForm dl.form.type-F_String .F_String.info,.fieldDefsForm dl.form.type-F_EntityRef .F_EntityRef.info,.fieldDefsForm dl.form.type-F_Tile .F_Tile.info,.fieldDefsForm dl.form.type-F_Path .F_Path.info{display:grid}.fieldDefsForm dl.form.type-Array .Array+dd,.fieldDefsForm dl.form.type-NotArray .NotArray+dd,.fieldDefsForm dl.form.type-F_Int .F_int+dd,.fieldDefsForm dl.form.type-F_Float .F_Float+dd,.fieldDefsForm dl.form.type-F_Bool .F_Bool+dd,.fieldDefsForm dl.form.type-F_Color .F_Color+dd,.fieldDefsForm dl.form.type-F_Enum .F_Enum+dd,.fieldDefsForm dl.form.type-F_Point .F_Point+dd,.fieldDefsForm dl.form.type-F_Text .F_Text+dd,.fieldDefsForm dl.form.type-F_String .F_String+dd,.fieldDefsForm dl.form.type-F_EntityRef .F_EntityRef+dd,.fieldDefsForm dl.form.type-F_Tile .F_Tile+dd,.fieldDefsForm dl.form.type-F_Path .F_Path+dd{display:flex}.fieldDefsForm dl.form.type-F_Path .F_Path.file-select{display:initial}dl.form.fieldInstanceEditor{padding:0;border:none;grid-template-columns:120px auto;-moz-column-gap:2px;column-gap:2px}dl.form.fieldInstanceEditor>dt{max-width:none}dl.form.fieldInstanceEditor>dt label{overflow:hidden}dl.form.fieldInstanceEditor dt.isDefault:not(:hover){color:#737f9d;font-style:italic;opacity:.9}dl.form.fieldInstanceEditor dt[error]{color:#e34d00 !important;opacity:1 !important;background-color:#791105 !important;border-left:4px solid #e34d00}dl.form.fieldInstanceEditor dt[error] label{background:rgba(0,0,0,0) !important;padding:5px;color:#ffa386}dl.form.fieldInstanceEditor dd[error]{background-color:#791105;opacity:1 !important}dl.form.fieldInstanceEditor dt:not(.isDefault){padding:4px;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;background-color:#737f9d}dl.form.fieldInstanceEditor dd:not(.isDefault){padding:2px;border-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px;background-color:#2e333f}dl.form.fieldInstanceEditor dd.isDefault:not(:hover){opacity:.35}dl.form.fieldInstanceEditor dd.isDefault:not(:hover) input[type=checkbox]{opacity:.35}dl.form.fieldInstanceEditor span.inputWithDefaultOption{display:flex;align-items:center;opacity:1 !important;padding:0 !important;flex:1 1 auto !important}dl.form.fieldInstanceEditor span.inputWithDefaultOption input[type=text]{width:100%;margin-right:0}dl.form.fieldInstanceEditor span.inputWithDefaultOption select{min-width:140px}dl.form.fieldInstanceEditor span.inputWithDefaultOption span.value{flex:1 1 auto}dl.form.fieldInstanceEditor dd.F_String span.inputWithDefaultOption input[type=text]{max-width:none}dl.form.fieldInstanceEditor input.slider:not(:disabled){box-sizing:border-box}dl.form.fieldInstanceEditor span.prefix,dl.form.fieldInstanceEditor span.suffix{color:#737f9d;padding:3px}dl.form.fieldInstanceEditor span.usingDefault{flex:0 0 0px;align-self:center;margin-left:10px;font-size:.75em;color:#737f9d;opacity:1}dl.form.fieldInstanceEditor .entityRef{flex:1 0 auto;font-size:8pt;color:#ff4;cursor:url("../cursors/followRef.svg") 16 16,zoom-in}dl.form.fieldInstanceEditor .entityRef:hover{border-color:#ff4}dl.form.fieldInstanceEditor [error] .entityRef{color:#ffa386;font-style:italic}dl.form.fieldInstanceEditor button.pickRef,dl.form.fieldInstanceEditor button.removeRef{flex:0 1 0px;padding:4px}dl.form.fieldInstanceEditor button.pickRef .icon,dl.form.fieldInstanceEditor button.removeRef .icon{width:16px;height:16px}dl.form.fieldInstanceEditor button.removePoint{flex:.2 1 0px}dl.form.fieldInstanceEditor button.locate,dl.form.fieldInstanceEditor button.fileSelectButton{flex:0 1 0px}dl.form.fieldInstanceEditor input[type=color]{width:100%}dl.form.fieldInstanceEditor canvas.tile{flex:0 0 auto;zoom:1.5}dl.form.fieldInstanceEditor button.clearTile{flex:0 1 24px;padding:4px}dl.form.fieldInstanceEditor input.fileNotFound{color:#fc0;border-color:#fc0;background-color:#791105;box-shadow:0px 0px 8px #e34d00}dl.form.fieldInstanceEditor .colorWrapper{display:grid;justify-items:center;align-items:center;box-sizing:border-box;min-width:64px;min-height:32px;padding:4px;color:#fff;text-shadow:0px 2px 2px #000,0px 0px 8px #000;border:1px solid #000;box-shadow:0px 0px 2px #000 inset;cursor:pointer;border-radius:2px}dl.form.fieldInstanceEditor .colorWrapper:hover{outline:1px solid #fc0;outline-offset:-1px}dl.form.fieldInstanceEditor .colorWrapper.usingDefault{background-image:url("../img/stripes.png")}dl.form.fieldInstanceEditor .colorWrapper input{visibility:hidden;width:0px !important;height:0px !important}dl.form.fieldInstanceEditor textarea{height:auto;overflow-x:auto;overflow-y:hidden;font-size:8.5pt}dl.form.fieldInstanceEditor a.usingDefault{display:flex;width:100%;text-decoration:none;border:1px dashed #545d73;padding:8px;align-items:center;background-color:#2e333f;background-image:url("../img/stripes.png")}dl.form.fieldInstanceEditor a.usingDefault.required{border-color:#fc0;box-shadow:0px 0px 4px #e34d00,0px 0px 8px #e34d00 inset;background-color:#791105}dl.form.fieldInstanceEditor a.usingDefault.required span.value{text-shadow:none;color:#fc0 !important}dl.form.fieldInstanceEditor a.usingDefault.required span.label{text-shadow:none;color:#fc0 !important}dl.form.fieldInstanceEditor a.usingDefault.checkbox{padding:0;padding-right:8px}dl.form.fieldInstanceEditor a.usingDefault span{opacity:1;text-shadow:2px 0px 4px #2e333f,0px 2px 4px #2e333f,-2px 0px 4px #2e333f,0px -2px 4px #2e333f}dl.form.fieldInstanceEditor a.usingDefault span.value{flex:1 1 auto;color:#fff;font-style:italic}dl.form.fieldInstanceEditor a.usingDefault span.label{font-size:.75em;font-style:italic;color:#737f9d}dl.form.fieldInstanceEditor a.usingDefault:hover{border-color:#fc0}dl.form.fieldInstanceEditor select.usingDefault{border:1px dashed #545d73;padding:8px;color:#fff;background-color:#2e333f;background-image:url("../img/stripes.png")}dl.form.fieldInstanceEditor button.usingDefault:not(.required){background-image:url("../img/stripes.png")}dl.form.fieldInstanceEditor button.required{outline:1px solid #fc0;box-shadow:0px 0px 32px #e34d00}dl.form.fieldInstanceEditor button.reset{margin-left:10px;flex:0;align-self:center;padding:4px 1px}dl.form.fieldInstanceEditor button.reset .icon{width:20px;height:20px}dl.form.fieldInstanceEditor span.point{padding:4px;align-self:center;font-family:"Courier New",Courier,monospace;color:#c1cfeb;font-size:10pt;border-radius:6px;background-color:#2e333f}dl.form.fieldInstanceEditor .F_Path input{cursor:pointer}dl.form.fieldInstanceEditor .F_Path button{flex:0 1 0px;padding:0 4px;align-self:stretch}dl.form.fieldInstanceEditor .F_Path button .icon{width:1.3em}dl.form.fieldInstanceEditor div.array{display:grid;grid-template-columns:auto;gap:2px;box-sizing:border-box;margin-left:4px;padding:8px;padding-right:2px;overflow-x:hidden;overflow-y:auto;border-left:1px solid #fff;border-top-left-radius:8px;border-bottom-left-radius:8px}dl.form.fieldInstanceEditor div.array.empty{padding:2px}dl.form.fieldInstanceEditor div.array.empty li.compact{display:none}dl.form.fieldInstanceEditor div.array button.add{padding:0}dl.form.fieldInstanceEditor div.array ul.values{overflow:hidden}dl.form.fieldInstanceEditor div.array ul.values>li{display:flex;flex-wrap:nowrap;overflow:hidden;height:33px}dl.form.fieldInstanceEditor div.array ul.values>li.F_Point{height:auto}dl.form.fieldInstanceEditor div.array ul.values>li span:not([class]){align-self:center;padding-left:2px;padding-right:2px;color:#737f9d}dl.form.fieldInstanceEditor div.array ul.values>li .sortHandle{flex:0 1 0px;background-color:#545d73}dl.form.fieldInstanceEditor div.array ul.values>li button{flex:0;align-self:center;padding:4px 1px}dl.form.fieldInstanceEditor div.array ul.values>li button .icon{width:20px;height:20px}dl.form.fieldInstanceEditor div.array ul.values>li button.remove{flex:0 1 16px}dl.form.fieldInstanceEditor div.array ul.values>li button.missingRef{padding:4px;font-size:9pt;white-space:nowrap}dl.form.fieldInstanceEditor div.array ul.values>li select{width:100%;padding:0}dl.form.fieldInstanceEditor div.array ul.values>li .colorWrapper,dl.form.fieldInstanceEditor div.array ul.values>li input[type=text]{width:100%}dl.form.fieldInstanceEditor div.array ul.values>li.compact{color:#737f9d;font-size:9pt;padding-bottom:4px}dl.form.fieldInstanceEditor div.array button.remove{padding:0;margin:0}.window.panel button.delete{flex:0 0 32px}.window.panel.editLayerDefs .content,.window.panel.editTilesetDefs .content{display:grid;width:960px;height:100%;justify-content:stretch;-moz-column-gap:16px;column-gap:16px;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;grid-template-columns:250px auto}.window.panel.editLayerDefs .content .help,.window.panel.editTilesetDefs .content .help{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.window.panel.editLayerDefs .content .path,.window.panel.editTilesetDefs .content .path{flex:1 0 100%;box-sizing:border-box}.window.panel.editLayerDefs .content>h2:first-of-type,.window.panel.editTilesetDefs .content>h2:first-of-type{grid-column:1/3}.window.panel.editLayerDefs .content>.header,.window.panel.editTilesetDefs .content>.header{grid-column:1/3}.window.panel.editLayerDefs .content>.mainList,.window.panel.editTilesetDefs .content>.mainList{display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto}.window.panel.editLayerDefs .content>.mainList .error,.window.panel.editTilesetDefs .content>.mainList .error{padding:2px 8px;font-size:8pt}.window.panel.editProject .content{display:grid;grid-template-columns:auto;grid-template-rows:repeat(3, -webkit-min-content);grid-template-rows:repeat(3, min-content);gap:16px}.window.panel.editProject .content dl.form>dt{max-width:none;width:250px}.window.panel.editProject .content dl.form>dt>label:first-of-type{max-width:none}.window.panel.editProject .content a.defaultLevelNamePattern{flex:0 1 auto;margin-left:8px;align-self:center;font-size:9pt;cursor:pointer}.window.panel.editProject .content a.defaultLevelNamePattern:hover{color:#fff}.window.panel.editProject .content a[href]{margin-left:8px;flex-grow:0}.window.panel.editProject .content .collapser.collapsed{margin-bottom:16px}.window.panel.editProject .content .form.advanced{padding:8px;box-sizing:border-box;margin-top:-16px;border:1px solid #545d73}.window.panel.editProject .content .form.advanced ul.advFlags{padding-bottom:48px}.window.panel.editProject .content .form.advanced ul.advFlags li{display:grid;-moz-column-gap:8px;column-gap:8px;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;align-items:center;margin-bottom:8px}.window.panel.editProject .content .form.advanced ul.advFlags li input{cursor:pointer}.window.panel.editProject .content .form.advanced ul.advFlags li label{margin:0;text-transform:none;font-weight:bold;color:#fff;cursor:pointer}.window.panel.editProject .content .form.advanced ul.advFlags li .desc{grid-column:2/3;font-size:.85em;color:#c1cfeb}.window.panel.editProject .content .form.advanced ul.advFlags li .desc p{margin:0}.window.panel.editProject .content .form.advanced ul.advFlags li .desc p+p{margin-top:4px}.window.panel.editProject .content dd.imageExportOnly{display:none}.window.panel.editProject .content dd.imageExportMode{position:relative;display:grid;grid-template-columns:-webkit-min-content auto -webkit-min-content;grid-template-columns:min-content auto min-content;gap:4px}.window.panel.editProject .content dd.imageExportMode .locate{grid-column:1/2}.window.panel.editProject .content dd.imageExportMode select{grid-column:2/4;width:100%}.window.panel.editProject .content dd.imageExportMode input[type=text]{grid-column:1/3;width:auto}.window.panel.editProject .content dd.imageExportMode .example{grid-row:3/4;grid-column:1/4;text-align:right;color:#79dd8a;font-family:monospace}.window.panel.editProject .content dd.imageExportMode .pngPatternEditor{grid-column:1/4}.window.panel.editProject .content dd.customCommands{display:block}.window.panel.editProject .content dd.customCommands ul{margin-bottom:4px}.window.panel.editProject .content dd.customCommands ul li{display:flex;flex-wrap:nowrap}.window.panel.editProject .content dd.customCommands ul li select{flex:0 1 0px}.window.panel.editProject .content dd.customCommands ul li input[type=text]{flex-grow:1;font-size:8pt;font-family:"Courier New",Courier,monospace}.window.panel.editProject .content dd.customCommands ul li button{flex:0 1 0px;padding-left:0;padding-right:0}.window.panel.editProject .content .trusted,.window.panel.editProject .content .untrusted{font-size:9pt;padding:8px;margin-bottom:4px;border:1px solid #545d73;border-radius:3px}.window.panel.editProject .content .trusted a,.window.panel.editProject .content .untrusted a{cursor:pointer}.window.panel.editProject .content .trusted a:hover,.window.panel.editProject .content .untrusted a:hover{color:#fff}.window.panel.editProject .content .trusted{border-color:#cfdd40}.window.panel.editProject .content .untrusted{border-color:#e34d00}.window.panel.editProject .content h2{margin-bottom:0}.window.panel.editProject .content .buttons.main{margin-bottom:10px}.window.panel.editEnumDefs .content{display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;grid-template-columns:250px auto;-moz-column-gap:16px;column-gap:16px;height:100%}.window.panel.editEnumDefs .content .help{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.window.panel.editEnumDefs .content>h2:first-of-type{grid-column:1/3}.window.panel.editEnumDefs .content .header{grid-column:1/3}.window.panel.editEnumDefs .content .enumList{grid-column:1/2;display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;overflow:hidden}.window.panel.editEnumDefs .content .enumList ul{overflow:auto}.window.panel.editEnumDefs .content .enumList ul li.missing{background-color:#791105}.window.panel.editEnumDefs .content .enumFormWrapper{overflow-y:hidden;display:grid;grid-template-columns:100%;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto}.window.panel.editEnumDefs .content .enumFormWrapper.externalEnum dl.enumForm .noExternal{display:none}.window.panel.editEnumDefs .content .enumFormWrapper.externalEnum dl.enumForm dt.onlyExternal{display:grid}.window.panel.editEnumDefs .content .enumFormWrapper.externalEnum dl.enumForm ul.enumValues li{grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto}.window.panel.editEnumDefs .content .enumFormWrapper.externalEnum dl.enumForm .path{padding:5px;text-align:left;border:1px solid #545d73}.window.panel.editEnumDefs .content .enumFormWrapper.externalEnum dl.enumForm .exploreTo{margin-left:4px;padding:6px}.window.panel.editEnumDefs .content .enumFormWrapper dl.enumForm button.createEnumValue{flex:1 0 100%}.window.panel.editEnumDefs .content .enumFormWrapper dl.enumForm .onlyExternal{display:none}.window.panel.editEnumDefs .content .enumFormWrapper.externalEnum .valuesWrapper{grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper{display:grid;padding-right:1px;overflow-y:hidden;grid-template-rows:-webkit-min-content -webkit-min-content auto;grid-template-rows:min-content min-content auto}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper ul.enumValues{overflow-x:hidden;overflow-y:auto}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper ul.enumValues.external .sortHandle{display:none}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper ul.enumValues.external li{grid-template-columns:32px 32px auto}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper ul.enumValues li{display:grid;gap:3px;grid-template-columns:-webkit-min-content 32px 32px auto 32px;grid-template-columns:min-content 32px 32px auto 32px;grid-auto-flow:column;margin-bottom:4px}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper ul.enumValues li input[type=color]{width:auto;height:32px;border:1px solid #fc0}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper ul.enumValues li input[type=color]:hover{border-color:#fff}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper ul.enumValues li input[type=text]{padding:3px}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper ul.enumValues li button{padding:0}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper>h2{margin-bottom:8px}.window.panel.editEnumDefs .content .enumFormWrapper .valuesWrapper>button{margin-bottom:4px}.window.panel.editLayerDefs dl.form{overflow-x:hidden;padding-right:4px;overflow-y:auto;grid-template-columns:160px auto}.window.panel.editLayerDefs dl.form>dt{max-width:none}.window.panel.editLayerDefs dl.form .advanced{margin-top:16px}.window.panel.editLayerDefs dl.form .advanced button{flex:0 1 auto;min-height:2.5em}.window.panel.editLayerDefs .mainList ul li{grid-template-columns:-webkit-min-content auto -webkit-min-content;grid-template-columns:min-content auto min-content}.window.panel.editLayerDefs .mainList ul li.hidden{font-style:italic;opacity:.8}.window.panel.editLayerDefs .mainList ul li.hidden:not(.active){color:#ffa386}.window.panel.editLayerDefs .mainList ul li .icon{width:1.8em;height:1.8em}.window.panel.editLayerDefs .mainList ul:empty::before{content:"No layer"}.window.panel.editLayerDefs .typeIcon .icon{width:2.5em;height:2.5em}.window.panel.editLayerDefs button.editAutoRules{flex-grow:0;white-space:nowrap;margin-left:2px}.window.panel.editLayerDefs ul.intGridValues li{position:relative}.window.panel.editLayerDefs ul.intGridValues li+li{margin-top:8px}.window.panel.editLayerDefs ul.intGridValues li.value{display:grid;align-items:center;grid-template-columns:-webkit-min-content 2em auto 64px -webkit-min-content;grid-template-columns:min-content 2em auto 64px min-content;gap:4px}.window.panel.editLayerDefs ul.intGridValues li.value input[type=color]{width:100%;height:100%}.window.panel.editLayerDefs ul.intGridValues li.value input.name{text-align:center;font-style:italic}.window.panel.editLayerDefs ul.intGridValues li.value span.id{display:grid;min-width:1.5em;min-height:1.5em;align-content:center;text-align:center;font-weight:bold;font-size:1.3em;border:1px solid #fff;border-radius:3px}.window.panel.editLayerDefs ul.intGridValues li.value button.remove{align-self:stretch;padding:0;width:28px}.window.panel.editLayerDefs ul.intGridValues li.add button{padding:0px;text-align:center;font-weight:bold;font-size:200%;text-decoration:none;color:#fff}.window.panel.editLayerDefs dl.form .IntGrid,.window.panel.editLayerDefs dl.form .IntGridAutoLayer,.window.panel.editLayerDefs dl.form .AutoLayer,.window.panel.editLayerDefs dl.form .Tiles,.window.panel.editLayerDefs dl.form .Entities{display:none}.window.panel.editLayerDefs dl.form.type-IntGrid .IntGrid,.window.panel.editLayerDefs dl.form.type-IntGridAutoLayer .IntGridAutoLayer,.window.panel.editLayerDefs dl.form.type-AutoLayer .AutoLayer,.window.panel.editLayerDefs dl.form.type-Entities .Entities,.window.panel.editLayerDefs dl.form.type-Tiles .Tiles{display:grid}.window.panel.editLayerDefs dl.form.type-IntGrid .IntGrid:not(dt),.window.panel.editLayerDefs dl.form.type-IntGridAutoLayer .IntGridAutoLayer:not(dt),.window.panel.editLayerDefs dl.form.type-AutoLayer .AutoLayer:not(dt),.window.panel.editLayerDefs dl.form.type-Entities .Entities:not(dt),.window.panel.editLayerDefs dl.form.type-Tiles .Tiles:not(dt){display:flex}body.sorting ul.collapsedSortTarget{display:block !important}.window.panel.worldPanel{width:auto}.window.panel.worldPanel .wrapper{padding:0;box-shadow:none;background-color:#1e2229;overflow:hidden}.window.panel.worldPanel .scroller{padding:16px;overflow-y:auto}.window.panel.worldPanel .content{width:330px;height:100%;display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto}.window.panel.worldPanel .content h2:first-of-type{margin:0}.window.panel.worldPanel .content .worldSettings h2,.window.panel.worldPanel .content .currentLevelInstance h2{margin-bottom:8px}.window.panel.worldPanel .content .levelFields{display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto}.window.panel.worldPanel .content .worldSettings{margin-bottom:32px}.window.panel.worldPanel .content .worldSettings .buttons{margin-bottom:16px}.window.panel.worldPanel .content .worldSettings .buttons button:not(.running) span.running{display:none}.window.panel.worldPanel .content .worldSettings .buttons button.running{outline:1px solid #fc0;box-shadow:0px 0px 16px #e34d00;opacity:.5}.window.panel.worldPanel .content .worldSettings .buttons button.running span.ready{display:none}.window.panel.worldPanel .content .worldSettings dl.form{padding-bottom:0}.window.panel.worldPanel .content .worldSettings dl.form .GridVania,.window.panel.worldPanel .content .worldSettings dl.form .LinearHorizontal,.window.panel.worldPanel .content .worldSettings dl.form .LinearVertical,.window.panel.worldPanel .content .worldSettings dl.form .Free{display:none}.window.panel.worldPanel .content .worldSettings dl.form.layout-GridVania .GridVania,.window.panel.worldPanel .content .worldSettings dl.form.layout-LinearHorizontal .LinearHorizontal,.window.panel.worldPanel .content .worldSettings dl.form.layout-LinearVertical .LinearVertical,.window.panel.worldPanel .content .worldSettings dl.form.layout-Free .Free{display:flex}.window.panel.editLevelFieldDefs{width:auto}.window.panel.editLevelFieldDefs .content{display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;gap:8px;width:750px;height:100%}.window.panel.editLevelFieldDefs .content h2{margin-bottom:8px}.window.panel.levelInstancePanel{width:auto}.window.panel.levelInstancePanel .wrapper{overflow-x:hidden}.window.panel.levelInstancePanel .content{display:grid;grid-template-rows:repeat(4, -webkit-min-content) auto;grid-template-rows:repeat(4, min-content) auto;gap:8px;width:650px;height:100%}.window.panel.levelInstancePanel .content a.editFields{display:inline-block;margin-left:8px;padding:2px 4px;font-size:9pt;color:#000;background-color:#fc0;border-radius:3px;cursor:pointer;vertical-align:middle}.window.panel.levelInstancePanel .content a.editFields:hover{background-color:#fff}.window.panel.levelInstancePanel .content dl#levelForm{grid-template-columns:110px auto}.window.panel.levelInstancePanel .content dl#levelForm dt{min-width:none;max-width:none}.window.panel.levelInstancePanel .content dl#levelForm input#identifier{font-size:14pt}.window.panel.levelInstancePanel .content dl#levelForm .bg{display:grid;align-items:stretch}.window.panel.levelInstancePanel .content dl#levelForm .bg button.pick{width:0}.window.panel.levelInstancePanel .content dl#levelForm .bg .pos{display:grid;grid-template-columns:160px -webkit-min-content;grid-template-columns:160px min-content;justify-content:stretch}.window.panel.levelInstancePanel .content dl#levelForm .bg .pos .pivotEditor .grid{grid-template-columns:repeat(3, 14px);grid-template-rows:repeat(3, 14px)}.window.panel.levelInstancePanel .content dl#levelForm .bg .pos select{font-size:9pt}.levelInstanceForm.disabled{background-image:url("../img/stripesLight.png");background-repeat:repeat}.levelInstanceForm.disabled #levelProps dt,.levelInstanceForm.disabled #levelProps dd,.levelInstanceForm.disabled .fieldInstanceEditor dt,.levelInstanceForm.disabled .fieldInstanceEditor dd{opacity:.3}.levelInstanceForm.disabled #levelProps *,.levelInstanceForm.disabled .fieldInstanceEditor *{pointer-events:none}.levelInstanceForm .buttons{flex-wrap:nowrap;padding-bottom:16px;margin-bottom:16px;border-bottom:1px dashed #545d73}.levelInstanceForm .buttons button.delete{flex:0 1 0px}.levelInstanceForm .buttons button{white-space:nowrap}.levelInstanceForm a.editFields{display:inline-block;margin-left:8px;padding:2px 4px;font-size:9pt;color:#000;background-color:#fc0;border-radius:3px;cursor:pointer;vertical-align:middle}.levelInstanceForm a.editFields:hover{background-color:#fff}.levelInstanceForm dl#levelProps{grid-template-columns:110px auto}.levelInstanceForm dl#levelProps>dt{min-width:0;max-width:none}.levelInstanceForm dl#levelProps #iid{font-size:.8em}.levelInstanceForm dl#levelProps .bg{display:grid;align-items:stretch}.levelInstanceForm dl#levelProps .bg button.pick{width:0}.levelInstanceForm dl#levelProps .bg .pos{display:grid;grid-template-columns:160px -webkit-min-content;grid-template-columns:160px min-content;justify-content:stretch}.levelInstanceForm dl#levelProps .bg .pos .pivotEditor .grid{grid-template-columns:repeat(3, 14px);grid-template-rows:repeat(3, 14px)}.levelInstanceForm dl#levelProps .bg .pos select{font-size:9pt}.levelInstanceForm dl#levelProps .depth{align-items:stretch}.levelInstanceForm dl#levelProps .depth input{text-align:center}.levelInstanceForm dl#levelProps .depth .depthButtons{display:grid;grid-template-rows:repeat(2, 20px);max-width:32px}.levelInstanceForm dl#levelProps .depth .depthButtons button{padding-top:0px;padding-bottom:0px}.levelInstanceForm dl#levelProps .depth .depthButtons button .icon{height:20px}.levelInstanceForm dl.form.fieldInstanceEditor{margin-left:-8px;margin-right:-8px;padding:8px;border-radius:4px}.levelInstanceForm dl.form.fieldInstanceEditor:not(:empty){box-shadow:0px 0px 16px #000;background-color:#2e333f}.levelInstanceForm dl.form.fieldInstanceEditor:empty{padding-top:32px;padding-bottom:32px;color:#737f9d;text-align:center;grid-template-columns:auto;background-image:url("../img/stripes.png")}.levelInstanceForm dl.form.fieldInstanceEditor:empty::before{content:"No custom field."}.levelInstanceForm h2{margin-top:16px;margin-bottom:8px}.levelInstanceForm a.reset{flex:0 0 auto;align-self:center;font-size:9pt;text-decoration:underline;margin-left:8px;padding:2px 4px;border-radius:3px;cursor:pointer}.levelInstanceForm a.reset:hover{text-decoration:none;color:#000;background-color:#fc0}.window.panel.editAllAutoLayerRules{width:auto}.window.panel.editAllAutoLayerRules .wrapper{padding:8px}.window.panel.editAllAutoLayerRules .content{display:grid;grid-template-rows:-webkit-min-content -webkit-min-content auto;grid-template-rows:min-content min-content auto;gap:8px;height:100%;width:340px}.window.panel.editAllAutoLayerRules .content h2:first-of-type{margin:-8px;margin-bottom:8px}.window.panel.editAllAutoLayerRules .content h2:first-of-type>.icon{width:1.1em;height:1.1em}.window.panel.editAllAutoLayerRules .content h2:first-of-type button.close{padding:3px}.window.panel.editAllAutoLayerRules .content header{display:flex;width:100%;align-items:stretch;flex-wrap:wrap}.window.panel.editAllAutoLayerRules .content header>*+*{margin:1px}.window.panel.editAllAutoLayerRules .content header button{flex:1 1 0px;white-space:nowrap;font-size:9pt}.window.panel.editAllAutoLayerRules .content header button.seed{flex:0 1 0px}.window.panel.editAllAutoLayerRules .content header label{display:flex;flex-wrap:nowrap;align-items:center;padding-right:4px;font-size:9pt;color:#737f9d;background-color:#1e2229;border-radius:3px;cursor:pointer}.window.panel.editAllAutoLayerRules .content header label input{cursor:pointer}.window.panel.editAllAutoLayerRules .content header label:hover{color:#000;background-color:#fc0}.window.panel.editAllAutoLayerRules .content header select{width:100%}.window.panel.editAllAutoLayerRules .content ul.ruleGroups{border:1px solid #545d73;overflow-y:auto;background-color:#1e2229}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li:last-child{margin-bottom:30px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups li.placeholder{grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;display:grid;overflow:hidden;word-wrap:nowrap;cursor:not-allowed;background-image:url("../img/stripes.png")}.window.panel.editAllAutoLayerRules .content ul.ruleGroups li.placeholder strong{font-weight:bold}.window.panel.editAllAutoLayerRules .content ul.ruleGroups li.placeholder em{color:#737f9d}.window.panel.editAllAutoLayerRules .content ul.ruleGroups li div.warning{grid-column:1/99;margin:0}.window.panel.editAllAutoLayerRules .content ul.ruleGroups:empty{background-image:url("../img/stripes.png");box-shadow:0px 0px 16px rgba(0,0,0,.4) inset;text-align:center;padding-top:30px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li{position:relative;display:grid;grid-template-columns:28px auto;background-color:#2e333f;margin-bottom:12px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li .sortHandle{grid-column:1/2}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header{grid-column:2/3}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup{grid-column:1/3}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li>.sortHandle{opacity:1;border-radius:0;background-color:#545d73}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li>.sortHandle:hover{background-color:#fc0 !important}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.optional{border-color:#1a7bc3}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.optional header{background-color:#1a7bc3}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.highlight header{outline:1px solid #f0f;background-color:#707}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.inactive header{opacity:.5}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.inactive header .name:hover .text{color:#c1cfeb}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.inactive:not(.optional) header{background-color:#1e2229;background-image:url("../img/stripes.png")}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.inactive:not(.optional) header .name{color:#737f9d}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.inactive.optional header{background-color:#0f4973;background-image:url("../img/stripes.png")}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.inactive ul.ruleGroup{opacity:.66}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.inactive>.sortHandle{background-color:#1e2229}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.inactive>.sortHandle:hover{background-color:#fc0 !important}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.collapsed{margin-top:0;margin-bottom:1px;padding:0;box-shadow:none;border:0}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.collapsed header .name{cursor:pointer}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.collapsed ul.ruleGroup{display:none}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.collapsedSortTarget{display:none;position:absolute;padding:8px;top:0;left:0;bottom:0;right:0;overflow:hidden}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.collapsedSortTarget:not(:empty){outline:2px solid #fc0}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.collapsedSortTarget *{visibility:hidden}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header{display:grid;grid-template-columns:auto;grid-auto-flow:column;grid-auto-columns:-webkit-min-content;grid-auto-columns:min-content;align-items:stretch;width:100%;height:32px;background-color:#545d73}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header div.name{display:grid;grid-template-columns:20px auto;align-content:center;gap:4px;width:100%;height:100%;font-weight:bold;overflow-x:hidden;white-space:nowrap;cursor:pointer}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header div.name .text{overflow:hidden;text-overflow:ellipsis}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header input.name{display:none;width:90%}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header .optional{align-self:center;display:flex;align-items:center;padding:1px 4px;color:#fff;font-size:8pt;height:1.3em;border-radius:3px;border:1px solid #00f1ff;background-color:#1e94c5;box-shadow:0px 0px 16px #00f1ff;cursor:help}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header button{padding:3px;margin:0;min-width:24px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header button.add{font-weight:bold;font-size:12pt}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header button:hover.active{background-color:#737f9d !important}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header button.off{opacity:.3;background-color:#e34d00}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header button.active .icon{width:100%}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li header .context{border-radius:0;border-width:0}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li:not(.optional) header .name:hover{background-color:#737f9d}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li.optional header .name:hover{background-color:#219df9}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup{position:relative;display:grid;align-items:flex-start;grid-template-columns:auto;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content;gap:2px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup:empty{background-image:url("../img/stripes.png");box-shadow:0px 0px 16px rgba(0,0,0,.4) inset;text-align:center;padding-top:30px;padding-bottom:30px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup:empty::before{content:"Use [+] above to add a new rule"}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.wizardHelp{padding:8px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.wizardHelp .help{margin-top:8px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.wizardHelp a.advanced{display:block;padding:4px;font-size:8pt;text-align:center}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.wizardHelp a.advanced:hover{color:#fff}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule{position:relative;display:grid;box-sizing:border-box;gap:2px;grid-template-columns:-webkit-min-content 80px auto repeat(2, -webkit-min-content);grid-template-columns:min-content 80px auto repeat(2, min-content);align-items:center;padding:2px;background-color:#1e2229;border-radius:3px;border:1px dashed rgba(0,0,0,0)}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule.wizard{filter:saturate(0.2) blur(2px);pointer-events:none}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule.highlight{outline:1px solid #f0f;background-color:#707}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule.inactive{background-image:url("../img/stripes.png");background-color:#791105}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule button.insert{position:absolute;z-index:2;display:none;right:0px;padding:0;width:18px;height:18px;font-weight:bold;opacity:.6}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule button.insert .icon{width:100%;height:100%}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule button.insert:hover{opacity:1}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule button.insert.before{top:-10px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule button.insert.after{bottom:-10px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule:hover button.insert{display:block}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule.last{border-color:#fff}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options{display:grid;grid-template-columns:repeat(6, 22px);gap:2px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options>*{padding:3px;background-color:#2e333f;border-radius:4px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options>*:hover{background-color:#545d73}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .random{grid-column:1/5;display:flex;flex-wrap:nowrap;align-items:center}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .random input[name=random]{width:40px;font-size:9pt;padding-top:1px;padding-bottom:1px;background-color:#2e333f}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .random input[name=random]:focus,.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .random input[name=random].editing{background-color:#1e2229}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .random input[name=random].max{color:#545d73}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .random input[name=random].off{color:#e34d00}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .random span{font-size:8pt;color:#737f9d;padding-right:8px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .modulo{display:grid;align-items:center;grid-column:5/7;font-size:9pt;text-align:center;white-space:nowrap;cursor:pointer}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .modulo.default{color:#737f9d}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options .modulo:hover{color:#1e2229;background-color:#fc0}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options input[name=xModulo]{grid-column:5/6}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options input[name=yModulo]{grid-column:6/7}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options input[name=xModulo],.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options input[name=yModulo]{font-size:9pt;text-align:center;color:#79dd8a}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options input[name=xModulo]:not(.default),.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options input[name=yModulo]:not(.default){border:1px solid #cfdd40}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options input[name=xModulo].default,.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options input[name=yModulo].default{color:#737f9d}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a{flex:.5 1 auto;display:grid;align-content:center;justify-content:center;border:1px solid #545d73;text-align:center;font-size:8pt;cursor:pointer}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a:hover{color:#fff !important}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a.on{color:#cfdd40;font-weight:bold;text-shadow:0px 0px 4px #cfdd40;border-color:#cfdd40}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a.off{opacity:.4;color:#e34d00;font-style:italic;border:1px dashed #e34d00;background-color:#791105}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a.off .icon{opacity:.5}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a.on span.off{display:none}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a.off span.on{display:none}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a.break.on{color:#009dff;border-color:#009dff;text-shadow:0px 0px 4px #009dff}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule .options a.active.on{border-color:#fc0}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule button{padding:4px}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule input[type=text]{border-color:rgba(0,0,0,0)}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule input[type=text]:focus{border-color:#fc0}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule>.preview{margin-right:8px;cursor:pointer;display:grid;justify-items:center}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule>.preview .error{display:grid;justify-content:center;align-content:center;box-sizing:border-box;padding:10px;min-width:32px;min-height:32px;color:#e34d00;background-color:#791105;background-image:url("../img/stripes.png");border:1px solid #e34d00}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule>.preview .autoPatternGrid{border-color:#2e333f}.window.panel.editAllAutoLayerRules .content ul.ruleGroups>li ul.ruleGroup li.rule>.preview:hover{outline:1px solid #fc0}.autoPatternGrid{display:grid;gap:2px}.autoPatternGrid.size-1{grid-template-columns:repeat(1, auto)}.autoPatternGrid.size-3{grid-template-columns:repeat(3, auto)}.autoPatternGrid.size-5{grid-template-columns:repeat(5, auto)}.autoPatternGrid.size-7{grid-template-columns:repeat(7, auto)}.autoPatternGrid.preview{gap:1px;border:1px solid #545d73}.autoPatternGrid.preview.size-1 .cell{zoom:1}.autoPatternGrid.preview.size-3 .cell{zoom:.5}.autoPatternGrid.preview.size-5 .cell{zoom:.3}.autoPatternGrid.preview.size-7 .cell{zoom:.2}.autoPatternGrid.preview .cell{opacity:.5}.autoPatternGrid.preview .cell.empty{background:#2e333f;box-shadow:none;border:none}.autoPatternGrid.preview .cell.center{opacity:1}.autoPatternGrid.preview .cell.center canvas{box-sizing:border-box;padding:2px;background-color:#000;border:1px solid #fff;border-radius:3px;box-shadow:0px 2px 4px #000}.autoPatternGrid.preview .cell.center canvas.multi{box-shadow:2px 2px 0px #000,3px 3px 0px #fff}.autoPatternGrid.preview.size-3 .cell.center canvas{zoom:2;margin-left:-50%;margin-top:-50%}.autoPatternGrid.preview.size-5 .cell.center canvas{zoom:2;margin-left:-50%;margin-top:-50%}.autoPatternGrid.preview.size-7 .cell.center canvas{zoom:3;margin-left:-75%;margin-top:-75%}.autoPatternGrid .stampPreview{position:absolute;z-index:10;box-sizing:border-box;box-shadow:0px 0px 4px #000 inset,0px 0px 8px #000 inset,0px 0px 8px #000;border:3px solid #fc0;outline:2px solid #000;pointer-events:none}.autoPatternGrid .cell{display:grid;position:relative;justify-content:center;align-content:center;width:32px;height:32px;border:1px dotted #545d73;background-color:#2e333f;box-shadow:0px 0px 2px #000 inset;border-radius:4px}.autoPatternGrid .cell.editable{cursor:pointer}.autoPatternGrid .cell.editable:hover{border-color:#fc0}.autoPatternGrid .cell.empty{box-shadow:0px 2px 4px #000 inset;background-image:url("../img/stripes.png");border-radius:0px}.autoPatternGrid .cell.not{outline:2px solid #e34d00;outline-offset:-5px}.autoPatternGrid .cell.anything:not(.not){font-size:16pt;font-weight:bold;outline:1px solid #fff;outline-offset:-3px}.autoPatternGrid .cell.anything:not(.not)::before{content:"?"}.autoPatternGrid .cell.anything.not{color:#e34d00;font-size:14pt;outline:2px solid #e34d00;outline-offset:-4px}.autoPatternGrid .cell .cellIcon{width:32px;height:32px;position:absolute;top:0;left:0;z-index:1;background-repeat:no-repeat;background-position:center center;image-rendering:-moz-crisp-edges;image-rendering:pixelated}.autoPatternGrid .cell .cellIcon.cross{background-image:url("../icons/cross.png");background-size:50%}.autoPatternGrid .cell .cellIcon.nothing{background-image:url("../icons/prohibited.svg");background-size:70%;filter:brightness(0.6) sepia(1) hue-rotate(-0.5rad) saturate(10)}.autoPatternGrid .cell.error{background-color:#f0f;border-color:#e34d00;outline:2px solid #e34d00;outline-offset:-4px;font-size:10pt}.autoPatternGrid .cell.error::before{content:"ERR"}.autoPatternGrid .cell.center{border:1px dashed #fff;border-radius:4px}.autoPatternGrid .cell canvas{pointer-events:none;position:absolute;z-index:2;image-rendering:-moz-crisp-edges;image-rendering:pixelated}.window.dialog.perlinSettings .content{width:300px}.window.dialog.perlinSettings .content dl.form dd{align-items:stretch}.window.dialog.perlinSettings .content dl.form label{flex:0 0 50px}.window.dialog.perlinSettings .content dl.form input#perlinSeed{flex:1 0 80px}.window.dialog.perlinSettings .content dl.form button{padding-top:0;padding-bottom:0}.window.dialog.ruleModuloEditor>.wrapper .content{display:grid;max-width:400px;gap:8px}.window.dialog.ruleModuloEditor>.wrapper .content .help{grid-column:1/3}.window.dialog.ruleModuloEditor>.wrapper .content .options{border:1px solid #545d73;padding:8px;grid-column:2/3}.window.dialog.ruleModuloEditor>.wrapper .content .options label{white-space:nowrap;color:#737f9d;text-align:center}.window.dialog.ruleModuloEditor>.wrapper .content input.default{color:#545d73}.window.dialog.ruleModuloEditor>.wrapper .content .reset{grid-column:2/3;grid-row:2/3;align-self:center;justify-self:center;font-size:10pt}.window.dialog.ruleModuloEditor>.wrapper .content .reset:hover{color:#fff}.window.dialog.ruleModuloEditor>.wrapper .content .axis{display:grid;gap:8px}.window.dialog.ruleModuloEditor>.wrapper .content .axis.x{grid-column:1/2;grid-row:2/3;grid-template-columns:repeat(3, -webkit-min-content);grid-template-columns:repeat(3, min-content);align-items:center;justify-content:center}.window.dialog.ruleModuloEditor>.wrapper .content .axis.y{grid-column:2/3;grid-row:3/4;grid-template-rows:repeat(3, -webkit-min-content);grid-template-rows:repeat(3, min-content);align-content:center;justify-items:center}.window.dialog.ruleModuloEditor>.wrapper .content .axis input{width:70px}.window.dialog.ruleModuloEditor>.wrapper .content .preview{grid-column:1/2;grid-row:3/4;display:grid;gap:2px;min-width:200px;padding:1px;border:1px solid #545d73}.window.dialog.ruleModuloEditor>.wrapper .content .preview .cell{padding-top:100%;border:1px solid #737f9d;background-color:#545d73;background-image:url("../img/stripesLight.png");background-repeat:repeat}.window.dialog.ruleModuloEditor>.wrapper .content .preview .cell.active{background-color:#3c6148;background-image:url("../icons/active.png");background-repeat:no-repeat;background-position:center;background-size:contain}.window.dialog.ruleEditor>.wrapper{padding:8px;justify-self:left;margin-left:80px}.window.dialog.ruleEditor>.wrapper .content{display:grid;gap:8px;grid-template-rows:repeat(4, -webkit-min-content);grid-template-rows:repeat(4, min-content);padding:4px;min-width:300px;position:relative}.window.dialog.ruleEditor>.wrapper .content.guided{grid-template-columns:auto 400px;outline:1px solid #79dd8a;outline-offset:4px}.window.dialog.ruleEditor>.wrapper .content.guided button.guide{display:none}.window.dialog.ruleEditor>.wrapper .content:not(.guided) .explain,.window.dialog.ruleEditor>.wrapper .content:not(.guided) .help{display:none}.window.dialog.ruleEditor>.wrapper .content .help p+p{margin-top:8px}.window.dialog.ruleEditor>.wrapper .content .help.intro{grid-column:1/3}.window.dialog.ruleEditor>.wrapper .content .help:not(.intro){grid-column:2/3}.window.dialog.ruleEditor>.wrapper .content .help.big{grid-row:3/5}.window.dialog.ruleEditor>.wrapper .content>:not(.help){grid-column:1/2}.window.dialog.ruleEditor>.wrapper .content .explain,.window.dialog.ruleEditor>.wrapper .content .outOfBounds,.window.dialog.ruleEditor>.wrapper .content .tileSettings,.window.dialog.ruleEditor>.wrapper .content .pattern .editor,.window.dialog.ruleEditor>.wrapper .content .pattern .values{width:100%;height:100%;padding:16px;box-sizing:border-box;background-color:#1e2229;border-radius:3px}.window.dialog.ruleEditor>.wrapper .content .debugInfos{position:absolute;right:-5px;bottom:-8px;font-size:8pt;color:#737f9d}.window.dialog.ruleEditor>.wrapper .content .explain{display:grid;align-items:center;max-width:408px;min-height:calc(4em + 32px);font-size:10pt;text-align:left;transition:background-color .3s}.window.dialog.ruleEditor>.wrapper .content .explain:not(:empty){color:#79dd8a;transition:background-color .1s;background-color:#3c6148}.window.dialog.ruleEditor>.wrapper .content .explain:empty{color:#737f9d;font-style:italic}.window.dialog.ruleEditor>.wrapper .content .explain:empty::before{content:"Move your cursor over a cell in the pattern to get more explanations about its meaning."}.window.dialog.ruleEditor>.wrapper .content .explain p{margin:0;padding:0}.window.dialog.ruleEditor>.wrapper .content .outOfBounds{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;gap:8px;align-items:center}.window.dialog.ruleEditor>.wrapper .content .outOfBounds select{max-width:250px;text-overflow:ellipsis}.window.dialog.ruleEditor>.wrapper .content .outOfBounds select.hasValue{border-left:5px solid #545d73}.window.dialog.ruleEditor>.wrapper .content .outOfBounds label{color:#737f9d;font-size:9pt;white-space:nowrap}.window.dialog.ruleEditor>.wrapper .content .tileSettings{display:grid;justify-items:stretch;grid-template-columns:auto -webkit-min-content -webkit-min-content;grid-template-columns:auto min-content min-content}.window.dialog.ruleEditor>.wrapper .content .tileSettings .picker{margin-left:8px}.window.dialog.ruleEditor>.wrapper .content .tileSettings .picker canvas{image-rendering:-moz-crisp-edges;image-rendering:pixelated;zoom:2;border:1px solid #fc0;cursor:pointer;width:24px !important;height:24px !important}.window.dialog.ruleEditor>.wrapper .content .tileSettings .picker canvas:hover{border-color:#fff}.window.dialog.ruleEditor>.wrapper .content .tileSettings .picker canvas.empty{border-color:#e34d00;box-shadow:0px 0px 32px #e34d00}.window.dialog.ruleEditor>.wrapper .content .tileSettings .options:not(:empty){margin-left:8px}.window.dialog.ruleEditor>.wrapper .content .pattern{display:grid;grid-template-columns:200px auto;gap:8px}.window.dialog.ruleEditor>.wrapper .content .pattern .editor{display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;gap:4px}.window.dialog.ruleEditor>.wrapper .content .pattern .editor select{width:100%;overflow:hidden}.window.dialog.ruleEditor>.wrapper .content .pattern .editor .grid{display:grid;justify-items:center;align-items:center}.window.dialog.ruleEditor>.wrapper .content .pattern .values{max-height:300px;overflow-y:auto}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul{display:grid}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul li{display:grid;grid-template-columns:32px auto;font-weight:bold;cursor:pointer;border-radius:3px;border-top:1px solid rgba(255,255,255,.3)}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul li+li{margin-top:1px}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul li .value{padding:8px 4px;font-size:11pt;text-align:center;color:#fff;background-color:rgba(0,0,0,.1)}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul li .name{padding:8px;font-size:9pt}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul li:hover{outline:1px solid #fff;outline-offset:-1px}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul li.active{outline:2px solid #fff;outline-offset:-2px}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul li.active .value{color:#1e2229;background-color:#fff;box-shadow:0px 4px 8px rgba(0,0,0,.4)}.window.dialog.ruleEditor>.wrapper .content .pattern .values ul li.any{font-style:italic;background-image:url("../img/any.png");border-color:#1e2229}.window.dialog.ruleEditor>.wrapper .content .help{margin-top:8px}.window.dialog.ruleEditor>.wrapper .content .help p{margin:0;padding:0}.window.dialog.ruleEditor>.wrapper .content .help ul{display:grid;gap:2px;width:100%;margin-top:8px;margin-bottom:10px}.window.dialog.ruleEditor>.wrapper .content .help ul li{padding:6px;margin-left:8px;font-size:9pt;border-radius:3px;background-color:#1e2229}.window.panel.editTilesetDefs .mainList ul:empty::before{content:"No tileset"}.window.panel.editTilesetDefs .content{grid-template-rows:-webkit-min-content -webkit-min-content auto;grid-template-rows:min-content min-content auto;grid-template-columns:300px auto}.window.panel.editTilesetDefs .content .help{grid-row:2/4;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.window.panel.editTilesetDefs .content .mainList{grid-row:2/4}.window.panel.editTilesetDefs .content .mainList span.name{display:grid;grid-template-columns:repeat(2, -webkit-min-content);grid-template-columns:repeat(2, min-content);overflow-x:hidden;width:100%}.window.panel.editTilesetDefs .content .mainList span.name .icon{margin-right:4px}.window.panel.editTilesetDefs .content .mainList .active .name .icon{filter:brightness(0)}.window.panel.editTilesetDefs .content dl.form{grid-row:2/3}.window.panel.editTilesetDefs .content dl.form dt{max-width:none;white-space:nowrap}.window.panel.editTilesetDefs .content dl.form:not(.embed) .embedTileset{display:none}.window.panel.editTilesetDefs .content dl.form.embed{padding-bottom:0}.window.panel.editTilesetDefs .content dl.form.embed .notEmbed{display:none}.window.panel.editTilesetDefs .content dl.form.embed .notEmbed+dd{display:none}.window.panel.editTilesetDefs .content dl.form.embed dd.embedTileset{display:block;padding:16px;margin-top:16px;margin-bottom:0;border:1px dashed #737f9d;border-radius:4px;grid-column:1/3}.window.panel.editTilesetDefs .content dl.form.embed dd.embedTileset .desc{color:#fff}.window.panel.editTilesetDefs .content dl.form.embed dd.embedTileset .license{margin-top:8px;color:#fc0}.window.panel.editTilesetDefs .content dl.form.embed dd.embedTileset .infos{display:grid;grid-template-columns:auto -webkit-min-content;grid-template-columns:auto min-content;align-items:center;padding-bottom:8px;margin-bottom:8px;color:#c1cfeb;border-bottom:1px solid #545d73}.window.panel.editTilesetDefs .content .pickerWrapper{grid-row:3/4}.window.panel.editTilesetDefs .content .tilesDemo canvas{display:block;width:100%;image-rendering:-moz-crisp-edges;image-rendering:pixelated}.window.panel.editTilesetDefs .content .pickerWrapper{overflow:hidden;outline:1px solid #fff;outline-offset:-1px;box-shadow:0px 4px 16px rgba(0,0,0,.4) inset;background-color:rgba(0,0,0,.4)}.window.panel.entityDefs .content{display:grid;height:100%;justify-content:stretch;-moz-column-gap:16px;column-gap:16px;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;grid-template-columns:250px auto}.window.panel.entityDefs .content.noHelp{grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto}.window.panel.entityDefs .content.noHelp>.header{display:none}.window.panel.entityDefs .content dl.form.main{padding-bottom:0}.window.panel.entityDefs .content dl.form.extra{padding:8px;width:calc(100% - 16px);outline:1px solid #545d73;outline-offset:-1px}.window.panel.entityDefs .content>h2:first-of-type{grid-column:1/3}.window.panel.entityDefs .content>.header{grid-column:1/3}.window.panel.entityDefs .content>.entityList{display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;overflow:hidden}.window.panel.entityDefs .content>.entityList>ul{overflow:auto}.window.panel.entityDefs .content>.entityList>ul li:not(.subList):not(.title){grid-template-columns:-webkit-min-content auto -webkit-min-content;grid-template-columns:min-content auto min-content}.window.panel.entityDefs .content>.entityList>ul li:not(.subList):not(.title) .name{overflow:hidden}.window.panel.entityDefs .content>.entityList ul:empty::before{content:"No entity"}.window.panel.entityDefs .content .rightColumn{overflow:hidden;display:grid;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto}.window.panel.entityDefs .content .rightColumn .entityForm{margin-bottom:16px}.window.panel.entityDefs .content button{white-space:nowrap}.window.panel.entityDefs .content .renderMode *[class*=mode_]{display:none}.window.panel.entityDefs .content .renderMode.mode_Rectangle .mode_Rectangle,.window.panel.entityDefs .content .renderMode.mode_Ellipse .mode_Ellipse,.window.panel.entityDefs .content .renderMode.mode_Tile .mode_Tile{display:block}.window.panel.entityDefs .content .renderMode select,.window.panel.entityDefs .content .renderMode canvas{margin-left:4px}.window.panel.entityDefs .content .renderMode select.renderMode{flex:1 1 0px}.window.panel.entityDefs .content .renderMode .tilePicker{flex:0 0 auto}.window.panel.entityDefs .content .renderMode .nineSlice{display:flex;flex:1 0 100%;flex-wrap:nowrap;opacity:1;align-items:center}.window.panel.entityDefs .content .renderMode .nineSlice span{opacity:.8;margin-left:8px}.window.panel.entityDefs .content .renderMode .nineSlice input{width:40px}.window.panel.entityDefs .content{width:960px}.window.panel.entityDefs .previewWrapper{position:relative;float:right;margin:8px;border:1px solid #545d73;display:none}.window.panel.entityDefs .previewWrapper .entityPreview{width:64px;height:64px}.window.panel.entityDefs .previewWrapper .label{position:absolute;z-index:1;bottom:0px;right:0px;font-size:7pt;text-transform:uppercase}.window.panel.entityDefs input[type=color]{min-height:32px}#timelineDebug{position:absolute;top:10px;right:10px;z-index:99;pointer-events:none}#timelineDebug .timeline{display:grid;grid-template-rows:16px;gap:1px;padding:2px;margin-top:8px;border:1px solid #545d73;border-radius:3px;background-color:rgba(0,0,0,.7);box-shadow:0px 4px 8px #000}#timelineDebug .timeline>div{overflow:hidden}#timelineDebug .timeline>div.header{font-size:8pt;padding:3px}#timelineDebug .timeline>div.header.row{text-align:center;font-size:7pt}#timelineDebug .timeline>div.header.level{color:#fc0}#timelineDebug .timeline>div.current{border-right:3px solid #fc0;box-shadow:-2px 0px 0px rgba(0,0,0,.5) inset}#timelineDebug .timeline>div.hasState{background-color:#79dd8a}#timelineDebug .timeline>div.hasState.extend{background-color:#5eab6b;background-repeat:no-repeat;background-image:url("../icons/arrow_right.svg");background-position:center;opacity:.66}#timelineDebug .timeline>div.hasState.level{background-color:#ff4}#timelineDebug .timeline>div.hasState.level.extend{background-color:#fc0}#timelineDebug .timeline>div.empty{background-color:#2e333f;background-image:url("../img/stripes.png");background-repeat:repeat}#timelineDebug .timeline>div.na{background-color:#791105;background-image:url("../img/stripesLight.png");background-repeat:repeat}#timelineDebug ul.allTimelines{padding-top:8px}#timelineDebug ul.allTimelines li{text-align:right;font-size:8pt;color:#fff;text-shadow:0px 2px 4px #000}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#2e333f;border-left:1px solid #545d73}::-webkit-scrollbar-thumb{background:#737f9d}::-webkit-scrollbar-thumb:hover{background:#c1cfeb}.window.ruleGroupRemap .wrapper .content{display:grid;grid-template-columns:300px 600px;grid-template-rows:-webkit-min-content auto;grid-template-rows:min-content auto;-moz-column-gap:16px;column-gap:16px}.window.ruleGroupRemap .wrapper .content>h2{grid-column:1/3}.window.ruleGroupRemap .wrapper .content h3:first-child{margin-top:0}.window.ruleGroupRemap .wrapper .content input[type=text]{width:100%}.window.ruleGroupRemap .wrapper .content ul.intGridIds{margin-top:8px;margin-bottom:8px}.window.ruleGroupRemap .wrapper .content ul.intGridIds li{display:grid;grid-template-columns:auto -webkit-min-content auto;grid-template-columns:auto min-content auto;margin-bottom:2px;align-items:center}.window.ruleGroupRemap .wrapper .content ul.intGridIds li .oldId,.window.ruleGroupRemap .wrapper .content ul.intGridIds li .newId{padding:8px;border-radius:3px;text-shadow:1px 1px 1px #000,-1px -1px 1px #000,0px 2px 3px #000}.window.ruleGroupRemap .wrapper .content ul.intGridIds li .oldId{opacity:.66;cursor:not-allowed}.window.ruleGroupRemap .wrapper .content ul.intGridIds li .newId{border:1px solid #fff;cursor:pointer}.window.ruleGroupRemap .wrapper .content ul.intGridIds li .newId:hover{border-color:#fc0}.window.ruleGroupRemap .wrapper .content ul.intGridIds li .newId.unchanged{font-style:italic;color:#c1cfeb}.window.ruleGroupRemap .wrapper .content ul.intGridIds li .unchanged{color:#c1cfeb;font-style:italic;text-shadow:none;background-color:rgba(0,0,0,0) !important;border:1px dashed #545d73}.window.ruleGroupRemap .wrapper .content .rightColumn>.tileset{height:60vh;border:1px solid #fff;outline:1px solid #000}.window.intGridValuePicker .wrapper{padding:8px;background-color:#000;border:none;border-radius:4px}.window.intGridValuePicker .wrapper .content ul li{padding:8px;border-radius:3px;border:2px solid rgba(0,0,0,0);text-shadow:0px 1px 0px #000,0px 0px 3px rgba(0,0,0,.5),0px 0px 2px rgba(0,0,0,.5);cursor:pointer}.window.intGridValuePicker .wrapper .content ul li[value="0"]{border:1px solid #545d73;background-color:#2e333f}.window.intGridValuePicker .wrapper .content ul li:hover:not(.active){border-color:#fff;opacity:.8 !important}.window.intGridValuePicker .wrapper .content ul li.active{margin:0;margin-top:2px;margin-bottom:2px;border:3px solid #fff;cursor:initial}.window.intGridValuePicker .wrapper .content ul li:not(.active){opacity:.66;background-image:url("../img/stripes.png");background-repeat:repeat}.window.intGridValuePicker .wrapper .content ul li+li{margin-top:1px}.window.outOfBoundsPolicyGlobal .wrapper .content{width:600px}.window.outOfBoundsPolicyGlobal .wrapper .content dl.form{margin-top:16px;margin-bottom:0}.window.rulesWizard .wrapper .content .layout{display:grid;width:90vw;height:72vh;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;grid-template-rows:100%;-moz-column-gap:8px;column-gap:8px}.window.rulesWizard .wrapper .content .layout .side .help{margin-bottom:8px}.window.rulesWizard .wrapper .content .layout .side label{display:block;color:#c1cfeb;margin-bottom:4px;font-size:10pt}.window.rulesWizard .wrapper .content .layout .side info{display:inline-block;font-family:inherit;width:20px;height:18px;margin:0;margin-left:2px;margin-right:2px;font-size:10pt;border-width:2px}.window.rulesWizard .wrapper .content .layout .side .intGrid{margin-bottom:16px;cursor:pointer}.window.rulesWizard .wrapper .content .layout .side .intGrid .wrapper{display:grid;grid-template-columns:32px 32px auto;gap:4px;padding:2px;white-space:nowrap;border-radius:3px}.window.rulesWizard .wrapper .content .layout .side .intGrid .color,.window.rulesWizard .wrapper .content .layout .side .intGrid .id,.window.rulesWizard .wrapper .content .layout .side .intGrid .name,.window.rulesWizard .wrapper .content .layout .side .intGrid .noValue{padding:6px}.window.rulesWizard .wrapper .content .layout .side .intGrid:not(.empty) .noValue{display:none}.window.rulesWizard .wrapper .content .layout .side .intGrid .id{text-align:center}.window.rulesWizard .wrapper .content .layout .side .intGrid.empty{grid-template-columns:auto;font-size:8pt}.window.rulesWizard .wrapper .content .layout .side .intGrid.empty.main{color:#ff4;border:1px solid #fc0;background-color:#791105;box-shadow:0px 0px 8px #e34d00}.window.rulesWizard .wrapper .content .layout .side .intGrid.empty.other{font-style:italic;color:#c1cfeb;border:1px solid #545d73;background-color:#2e333f}.window.rulesWizard .wrapper .content .layout .side .intGrid.empty .color,.window.rulesWizard .wrapper .content .layout .side .intGrid.empty .id,.window.rulesWizard .wrapper .content .layout .side .intGrid.empty .name{display:none}.window.rulesWizard .wrapper .content .layout .side .intGrid:hover{background-color:#fc0 !important;border-color:#fff !important}.window.rulesWizard .wrapper .content .layout .side .intGrid:hover *{color:#000 !important}.window.rulesWizard .wrapper .content .layout .side .important{position:absolute;z-index:2;margin-left:-1px;margin-right:-1px;width:197px;height:164px;border:1px solid #79dd8a;border-radius:3px;pointer-events:none}.window.rulesWizard .wrapper .content .layout .side .grid{display:grid;gap:1px;grid-template-columns:repeat(12, 32px);grid-template-rows:repeat(5, 32px);background:url("../img/stripesLight.png") repeat;background-color:#000;border:1px solid #545d73}@media(max-width: 900px){.window.rulesWizard .wrapper .content .layout .side .grid{grid-template-columns:repeat(11, 16px);grid-template-rows:repeat(5, 16px)}}.window.rulesWizard .wrapper .content .layout .side .grid .cell{position:relative;outline:1px solid #1e2229;outline-offset:-1px;cursor:pointer}.window.rulesWizard .wrapper .content .layout .side .grid .cell:not(:empty){background-color:#000}.window.rulesWizard .wrapper .content .layout .side .grid .cell img{width:100% !important;height:100% !important}.window.rulesWizard .wrapper .content .layout .side .grid .cell:hover{outline-color:#fc0}.window.rulesWizard .wrapper .content .layout .side .grid .cell.active{outline:3px solid #fff !important;z-index:2}.window.rulesWizard .wrapper .content .layout .side .grid .cell img.faded{position:absolute;z-index:1;top:0;left:0;opacity:.11}.window.rulesWizard .wrapper .content .layout .side .grid .cell.mirror{outline:1px dashed #fff}.window.rulesWizard .wrapper .content .layout .side .grid .cell.defined{outline:1px solid #fff}.window.rulesWizard .wrapper .content .layout>.tileset{border:1px solid #737f9d}.window.commandRunner .wrapper .content{max-width:80vw}.window.commandRunner .wrapper .content.untrusted{width:500px;max-height:80vh}.window.commandRunner .wrapper .content.untrusted .untrustedWarning .commands{white-space:pre-wrap;font-family:"Courier New",Courier,monospace;background-color:#1e2229;padding:8px;text-shadow:none;border-radius:3px}.window.commandRunner .wrapper .content.untrusted .trusted{display:none}.window.commandRunner .wrapper .content:not(.untrusted) .untrustedWarning{display:none}.window.commandRunner .wrapper .content .output{padding:8px;min-width:500px;min-height:200px;max-height:60vh;overflow:auto;background-color:#1e2229;border:1px solid #545d73;font-size:8pt}.window.commandRunner .wrapper .content .output pre{margin:0;color:#c1cfeb}.window.commandRunner .wrapper .content .output pre.sep{padding-top:8px;margin-bottom:8px;border-bottom:1px solid #2e333f} \ No newline at end of file diff --git a/app/assets/css/app.scss b/app/assets/css/app.scss index 1bbe8d45a..8cbd6d06b 100644 --- a/app/assets/css/app.scss +++ b/app/assets/css/app.scss @@ -6517,6 +6517,17 @@ dl.form.fieldInstanceEditor { box-shadow: 0px 0px 32px $red; } + button.reset { + margin-left: 10px; + flex: 0; + align-self: center; + padding: 4px 1px; + .icon { + width: 20px; + height: 20px; + } + } + span.point { padding: 4px; align-self: center; @@ -6599,9 +6610,6 @@ dl.form.fieldInstanceEditor { height: 20px; } } - button.reset { - margin-left: 10px; - } button.remove { flex: 0 1 16px; } diff --git a/app/assets/tpl/editEntityDefs.html b/app/assets/tpl/editEntityDefs.html index b21d42435..09d7c716a 100644 --- a/app/assets/tpl/editEntityDefs.html +++ b/app/assets/tpl/editEntityDefs.html @@ -89,6 +89,23 @@

Project entities

Keep aspect ratio +
+ Flippable: + + + + + +
diff --git a/app/assets/tpl/entityInstanceEditor.html b/app/assets/tpl/entityInstanceEditor.html index 8d73f2c88..a4ce00fec 100644 --- a/app/assets/tpl/entityInstanceEditor.html +++ b/app/assets/tpl/entityInstanceEditor.html @@ -27,6 +27,22 @@ +
+ Flips + How this Entity instance is oriented on the X and Y axes. +
+
+ + + +
+
References to this entity This is a list of all other Entities having a Reference field pointing to this Entity. @@ -42,4 +58,4 @@
-
\ No newline at end of file +
diff --git a/app/extraFiles/samples/Entities.ldtk b/app/extraFiles/samples/Entities.ldtk index 97aae0325..dd01b28a2 100644 --- a/app/extraFiles/samples/Entities.ldtk +++ b/app/extraFiles/samples/Entities.ldtk @@ -5,18 +5,18 @@ "doc": "https://ldtk.io/json", "schema": "https://ldtk.io/files/JSON_SCHEMA.json", "appAuthor": "Sebastien 'deepnight' Benard", - "appVersion": "1.2.5", + "appVersion": "1.2.6", "url": "https://ldtk.io" }, "iid": "a2a4fe00-7820-11ed-b6fd-9b53622ece75", - "jsonVersion": "1.2.5", - "appBuildId": 464869, + "jsonVersion": "1.2.6", + "appBuildId": 465061, "nextUid": 173, "identifierStyle": "Capitalize", "toc": [{ "identifier": "PlayerStart", "instances": [{ - "worldIid": "aa6ac7e0-7820-11ed-bcdb-0d3af16f141f", + "worldIid": "f310fef0-7820-11ed-9859-6530dfcbabd7", "levelIid": "f80e4bc0-66b0-11ec-b121-b327a018109c", "layerIid": "f80e99e0-66b0-11ec-b121-456135fb304a", "entityIid": "f80f0f12-66b0-11ec-b121-c7e0ed2499ae" @@ -1997,12 +1997,12 @@ "entityIid": "3396d6c0-66b0-11ec-b548-27e4812969a5", "layerIid": "aba76db0-66b0-11ec-adce-c7e369098433", "levelIid": "f80e4bc0-66b0-11ec-b121-b327a018109c", - "worldIid": "aa6ac7e0-7820-11ed-bcdb-0d3af16f141f" + "worldIid": "f310fef0-7820-11ed-9859-6530dfcbabd7" }, { "entityIid": "f80ee800-66b0-11ec-b121-9b6ebb5b8d6e", "layerIid": "aba76db0-66b0-11ec-adce-c7e369098433", "levelIid": "f80e4bc0-66b0-11ec-b121-b327a018109c", - "worldIid": "aa6ac7e0-7820-11ed-bcdb-0d3af16f141f" + "worldIid": "f310fef0-7820-11ed-9859-6530dfcbabd7" } ], "__type": "Array", "__tile": null, "defUid": 97, "realEditorValues": [ { "id": "V_String", "params": ["3396d6c0-66b0-11ec-b548-27e4812969a5"] @@ -2034,12 +2034,12 @@ "entityIid": "34733ef0-66b0-11ec-b043-b1457bc19192", "layerIid": "aba76db0-66b0-11ec-adce-c7e369098433", "levelIid": "f80e4bc0-66b0-11ec-b121-b327a018109c", - "worldIid": "aa6ac7e0-7820-11ed-bcdb-0d3af16f141f" + "worldIid": "f310fef0-7820-11ed-9859-6530dfcbabd7" }, { "entityIid": "f05f14b0-7820-11ed-b13c-3bd68d5556ee", "layerIid": "aba76db0-66b0-11ec-adce-c7e369098433", "levelIid": "f80e4bc0-66b0-11ec-b121-b327a018109c", - "worldIid": "aa6ac7e0-7820-11ed-bcdb-0d3af16f141f" + "worldIid": "f310fef0-7820-11ed-9859-6530dfcbabd7" } ], "__type": "Array", "__tile": null, "defUid": 98, "realEditorValues": [ { "id": "V_String", "params": ["34733ef0-66b0-11ec-b043-b1457bc19192"] @@ -2070,7 +2070,7 @@ "entityIid": "dd32c940-7820-11ed-b13c-d7bdc343ece3", "layerIid": "aba76db0-66b0-11ec-adce-c7e369098433", "levelIid": "f80e4bc0-66b0-11ec-b121-b327a018109c", - "worldIid": "aa6ac7e0-7820-11ed-bcdb-0d3af16f141f" + "worldIid": "f310fef0-7820-11ed-9859-6530dfcbabd7" }], "__type": "Array", "__tile": null, "defUid": 98, "realEditorValues": [{ "id": "V_String", "params": ["dd32c940-7820-11ed-b13c-d7bdc343ece3"] @@ -2202,12 +2202,12 @@ "entityIid": "0ac19200-66b0-11ec-b043-21f75c6683af", "layerIid": "aba76db0-66b0-11ec-adce-c7e369098433", "levelIid": "f80e4bc0-66b0-11ec-b121-b327a018109c", - "worldIid": "aa6ac7e0-7820-11ed-bcdb-0d3af16f141f" + "worldIid": "f310fef0-7820-11ed-9859-6530dfcbabd7" }, { "entityIid": "f80ee805-66b0-11ec-b121-09bc15634dc5", "layerIid": "aba76db0-66b0-11ec-adce-c7e369098433", "levelIid": "f80e4bc0-66b0-11ec-b121-b327a018109c", - "worldIid": "aa6ac7e0-7820-11ed-bcdb-0d3af16f141f" + "worldIid": "f310fef0-7820-11ed-9859-6530dfcbabd7" } ], "__type": "Array", "__tile": null, "defUid": 102, "realEditorValues": [ { "id": "V_String", "params": ["0ac19200-66b0-11ec-b043-21f75c6683af"] @@ -2236,19 +2236,19 @@ "entityIid": "f80ec0f0-66b0-11ec-b121-db9b161a9754", "layerIid": "aba76db0-66b0-11ec-adce-c7e369098433", "levelIid": "f80e4bc0-66b0-11ec-b121-b327a018109c", - "worldIid": "aa6ac7e0-7820-11ed-bcdb-0d3af16f141f" + "worldIid": "f310fef0-7820-11ed-9859-6530dfcbabd7" }, { "entityIid": "f80ee801-66b0-11ec-b121-4d74c475d701", "layerIid": "aba76db0-66b0-11ec-adce-c7e369098433", "levelIid": "f80e4bc0-66b0-11ec-b121-b327a018109c", - "worldIid": "aa6ac7e0-7820-11ed-bcdb-0d3af16f141f" + "worldIid": "f310fef0-7820-11ed-9859-6530dfcbabd7" }, { "entityIid": "15991840-7820-11ed-9e31-5d3ab678e30e", "layerIid": "aba76db0-66b0-11ec-adce-c7e369098433", "levelIid": "f80e4bc0-66b0-11ec-b121-b327a018109c", - "worldIid": "aa6ac7e0-7820-11ed-bcdb-0d3af16f141f" + "worldIid": "f310fef0-7820-11ed-9859-6530dfcbabd7" } ], "__type": "Array", "__tile": null, "defUid": 102, "realEditorValues": [ { "id": "V_String", @@ -2354,7 +2354,7 @@ "entityIid": "ba7bf4c0-7820-11ed-b300-97eb43836a46", "layerIid": "aba76db0-66b0-11ec-adce-c7e369098433", "levelIid": "f80e4bc0-66b0-11ec-b121-b327a018109c", - "worldIid": "aa6ac7e0-7820-11ed-bcdb-0d3af16f141f" + "worldIid": "f310fef0-7820-11ed-9859-6530dfcbabd7" }], "__type": "Array", "__tile": null, "defUid": 98, "realEditorValues": [{ "id": "V_String", "params": ["ba7bf4c0-7820-11ed-b300-97eb43836a46"] @@ -2504,7 +2504,7 @@ "entityIid": "478c88a0-7820-11ed-96e3-cb21df51f96c", "layerIid": "aba76db0-66b0-11ec-adce-c7e369098433", "levelIid": "f80e4bc0-66b0-11ec-b121-b327a018109c", - "worldIid": "aa6ac7e0-7820-11ed-bcdb-0d3af16f141f" + "worldIid": "f310fef0-7820-11ed-9859-6530dfcbabd7" }, "__type": "EntityRef", "__tile": null, "defUid": 167, "realEditorValues": [{ "id": "V_String", "params": ["478c88a0-7820-11ed-96e3-cb21df51f96c"] @@ -2605,7 +2605,7 @@ "entityIid": "cec7c540-7820-11ed-a572-9d2143bfff9e", "layerIid": "f80e99e0-66b0-11ec-b121-456135fb304a", "levelIid": "f80e4bc0-66b0-11ec-b121-b327a018109c", - "worldIid": "aa6ac7e0-7820-11ed-bcdb-0d3af16f141f" + "worldIid": "f310fef0-7820-11ed-9859-6530dfcbabd7" }, "__type": "EntityRef", "__tile": null, "defUid": 165, "realEditorValues": [{ "id": "V_String", "params": ["cec7c540-7820-11ed-a572-9d2143bfff9e"] @@ -2672,7 +2672,7 @@ "entityIid": "623b4880-7820-11ed-96e3-a559e7f13f25", "layerIid": "f80e99e0-66b0-11ec-b121-456135fb304a", "levelIid": "f80e4bc0-66b0-11ec-b121-b327a018109c", - "worldIid": "aa6ac7e0-7820-11ed-bcdb-0d3af16f141f" + "worldIid": "f310fef0-7820-11ed-9859-6530dfcbabd7" }, "__type": "EntityRef", "__tile": null, "defUid": 165, "realEditorValues": [{ "id": "V_String", "params": ["623b4880-7820-11ed-96e3-a559e7f13f25"] @@ -5895,5 +5895,6 @@ "__neighbours": [] } ], - "worlds": [] + "worlds": [], + "dummyWorldIid": "f310fef0-7820-11ed-9859-6530dfcbabd7" } \ No newline at end of file diff --git a/app/extraFiles/samples/Typical_2D_platformer_example.ldtk b/app/extraFiles/samples/Typical_2D_platformer_example.ldtk index 7949024ef..45a36c9c1 100644 --- a/app/extraFiles/samples/Typical_2D_platformer_example.ldtk +++ b/app/extraFiles/samples/Typical_2D_platformer_example.ldtk @@ -34,7 +34,7 @@ "backupOnSave": false, "backupLimit": 10, "levelNamePattern": "%world_Level_%idx", - "tutorialDesc": "This sample demonstrates a typical 2D platformer with auto-rendered walls and various gameplay entities.\nPress [A] to toggle \"Single layer mode\", which helps understanding which layer contains what.\nPress [SHIFT+R] to toggle auto-rendered layers.", + "tutorialDesc": "This sample demonstrates a typical 2D platformer with auto-rendered walls and various gameplay entities.\nPress [Shift+A] to toggle \"Single layer mode\", which helps understanding which layer contains what.\nPress [SHIFT+R] to toggle auto-rendered layers.", "customCommands": [], "flags": ["UseMultilinesType"], "defs": { "layers": [ diff --git a/app/package.json b/app/package.json index 9a4ec2661..c897317a1 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { "name": "ldtk", - "version": "1.2.5", + "version": "1.2.6", "main": "assets/main.js", "productName": "LDtk", "author": "Sebastien Benard", diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 48139e849..797c3e536 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,3 +1,8 @@ +# 1.2.6 + + - Fixed the size of Reset buttons in custom field forms + - Fixed the "World IID" values that changed randomly in the JSON, if the project isn't in Multi-Worlds mode. + # 1.2.5 - Added custom user documentation for Entities and Layers diff --git a/docs/JSON_DOC.md b/docs/JSON_DOC.md index a8f4376b3..ca4013b53 100644 --- a/docs/JSON_DOC.md +++ b/docs/JSON_DOC.md @@ -1,4 +1,4 @@ -# LDtk Json structure (version 1.2.5) +# LDtk Json structure (version 1.2.6) @@ -32,6 +32,7 @@ Value | Type | Description `defaultLevelWidth`
*Only used by editor*
![Generic badge](https://img.shields.io/badge/Changed_1.0.0-gray.svg) | Int *(can be `null`)* | **WARNING**: this field will move to the `worlds` array after the "multi-worlds" update. It will then be `null`. You can enable the Multi-worlds advanced project option to enable the change immediately.

Default new level width `defaultPivotX`
*Only used by editor* | Float | Default X pivot (0 to 1) for new entities `defaultPivotY`
*Only used by editor* | Float | Default Y pivot (0 to 1) for new entities +`dummyWorldIid`
*Only used by editor*
![Generic badge](https://img.shields.io/badge/Added_1.2.6-green.svg) | String | If the project isn't in MultiWorlds mode, this is the IID of the internal "dummy" World. `exportLevelBg`
*Only used by editor*
![Generic badge](https://img.shields.io/badge/Added_1.2.0-green.svg) | Bool | If TRUE, the exported PNGs will include the level background (color or image). `exportTiled`
*Only used by editor* | Bool | If TRUE, a Tiled compatible file will also be generated along with the LDtk JSON file (default is FALSE) `flags`
*Only used by editor*
![Generic badge](https://img.shields.io/badge/Added_0.8.0-gray.svg) | Array of Enum | An array containing various advanced flags (ie. options or other states).
Possible values: `DiscardPreCsvIntGrid`, `ExportPreCsvIntGridFormat`, `IgnoreBackupSuggest`, `PrependIndexToLevelFileNames`, `MultiWorlds`, `UseMultilinesType` diff --git a/docs/JSON_SCHEMA.json b/docs/JSON_SCHEMA.json index eb82d3e1d..027341a2a 100644 --- a/docs/JSON_SCHEMA.json +++ b/docs/JSON_SCHEMA.json @@ -1,9 +1,9 @@ { "description": "This file is a JSON schema of files created by LDtk level editor (https://ldtk.io).", - "title": "LDtk 1.2.5 JSON schema", + "title": "LDtk 1.2.6 JSON schema", "$schema": "https://json-schema.org/draft-07/schema#", "$ref": "#/LdtkJsonRoot", - "version": "1.2.5", + "version": "1.2.6", "LdtkJsonRoot": { "description": "This is the root of any Project JSON file. It contains: - the project settings, - an array of levels, - a group of definitions (that can probably be safely ignored for most users).", "title": "LDtk Json root", @@ -24,6 +24,7 @@ "defaultLevelBgColor", "defaultPivotX", "defaultPivotY", + "dummyWorldIid", "exportLevelBg", "exportTiled", "flags", @@ -120,6 +121,12 @@ "number" ] }, + "dummyWorldIid": { + "description": "If the project isn't in MultiWorlds mode, this is the IID of the internal \"dummy\" World.", + "type": [ + "string" + ] + }, "customCommands": { "description": "An array of command lines that can be ran manually by the user", "items": { diff --git a/docs/MINIMAL_JSON_SCHEMA.json b/docs/MINIMAL_JSON_SCHEMA.json index 0ef3f19a9..12fd293da 100644 --- a/docs/MINIMAL_JSON_SCHEMA.json +++ b/docs/MINIMAL_JSON_SCHEMA.json @@ -1,9 +1,9 @@ { "description": "This file is a JSON schema of files created by LDtk level editor (https://ldtk.io).", - "title": "LDtk 1.2.5 JSON schema", + "title": "LDtk 1.2.6 JSON schema", "$schema": "https://json-schema.org/draft-07/schema#", "$ref": "#/LdtkJsonRoot", - "version": "1.2.5", + "version": "1.2.6", "LdtkJsonRoot": { "description": "This is the root of any Project JSON file. It contains: - the project settings, - an array of levels, - a group of definitions (that can probably be safely ignored for most users).", "title": "LDtk Json root", diff --git a/docs/deploy/deployChecklist.md b/docs/deploy/deployChecklist.md index 683581a39..55587e8ba 100644 --- a/docs/deploy/deployChecklist.md +++ b/docs/deploy/deployChecklist.md @@ -6,19 +6,20 @@ - [ ] Check code signing exp. date: 2025-02-21 ## Testing - -- [ ] Pack a local Setup and test it - [ ] Add API unit tests for all new features +- [ ] Update LDtk sample maps +- [ ] Update Haxe API maps +- [ ] Run Haxe API tests +- [ ] Build Haxe API samples +- [ ] Verify GameBase compatibility +- [ ] Pack a local Setup and test it -## Preparation & checks +## Preparation - [ ] Check the issues in the Pending milestone ([pendings](https://github.com/deepnight/ldtk/milestone/28)) - [ ] Verify planned deprecations - [ ] Fill changelog -- [ ] Rebuild all LDtk sample maps -- [ ] Update Haxe API maps - [ ] Check JSON doc (changed/added flags etc.) -- [ ] Run Haxe API tests -- [ ] Build Haxe API samples +- [ ] Build QuickType files ## Git - [ ] Merge LDtk repo to `master` @@ -34,29 +35,29 @@ - [ ] Attach Linux to GitHub Release ## Docs -- [ ] Build QuickType files -- [ ] Upload Changelog to FTP -- [ ] Upload Changelog images to FTP -- [ ] Upload JSON Doc to FTP -- [ ] Upload JSON Schema to FTP +- [ ] Upload *Changelog*, *Changelog images*, *JSON doc*, *JSON schema* to FTP - [ ] Upload QuickType parsers -- [ ] Check "next" folder on FTP +- [ ] Check and update "next" folder on FTP -## Publish +## Publish Haxe API - [ ] Submit to LDtk Haxe API HaxeLib ([check](https://lib.haxe.org/p/ldtk-haxe-api/)) - [ ] Add "x.x.x-rcX" tag to Haxe API repo + +## Publish Itch - [ ] Run `npm run publish-itchio` - [ ] Upload macOS build to Itch.io ([link](https://itch.io/dashboard)) - [ ] Upload Linux build to Itch.io -- [ ] Publish GitHub release +- [ ] Add a devlog post on Itch.io - [ ] *[Optional]* Update Itch.io page +## Release +- [ ] Publish GitHub release +- [ ] Publish the devlog post on Itch.io ([devLogs](https://itch.io/dashboard/game/740403/devlog)) + ## Community APIs -- [ ] Update API list ([issue](https://github.com/deepnight/ldtk/issues/273)) +- [ ] Update website API list ([issue](https://github.com/deepnight/ldtk/issues/273)) ## Communication -- [ ] Add a devlog post on Itch.io -- [ ] Publish the devlog post on Itch.io ([devLogs](https://itch.io/dashboard/game/740403/devlog)) - [ ] Announce on Twitter - [ ] Announce on Discord - [ ] Announce on Reddit (major releases only) diff --git a/docs/version.txt b/docs/version.txt index 3a1f10eae..7e099ec5d 100644 --- a/docs/version.txt +++ b/docs/version.txt @@ -1 +1 @@ -1.2.5 \ No newline at end of file +1.2.6 \ No newline at end of file diff --git a/src/electron.renderer/GenericLevelElementGroup.hx b/src/electron.renderer/GenericLevelElementGroup.hx index c5e2908e2..ac55d2184 100644 --- a/src/electron.renderer/GenericLevelElementGroup.hx +++ b/src/electron.renderer/GenericLevelElementGroup.hx @@ -216,8 +216,8 @@ class GenericLevelElementGroup { case Entity(li, ei): selectRender.beginFill(c, alpha); selectRender.drawRect( - li.pxParallaxX + ( ei.x - ei.width * ei.def.pivotX ) * li.def.getScale(), - li.pxParallaxY + ( ei.y - ei.height * ei.def.pivotY ) * li.def.getScale(), + li.pxParallaxX + ( ei.x - ei.width * ei.getAdjustedPivotX() ) * li.def.getScale(), + li.pxParallaxY + ( ei.y - ei.height * ei.getAdjustedPivotY() ) * li.def.getScale(), ei.width * li.def.getScale(), ei.height * li.def.getScale() ); @@ -861,4 +861,4 @@ class GenericLevelElementGroup { renderSelection(); } } -} \ No newline at end of file +} diff --git a/src/electron.renderer/data/Project.hx b/src/electron.renderer/data/Project.hx index 73fa4baaa..5020f7f74 100644 --- a/src/electron.renderer/data/Project.hx +++ b/src/electron.renderer/data/Project.hx @@ -16,6 +16,7 @@ class Project { public var iid(default,null) : String; public var defs : Definitions; public var worlds : Array = []; + var dummyWorldIid : String; public var jsonVersion : String; public var appBuildId : Float; @@ -295,6 +296,13 @@ class Project { p.defs = Definitions.fromJson(p, json.defs); + var invalidateLevelCache = false; + if( json.dummyWorldIid==null ) { + json.dummyWorldIid = p.generateUniqueId_UUID(); + invalidateLevelCache = true; + } + p.dummyWorldIid = json.dummyWorldIid; + if( p.hasFlag(MultiWorlds) ) { // Read normal worlds array for( worldJson in JsonTools.readArray(json.worlds) ) @@ -326,6 +334,12 @@ class Project { if( Version.lower(json.jsonVersion, "0.10", true) ) p.setFlag(PrependIndexToLevelFileNames, true); + // Fix dummy world IID + if( invalidateLevelCache ) + for(w in p.worlds) + for(l in w.levels) + l.invalidateJsonCache(); + p.jsonVersion = Const.getJsonVersion(); // always uses latest version return p; } @@ -346,11 +360,20 @@ class Project { } public inline function setFlag(f:ldtk.Json.ProjectFlag, v:Bool) { - if( f!=null ) + if( f!=null ) { + var old = hasFlag(f); + if( v ) flags.set(f,true); else flags.remove(f); + + if( old!=hasFlag(f) ) + onFlagChange(f, hasFlag(f)); + } + } + + function onFlagChange(f:ldtk.Json.ProjectFlag, active:Bool) { } public inline function registerUsedColor(tag:String, c:Null) { @@ -602,6 +625,7 @@ class Project { defs: defs.toJson(this), levels: hasFlag(MultiWorlds) ? [] : worlds[0].levels.map( (l)->l.toJson() ), worlds: hasFlag(MultiWorlds) ? worlds.map( (w)->w.toJson() ) : [], + dummyWorldIid: dummyWorldIid, // toc: { // var jsonToc : Array = []; @@ -909,7 +933,8 @@ class Project { /** WORLDS **************************************/ public function createWorld(alsoCreateLevel:Bool) : World { - var w = new data.World(this, generateUniqueId_UUID(), "World"); + var worldIid = hasFlag(MultiWorlds) ? generateUniqueId_UUID() : dummyWorldIid; + var w = new data.World(this, worldIid, "World"); w.identifier = fixUniqueIdStr( w.identifier, (id)->isWorldIdentifierUnique(id,w) ); worlds.push(w); diff --git a/src/electron.renderer/data/def/EntityDef.hx b/src/electron.renderer/data/def/EntityDef.hx index 6cd591693..92a07d40b 100644 --- a/src/electron.renderer/data/def/EntityDef.hx +++ b/src/electron.renderer/data/def/EntityDef.hx @@ -31,6 +31,9 @@ class EntityDef { public var resizableX : Bool; public var resizableY : Bool; + public var flippableX : Bool; + public var flippableY : Bool; + public var flipAroundPivot : Bool; public var keepAspectRatio : Bool; public var pivotX(default,set) : Float; public var pivotY(default,set) : Float; @@ -60,6 +63,8 @@ class EntityDef { identifier = "Entity"+uid; setPivot(0.5,1); resizableX = resizableY = false; + flippableX = flippableY = false; + flipAroundPivot = false; keepAspectRatio = false; hollow = false; tags = new Tags(); @@ -91,6 +96,14 @@ class EntityDef { return null; } + public inline function getFlippedPivotX() { + return flipAroundPivot ? ((width - 1) / width) - pivotX : pivotX; + } + + public inline function getFlippedPivotY() { + return flipAroundPivot ? ((height - 1) / height) - pivotY : pivotY; + } + function set_identifier(id:String) { return identifier = Project.isValidIdentifier(id) ? Project.cleanupIdentifier(id, _project.identifierStyle) : identifier; } @@ -143,6 +156,9 @@ class EntityDef { o.height = JsonTools.readInt( json.height, 16 ); o.resizableX = JsonTools.readBool( json.resizableX, false ); o.resizableY = JsonTools.readBool( json.resizableY, false ); + o.flippableX = JsonTools.readBool( json.flippableX, false ); + o.flippableY = JsonTools.readBool( json.flippableY, false ); + o.flipAroundPivot = JsonTools.readBool( json.flipAroundPivot, false ); o.keepAspectRatio = JsonTools.readBool( json.keepAspectRatio, false ); o.doc = JsonTools.unescapeString( json.doc ); @@ -196,6 +212,9 @@ class EntityDef { height: height, resizableX: resizableX, resizableY: resizableY, + flippableX: flippableX, + flippableY: flippableY, + flipAroundPivot: flipAroundPivot, keepAspectRatio: keepAspectRatio, tileOpacity: JsonTools.writeFloat(tileOpacity), fillOpacity: JsonTools.writeFloat(fillOpacity), @@ -313,4 +332,4 @@ class EntityDef { for(fd in fieldDefs) fd.tidy(p); } -} \ No newline at end of file +} diff --git a/src/electron.renderer/data/inst/EntityInstance.hx b/src/electron.renderer/data/inst/EntityInstance.hx index a36dbef75..e923a59f0 100644 --- a/src/electron.renderer/data/inst/EntityInstance.hx +++ b/src/electron.renderer/data/inst/EntityInstance.hx @@ -15,6 +15,7 @@ class EntityInstance { public var worldY(get,never) : Int; public var customWidth : Null; public var customHeight: Null; + public var flips : Int; public var width(get,never) : Int; inline function get_width() return customWidth!=null ? customWidth : def.width; @@ -24,25 +25,26 @@ class EntityInstance { public var fieldInstances : Map = new Map(); - public var left(get,never) : Int; inline function get_left() return M.round( x - width*def.pivotX ); + public var left(get,never) : Int; inline function get_left() return M.round( x - width*getAdjustedPivotX() ); public var right(get,never) : Int; inline function get_right() return left + width; - public var top(get,never) : Int; inline function get_top() return M.round( y - height*def.pivotY ); + public var top(get,never) : Int; inline function get_top() return M.round( y - height*getAdjustedPivotY() ); public var bottom(get,never) : Int; inline function get_bottom() return top + height; - public function new(p:Project, li:LayerInstance, entityDefUid:Int, iid:String) { + public function new(p:Project, li:LayerInstance, entityDefUid:Int, iid:String, flips:Int = 0) { _project = p; _li = li; defUid = entityDefUid; this.iid = iid; + this.flips = flips; } @:keep public function toString() { return 'EntityInst "${def.identifier}" @$x,$y'; } - inline function get_centerX() return M.round( x + (0.5-def.pivotX)*width ); - inline function get_centerY() return M.round( y + (0.5-def.pivotY)*height ); + inline function get_centerX() return M.round( x + (0.5-getAdjustedPivotX())*width ); + inline function get_centerY() return M.round( y + (0.5-getAdjustedPivotY())*height ); inline function get_worldX() return Std.int( x + _li.level.worldX ); inline function get_worldY() return Std.int( y + _li.level.worldY ); @@ -68,6 +70,7 @@ class EntityInstance { height: height, defUid: defUid, px: [x,y], + f: flips, fieldInstances: { var all = []; for(fd in def.fieldDefs) @@ -88,6 +91,7 @@ class EntityInstance { layer: _li.def.identifier, x : x, y : y, + f: flips, width: width, height: height, color: getSmartColor(false), @@ -109,6 +113,8 @@ class EntityInstance { ei.x = JsonTools.readInt( json.px[0], 0 ); ei.y = JsonTools.readInt( json.px[1], 0 ); + ei.flips = JsonTools.readInt( json.f, 0 ); + ei.customWidth = JsonTools.readNullableInt( json.width ); if( ei.customWidth==ei.def.width ) ei.customWidth = null; @@ -125,12 +131,20 @@ class EntityInstance { return ei; } + public inline function getAdjustedPivotX() { + return (def.flipAroundPivot && M.hasBit(flips, 0)) ? ((width - 1) / width) - def.pivotX : def.pivotX; + } + + public inline function getAdjustedPivotY() { + return (def.flipAroundPivot && M.hasBit(flips, 1)) ? ((height - 1) / height) - def.pivotY : def.pivotY; + } + public inline function getCx(ld:data.def.LayerDef) { - return Std.int( ( x + (def.pivotX==1 ? -1 : 0) ) / ld.gridSize ); + return Std.int( ( x + (getAdjustedPivotX()==1 ? -1 : 0) ) / ld.gridSize ); } public inline function getCy(ld:data.def.LayerDef) { - return Std.int( ( y + (def.pivotY==1 ? -1 : 0) ) / ld.gridSize ); + return Std.int( ( y + (getAdjustedPivotY()==1 ? -1 : 0) ) / ld.gridSize ); } public inline function getPointOriginX(ld:data.def.LayerDef) { @@ -363,4 +377,4 @@ class EntityInstance { } -} \ No newline at end of file +} diff --git a/src/electron.renderer/display/EntityRender.hx b/src/electron.renderer/display/EntityRender.hx index abf7fa3a8..824a127fa 100644 --- a/src/electron.renderer/display/EntityRender.hx +++ b/src/electron.renderer/display/EntityRender.hx @@ -96,15 +96,21 @@ class EntityRender extends dn.Process { ed = ei.def; + var w = ei!=null ? ei.width : ed.width; var h = ei!=null ? ei.height : ed.height; var color = ei!=null ? ei.getSmartColor(false) : ed.color; + var flipX = (ei!=null && M.hasBit(ei.flips,0)); + var flipY = (ei!=null && M.hasBit(ei.flips,1)); + var pivotX = ei!=null ? ei.getAdjustedPivotX() : ed.pivotX; + var pivotY = ei!=null ? ei.getAdjustedPivotY() : ed.pivotY; + var wrapper = new h2d.Object(); var g = new h2d.Graphics(wrapper); - g.x = Std.int( -w*ed.pivotX + (ld!=null ? ld.pxOffsetX : 0) ); - g.y = Std.int( -h*ed.pivotY + (ld!=null ? ld.pxOffsetY : 0) ); + g.x = Std.int( -w*pivotX + (ld!=null ? ld.pxOffsetX : 0)); + g.y = Std.int( -h*pivotY + (ld!=null ? ld.pxOffsetY : 0)); var zoomScale = 1 / Editor.ME.camera.adjustedZoom; @@ -129,13 +135,15 @@ class EntityRender extends dn.Process { // Texture var td = Editor.ME.project.defs.getTilesetDef(rect.tilesetUid); var t = td.getTileRect(rect); + t.xFlip = flipX; + t.yFlip = flipY; var alpha = ed.tileOpacity; switch mode { case Stretch: var bmp = new h2d.Bitmap(t, wrapper); if( ld!=null ) bmp.setPosition(ld.pxOffsetX, ld.pxOffsetY); - bmp.tile.setCenterRatio(ed.pivotX, ed.pivotY); + bmp.tile.setCenterRatio(pivotX, pivotY); bmp.alpha = alpha; bmp.scaleX = w / bmp.tile.width; @@ -145,17 +153,21 @@ class EntityRender extends dn.Process { var bmp = new h2d.Bitmap(t, wrapper); if( ld!=null ) bmp.setPosition(ld.pxOffsetX, ld.pxOffsetY); - bmp.tile.setCenterRatio(ed.pivotX, ed.pivotY); + bmp.tile.setCenterRatio(pivotX, pivotY); bmp.alpha = alpha; var s = M.fmin(w / bmp.tile.width, h / bmp.tile.height); bmp.setScale(s); case Repeat: + // Invert flips to prevent broken rendering. + t.xFlip = false; + t.yFlip = false; var tt = new dn.heaps.TiledTexture(t, w,h, wrapper); + tt.alpha = alpha; - tt.x = -w*ed.pivotX + (ld==null ? 0 : ld.pxOffsetX); - tt.y = -h*ed.pivotY + (ld==null ? 0 : ld.pxOffsetY); + tt.x = -w*pivotX + (ld==null ? 0 : ld.pxOffsetX); + tt.y = -h*pivotY + (ld==null ? 0 : ld.pxOffsetY); case Cover: var bmp = new h2d.Bitmap(wrapper); @@ -167,11 +179,13 @@ class EntityRender extends dn.Process { final fw = M.fmin(w, t.width*s) / s; final fh = M.fmin(h, t.height*s) / s; bmp.tile = t.sub( - t.width*ed.pivotX - fw*ed.pivotX, - t.height*ed.pivotY - fh*ed.pivotY, + t.width*pivotX - fw*pivotX, + t.height*pivotY - fh*pivotY, fw,fh ); - bmp.tile.setCenterRatio(ed.pivotX, ed.pivotY); + bmp.tile.xFlip = t.xFlip; + bmp.tile.yFlip = t.yFlip; + bmp.tile.setCenterRatio(pivotX, pivotY); bmp.setScale(s); case FullSizeCropped: @@ -181,11 +195,13 @@ class EntityRender extends dn.Process { final fw = M.fmin(w, t.width); final fh = M.fmin(h, t.height); bmp.tile = t.sub( - t.width*ed.pivotX - fw*ed.pivotX, - t.height*ed.pivotY - fh*ed.pivotY, + t.width*pivotX - fw*pivotX, + t.height*pivotY - fh*pivotY, fw, fh ); - bmp.tile.setCenterRatio(ed.pivotX, ed.pivotY); + bmp.tile.xFlip = t.xFlip; + bmp.tile.yFlip = t.yFlip; + bmp.tile.setCenterRatio(pivotX, pivotY); bmp.alpha = alpha; case FullSizeUncropped: @@ -193,7 +209,7 @@ class EntityRender extends dn.Process { if( ld!=null ) bmp.setPosition(ld.pxOffsetX, ld.pxOffsetY); - bmp.tile.setCenterRatio(ed.pivotX, ed.pivotY); + bmp.tile.setCenterRatio(pivotX, pivotY); bmp.alpha = alpha; case NineSlice: @@ -207,9 +223,8 @@ class EntityRender extends dn.Process { sg.tileCenter = true; sg.width = w; sg.height = h; - sg.x = -w*ed.pivotX + (ld==null ? 0 : ld.pxOffsetX); - sg.y = -h*ed.pivotY + (ld==null ? 0 : ld.pxOffsetY); - + sg.x = -w*pivotX + (ld==null ? 0 : ld.pxOffsetX); + sg.y = -h*pivotY + (ld==null ? 0 : ld.pxOffsetY); } } } @@ -250,11 +265,18 @@ class EntityRender extends dn.Process { } // Pivot + + // Adjust pivot rendering position based on our flip statuses. + var pivotX = ((ed.flipAroundPivot && flipX) ? ((w - 1) / w) - ed.pivotX : ed.pivotX); + var pivotY = ((ed.flipAroundPivot && flipY) ? ((h - 1) / h) - ed.pivotY : ed.pivotY); + g.lineStyle(0); + // Draw pivot background. g.beginFill(0x0, 0.4); - g.drawRect(w*ed.pivotX-1, h*ed.pivotY-1, 3,3); + g.drawRect(w*pivotX-1, h*pivotY-1, 3,3); + // Draw pivot foreground. g.beginFill(color, 1); - g.drawRect(w*ed.pivotX, h*ed.pivotY, 1,1); + g.drawRect(w*pivotX, h*pivotY, 1,1); return { wrapper: wrapper, @@ -354,33 +376,35 @@ class EntityRender extends dn.Process { fieldGraphics.alpha = fullVis ? 1 : ei._li.def.inactiveOpacity; } + var pivX = M.hasBit(ei.flips, 0) ? ed.getFlippedPivotX() : ed.pivotX; + var pivY = M.hasBit(ei.flips, 1) ? ed.getFlippedPivotY() : ed.pivotY; // Identifier if( identifier!=null ) { identifier.visible = fullVis || !ei._li.def.hideFieldsWhenInactive; identifier.setScale(zoomScale); - identifier.x = Std.int( -ei.width*ed.pivotX - identifier.textWidth*0.5*identifier.scaleX + ei.width*0.5 ); - identifier.y = Std.int( -identifier.textHeight*identifier.scaleY - ei.height*ed.pivotY ); + identifier.x = Std.int( -ei.width*pivX - identifier.textWidth*0.5*identifier.scaleX + ei.width*0.5 ); + identifier.y = Std.int( -identifier.textHeight*identifier.scaleY - ei.height*pivY ); } // Update field wrappers above.visible = center.visible = beneath.visible = fullVis || !ei._li.def.hideFieldsWhenInactive; if( above.visible ) { above.setScale(zoomScale); - above.x = M.round( -ei.width*ed.pivotX - above.outerWidth*0.5*above.scaleX + ei.width*0.5 ); - above.y = Std.int( -above.outerHeight*above.scaleY - ei.height*ed.pivotY ); + above.x = M.round( -ei.width*pivX - above.outerWidth*0.5*above.scaleX + ei.width*0.5 ); + above.y = Std.int( -above.outerHeight*above.scaleY - ei.height*pivY ); if( identifier!=null ) above.y -= identifier.textHeight*identifier.scaleY; above.alpha = 1; center.setScale(zoomScale); - center.x = Std.int( -ei.width*ed.pivotX - center.outerWidth*0.5*center.scaleX + ei.width*0.5 ); - center.y = Std.int( -ei.height*ed.pivotY - center.outerHeight*0.5*center.scaleY + ei.height*0.5); + center.x = Std.int( -ei.width*pivX - center.outerWidth*0.5*center.scaleX + ei.width*0.5 ); + center.y = Std.int( -ei.height*pivY - center.outerHeight*0.5*center.scaleY + ei.height*0.5); center.alpha = 1; beneath.setScale(zoomScale); - beneath.x = Std.int( -ei.width*ed.pivotX - beneath.outerWidth*0.5*beneath.scaleX + ei.width*0.5 ); - beneath.y = Std.int( ei.height*(1-ed.pivotY) ); + beneath.x = Std.int( -ei.width*pivX - beneath.outerWidth*0.5*beneath.scaleX + ei.width*0.5 ); + beneath.y = Std.int( ei.height*(1-pivY) ); beneath.alpha = 1; } } @@ -401,4 +425,4 @@ class EntityRender extends dn.Process { } } -} \ No newline at end of file +} diff --git a/src/electron.renderer/display/LevelRender.hx b/src/electron.renderer/display/LevelRender.hx index 90d5f051b..64818beff 100644 --- a/src/electron.renderer/display/LevelRender.hx +++ b/src/electron.renderer/display/LevelRender.hx @@ -396,8 +396,8 @@ class LevelRender extends dn.Process { public inline function bleepEntity(ei:data.inst.EntityInstance, ?overrideColor:Int, spd=1.0) : Bleep { return bleepLayerRectPx( ei._li, - Std.int( (ei.x-ei.width*ei.def.pivotX) * ei._li.def.getScale() ), - Std.int( (ei.y-ei.height*ei.def.pivotY) * ei._li.def.getScale() ), + Std.int( (ei.x-ei.width*ei.getAdjustedPivotX()) * ei._li.def.getScale() ), + Std.int( (ei.y-ei.height*ei.getAdjustedPivotY()) * ei._li.def.getScale() ), ei.width, ei.height, overrideColor!=null ? overrideColor : ei.getSmartColor(true), diff --git a/src/electron.renderer/tool/ResizeTool.hx b/src/electron.renderer/tool/ResizeTool.hx index 0dfbf54fc..240294d05 100644 --- a/src/electron.renderer/tool/ResizeTool.hx +++ b/src/electron.renderer/tool/ResizeTool.hx @@ -268,14 +268,14 @@ class ResizeTool extends Tool { if( ei.customHeight==ei.def.height ) ei.customHeight = null; switch draggedHandle { - case Left, TopLeft, BottomLeft: if( ei.def.pivotX==0 ) ei.x -= ( ei.width - oldW ); - case Right, TopRight, BottomRight: if( ei.def.pivotX==1 ) ei.x += ( ei.width - oldW ); + case Left, TopLeft, BottomLeft: if( ei.getAdjustedPivotX()==0 ) ei.x -= ( ei.width - oldW ); + case Right, TopRight, BottomRight: if( ei.getAdjustedPivotX()==1 ) ei.x += ( ei.width - oldW ); case _: } switch draggedHandle { - case Top, TopLeft, TopRight: if( ei.def.pivotY==0 ) ei.y -= ( ei.height - oldH ); - case Bottom, BottomLeft, BottomRight: if( ei.def.pivotY==1 ) ei.y += ( ei.height - oldH ); + case Top, TopLeft, TopRight: if( ei.getAdjustedPivotY()==0 ) ei.y -= ( ei.height - oldH ); + case Bottom, BottomLeft, BottomRight: if( ei.getAdjustedPivotY()==1 ) ei.y += ( ei.height - oldH ); case _: } @@ -310,4 +310,4 @@ class ResizeTool extends Tool { invalidated = false; } } -} \ No newline at end of file +} diff --git a/src/electron.renderer/tool/lt/EntityTool.hx b/src/electron.renderer/tool/lt/EntityTool.hx index cf6099800..0017b940f 100644 --- a/src/electron.renderer/tool/lt/EntityTool.hx +++ b/src/electron.renderer/tool/lt/EntityTool.hx @@ -4,6 +4,9 @@ class EntityTool extends tool.LayerTool { public var curEntityDef(get,never) : Null; static var PREV_CHAINABLE_EI: Null; + public var flipX = false; + public var flipY = false; + public function new() { super(); @@ -41,7 +44,14 @@ class EntityTool extends tool.LayerTool { inline function get_curEntityDef() return project.defs.getEntityDef( getSelectedValue() ); override function selectValue(v:Int) { + var lastEntityDef = curEntityDef; super.selectValue(v); + + // Clear flip values ONLY if we have changed entity defs. + if ( lastEntityDef!=curEntityDef ) { + flipX = false; + flipY = false; + } } override function canEdit():Bool { @@ -66,14 +76,16 @@ class EntityTool extends tool.LayerTool { } function getPlacementX(m:Coords) { + var pivot = flipX ? curEntityDef.getFlippedPivotX() : curEntityDef.pivotX; return snapToGrid() - ? M.round( ( m.cx + curEntityDef.pivotX ) * curLayerInstance.def.gridSize ) + ? M.round( ( m.cx + pivot ) * curLayerInstance.def.gridSize ) : m.levelX; } function getPlacementY(m:Coords) { + var pivot = flipY ? curEntityDef.getFlippedPivotY() : curEntityDef.pivotY; return snapToGrid() - ? M.round( ( m.cy + curEntityDef.pivotY ) * curLayerInstance.def.gridSize) + ? M.round( ( m.cy + pivot ) * curLayerInstance.def.gridSize) : m.levelY; } @@ -113,7 +125,9 @@ class EntityTool extends tool.LayerTool { // editor.cursor.overrideNativeCursor("grab"); case _: - editor.cursor.set( Entity(curLayerInstance, curEntityDef, getPlacementX(m), getPlacementY(m), false) ); + // Create dummy EntityInstance so that we can draw it with transforms for flips. + var dummyEi = new data.inst.EntityInstance(project, null, curEntityDef.uid, "", M.makeBitsFromBools(flipX, flipY)); + editor.cursor.set( Entity(curLayerInstance, curEntityDef, dummyEi, getPlacementX(m), getPlacementY(m), false) ); } ev.cancel = true; updateChainRefPreview(m); @@ -192,6 +206,7 @@ class EntityTool extends tool.LayerTool { // Finalize entity ei.x = getPlacementX(m); ei.y = getPlacementY(m); + ei.flips = M.makeBitsFromBools(flipX, flipY); onEditAnything(); stopUsing(m); if( ei.def.isResizable() ) { @@ -405,4 +420,25 @@ class EntityTool extends tool.LayerTool { if( PREV_CHAINABLE_EI!=null && PREV_CHAINABLE_EI._li!=null && !PREV_CHAINABLE_EI._li.containsEntity(PREV_CHAINABLE_EI) ) cancelRefChaining(); } -} \ No newline at end of file + + override function onKeyPress(keyId:Int) { + super.onKeyPress(keyId); + + if ( !Editor.ME.hasInputFocus() ) + switch keyId { + case K.X if ( curEntityDef!=null && curEntityDef.flippableX && !App.ME.hasAnyToggleKeyDown() ): + flipX = !flipX; + N.quick("X-flip: "+L.onOff(flipX)); + customCursor(new hxd.Event(EMove), lastMouse); + // Simulate mouse movement to recenter entity render. + editor.cursor.onMouseMove(lastMouse); + + case K.Y if ( curEntityDef!=null && curEntityDef.flippableY && !App.ME.hasAnyToggleKeyDown() ): + flipY = !flipY; + N.quick("Y-flip: "+L.onOff(flipY)); + customCursor(new hxd.Event(EMove), lastMouse); + // Simulate mouse movement to recenter entity render. + editor.cursor.onMouseMove(lastMouse); + } + } +} diff --git a/src/electron.renderer/ui/Cursor.hx b/src/electron.renderer/ui/Cursor.hx index 274a7bdfd..383b91f9e 100644 --- a/src/electron.renderer/ui/Cursor.hx +++ b/src/electron.renderer/ui/Cursor.hx @@ -203,14 +203,14 @@ class Cursor { final ry = ei.height*0.5; g.lineStyle(1, 0xffcc00, 1); g.drawEllipse( - (0.5-def.pivotX)*ei.width, (0.5-def.pivotY)*ei.height, + (0.5-ei.getAdjustedPivotX())*ei.width, (0.5-ei.getAdjustedPivotY())*ei.height, rx+pad, ry+pad, 0, rx<=16 && ry<=16 ? 24 : 0 ); case Rectangle, Tile: g.lineStyle(1, 0xffcc00, 1); - renderBeveledRect(g, -def.pivotX*ei.width-pad, -def.pivotY*ei.height-pad, ei.width+pad*2, ei.height+pad*2); + renderBeveledRect(g, -ei.getAdjustedPivotX()*ei.width-pad, -ei.getAdjustedPivotY()*ei.height-pad, ei.width+pad*2, ei.height+pad*2); } } @@ -363,4 +363,4 @@ class Cursor { render(); } } -} \ No newline at end of file +} diff --git a/src/electron.renderer/ui/EntityInstanceEditor.hx b/src/electron.renderer/ui/EntityInstanceEditor.hx index 2bda16449..ecb5a65fd 100644 --- a/src/electron.renderer/ui/EntityInstanceEditor.hx +++ b/src/electron.renderer/ui/EntityInstanceEditor.hx @@ -262,6 +262,33 @@ class EntityInstanceEditor extends dn.Process { if( UNIT_GRID ) i.setUnit(ei._li.def.gridSize); + // Flip block + var jFlips = jPropsForm.find(".flips"); + + // X + var i = new form.input.BoolInput( + jFlips.find("[name=x]"), + ()->(M.hasBit(ei.flips,0)), + (v)->{ + ei.flips = M.makeBitsFromBools(!M.hasBit(ei.flips, 0), M.hasBit(ei.flips, 1)); + } + ); + i.setEnabled( ei.def.flippableX ); + i.linkEvent( EntityInstanceChanged(ei) ); + i.onChange = ()->onEntityFieldChanged(); + + // Y + var i = new form.input.BoolInput( + jFlips.find("[name=y]"), + ()->(M.hasBit(ei.flips,1)), + (v)->{ + ei.flips = M.makeBitsFromBools(M.hasBit(ei.flips, 0), !M.hasBit(ei.flips, 1)); + } + ); + i.setEnabled( ei.def.flippableY ); + i.linkEvent( EntityInstanceChanged(ei) ); + i.onChange = ()->onEntityFieldChanged(); + // References to this var refs = project.getEntityInstancesReferingTo(ei); @@ -321,4 +348,4 @@ class EntityInstanceEditor extends dn.Process { if( !isOccupied && jWindow.hasClass("faded") ) jWindow.removeClass("faded"); } -} \ No newline at end of file +} diff --git a/src/electron.renderer/ui/Modal.hx b/src/electron.renderer/ui/Modal.hx index 72cea4447..cbd757bf0 100644 --- a/src/electron.renderer/ui/Modal.hx +++ b/src/electron.renderer/ui/Modal.hx @@ -127,9 +127,11 @@ class Modal extends dn.Process { public static function closeAll(?except:Modal) { var any = false; - for(w in ALL) - if( !w.isClosing() && ( except==null || w!=except ) && w.canBeClosedManually ) { - w.close(); + + var w = ALL.length; + while (--w >= 0) + if ( !ALL[w].isClosing() && ( except==null || ALL[w]!=except ) && ALL[w].canBeClosedManually ) { + ALL[w].close(); any = true; } return any; diff --git a/src/electron.renderer/ui/ProjectLoader.hx b/src/electron.renderer/ui/ProjectLoader.hx index 6d9ea7563..c16e02126 100644 --- a/src/electron.renderer/ui/ProjectLoader.hx +++ b/src/electron.renderer/ui/ProjectLoader.hx @@ -46,7 +46,7 @@ class ProjectLoader { var p : data.Project = null; - // Parse main JSON + // Load JSON file progress.addOp({ label: 'Reading $fileName...', cb: ()->{ @@ -59,6 +59,7 @@ class ProjectLoader { } }); + // Parse main JSON progress.addOp({ label: "Parsing JSON...", cb: ()->{ @@ -92,6 +93,7 @@ class ProjectLoader { }); + // Create Project instance progress.addOp({ label: "Reading project...", cb: ()->{ @@ -106,6 +108,7 @@ class ProjectLoader { } }); + // Load external levels (optional) progress.addOp({ label: "Loading levels...", cb: ()->{ @@ -173,7 +176,7 @@ class ProjectLoader { } }); - + // Init quick level access progress.addOp({ label: "Init quick level access...", cb: ()->p.resetQuickLevelAccesses(), diff --git a/src/electron.renderer/ui/modal/dialog/EnumSync.hx b/src/electron.renderer/ui/modal/dialog/EnumSync.hx index 1fdd6e3ba..8eb16b255 100644 --- a/src/electron.renderer/ui/modal/dialog/EnumSync.hx +++ b/src/electron.renderer/ui/modal/dialog/EnumSync.hx @@ -12,40 +12,6 @@ class EnumSync extends ui.modal.Dialog { loadTemplate("sync"); jContent.find("h2 .file").text( fileName ); - // Warning - // jContent.find(".warning").hide(); - // for(op in ops) - // switch op.type { - // case AddEnum(_): - // case AddValue(val): - // case DateUpdated: - // case Special: - // case RemoveEnum(used), RemoveValue(_,used): - // if( used ) - // jContent.find(".warning").show(); - // } - - // Hide safe notice - // if( jContent.find(".warning").is(":visible") ) - // jContent.find(".safe").hide(); - - // Group ops by enums - // var enumIds = []; - // var changedEnums = new Map(); - // var renameEnums = []; - // for(op in ops) { - // switch op.type { - // case AddEnum(values): renameEnums.push(op.enumId); - // case _: - // } - - // if( !changedEnums.exists(op.enumId) ) { - // changedEnums.set(op.enumId, true); - // enumIds.push(op.enumId); - // } - // } - - // List possible "enum renaming" targets var enumRenameTargets = []; for(eDiff in diff) diff --git a/src/electron.renderer/ui/modal/panel/EditEntityDefs.hx b/src/electron.renderer/ui/modal/panel/EditEntityDefs.hx index b6755ca4a..379fb95fe 100644 --- a/src/electron.renderer/ui/modal/panel/EditEntityDefs.hx +++ b/src/electron.renderer/ui/modal/panel/EditEntityDefs.hx @@ -210,6 +210,15 @@ class EditEntityDefs extends ui.modal.Panel { i.onChange = editor.ge.emit.bind(EntityDefChanged); i.setEnabled( curEntity.resizableX && curEntity.resizableY ); + // Flippable + var i = Input.linkToHtmlInput( curEntity.flippableX, jEntityForm.find("input#flippableX") ); + i.onChange = editor.ge.emit.bind(EntityDefChanged); + var i = Input.linkToHtmlInput( curEntity.flippableY, jEntityForm.find("input#flippableY") ); + i.onChange = editor.ge.emit.bind(EntityDefChanged); + + var i = Input.linkToHtmlInput( curEntity.flipAroundPivot, jEntityForm.find("input#flipAroundPivot") ); + i.onChange = editor.ge.emit.bind(EntityDefChanged); + var i = Input.linkToHtmlInput( curEntity.height, jEntityForm.find("input[name='height']") ); i.setBounds(1,2048); i.onChange = editor.ge.emit.bind(EntityDefChanged); diff --git a/tests/atlas/Inca_extended_front_by_Kronbits.png b/tests/atlas/Inca_extended_front_by_Kronbits.png index 914c25ced..3337467c3 100644 Binary files a/tests/atlas/Inca_extended_front_by_Kronbits.png and b/tests/atlas/Inca_extended_front_by_Kronbits.png differ diff --git a/tests/websiteVideo2.ldtk b/tests/websiteVideo2.ldtk index 227cafd9f..7c44b974c 100644 --- a/tests/websiteVideo2.ldtk +++ b/tests/websiteVideo2.ldtk @@ -10,8 +10,8 @@ }, "iid": "a2533480-7820-11ed-b6fd-e9108160ae94", "jsonVersion": "1.2.5", - "appBuildId": 464869, - "nextUid": 100, + "appBuildId": 464871, + "nextUid": 102, "identifierStyle": "Capitalize", "toc": [], "worldLayout": "LinearHorizontal", diff --git a/tests/wizardGif.ldtk b/tests/wizardGif.ldtk index 904c09156..4ae3f1796 100644 --- a/tests/wizardGif.ldtk +++ b/tests/wizardGif.ldtk @@ -5,13 +5,15 @@ "doc": "https://ldtk.io/json", "schema": "https://ldtk.io/files/JSON_SCHEMA.json", "appAuthor": "Sebastien 'deepnight' Benard", - "appVersion": "1.2.0", + "appVersion": "1.2.6", "url": "https://ldtk.io" }, - "jsonVersion": "1.2.0", - "appBuildId": 464361, - "nextUid": 30, + "iid": "958a9470-7820-11ed-a502-0156b7071f8c", + "jsonVersion": "1.2.6", + "appBuildId": 464902, + "nextUid": 50, "identifierStyle": "Capitalize", + "toc": [], "worldLayout": "Free", "worldGridWidth": 256, "worldGridHeight": 256, @@ -27,11 +29,13 @@ "exportTiled": false, "simplifiedExport": false, "imageExportMode": "None", + "exportLevelBg": true, "pngFilePattern": null, "backupOnSave": false, "backupLimit": 10, "levelNamePattern": "Level_%idx", "tutorialDesc": null, + "customCommands": [], "flags": [], "defs": { "layers": [ { @@ -39,6 +43,7 @@ "identifier": "Collisions", "type": "IntGrid", "uid": 2, + "doc": null, "gridSize": 16, "guideGridWid": 0, "guideGridHei": 0, @@ -55,23 +60,324 @@ "requiredTags": [], "excludedTags": [], "intGridValues": [{ "value": 1, "identifier": "wall", "color": "#B86F50" }], - "autoTilesetDefUid": 1, - "autoRuleGroups": [], + "autoRuleGroups": [ + { "uid": 30, "name": "corners", "active": false, "isOptional": false, "rules": [ + { + "uid": 36, + "active": true, + "size": 3, + "tileIds": [10], + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,-1,1,1,0,1,0], + "flipX": true, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 6559057, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 42, + "active": true, + "size": 3, + "tileIds": [70], + "chance": 1, + "breakOnMatch": true, + "pattern": [0,1,0,-1,1,1,0,-1,0], + "flipX": true, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 6044298, + "perlinScale": 0.2, + "perlinOctaves": 2 + } + ], "usesWizard": false }, + { "uid": 41, "name": "verticals", "active": false, "isOptional": false, "rules": [ + { + "uid": 43, + "active": true, + "size": 3, + "tileIds": [36], + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,-1,1,-1,0,0,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 4686397, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 44, + "active": true, + "size": 3, + "tileIds": [76], + "chance": 1, + "breakOnMatch": true, + "pattern": [0,0,0,-1,1,-1,0,-1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 4686397, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 39, + "active": true, + "size": 3, + "tileIds": [56], + "chance": 1, + "breakOnMatch": true, + "pattern": [0,0,0,-1,1,-1,0,0,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 5321934, + "perlinScale": 0.2, + "perlinOctaves": 2 + } + ], "usesWizard": false }, + { "uid": 40, "name": "horizontals", "active": true, "isOptional": false, "rules": [ + { + "uid": 38, + "active": true, + "size": 3, + "tileIds": [14], + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,-1,1,0,0,-1,0], + "flipX": true, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 1545656, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 37, + "active": true, + "size": 3, + "tileIds": [15], + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,0,1,0,0,-1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 9817574, + "perlinScale": 0.2, + "perlinOctaves": 2 + } + ], "usesWizard": false }, + { "uid": 46, "name": "sides", "active": false, "isOptional": false, "rules": [ + { + "uid": 48, + "active": true, + "size": 3, + "tileIds": [11], + "chance": 1, + "breakOnMatch": true, + "pattern": [0,-1,0,0,1,0,0,0,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 9466262, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 49, + "active": true, + "size": 3, + "tileIds": [71], + "chance": 1, + "breakOnMatch": true, + "pattern": [0,0,0,0,1,0,0,-1,0], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 9466262, + "perlinScale": 0.2, + "perlinOctaves": 2 + }, + { + "uid": 47, + "active": true, + "size": 3, + "tileIds": [30], + "chance": 1, + "breakOnMatch": true, + "pattern": [0,0,0,-1,1,0,0,0,0], + "flipX": true, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 9145797, + "perlinScale": 0.2, + "perlinOctaves": 2 + } + ], "usesWizard": false } + ], "autoSourceLayerDefUid": null, - "tilesetDefUid": 1, + "tilesetDefUid": 33, + "tilePivotX": 0, + "tilePivotY": 0 + }, + { + "__type": "AutoLayer", + "identifier": "AutoLayer", + "type": "AutoLayer", + "uid": 31, + "doc": null, + "gridSize": 16, + "guideGridWid": 0, + "guideGridHei": 0, + "displayOpacity": 1, + "inactiveOpacity": 1, + "hideInList": true, + "hideFieldsWhenInactive": false, + "canSelectWhenInactive": true, + "pxOffsetX": 0, + "pxOffsetY": 0, + "parallaxFactorX": 0, + "parallaxFactorY": 0, + "parallaxScaling": true, + "requiredTags": [], + "excludedTags": [], + "intGridValues": [], + "autoRuleGroups": [{ "uid": 34, "name": "New group", "active": true, "isOptional": false, "rules": [ + { + "uid": 35, + "active": true, + "size": 1, + "tileIds": [31], + "chance": 1, + "breakOnMatch": true, + "pattern": [1], + "flipX": false, + "flipY": false, + "xModulo": 1, + "yModulo": 1, + "xOffset": 0, + "yOffset": 0, + "checker": "None", + "tileMode": "Single", + "pivotX": 0, + "pivotY": 0, + "outOfBoundsValue": null, + "perlinActive": false, + "perlinSeed": 4828573, + "perlinScale": 0.2, + "perlinOctaves": 2 + } + ], "usesWizard": false }], + "autoSourceLayerDefUid": 2, + "tilesetDefUid": 33, "tilePivotX": 0, "tilePivotY": 0 } ], "entities": [], "tilesets": [ { - "__cWid": 23, - "__cHei": 21, - "identifier": "SunnyLand_by_Ansimuz", - "uid": 1, - "relPath": "atlas/SunnyLand_by_Ansimuz.png", + "__cWid": 20, + "__cHei": 14, + "identifier": "Inca_extended_front_by_Kronbits", + "uid": 33, + "relPath": "atlas/Inca_extended_front_by_Kronbits.png", "embedAtlas": null, - "pxWid": 368, - "pxHei": 336, + "pxWid": 320, + "pxHei": 224, "tileGridSize": 16, "spacing": 0, "padding": 0, @@ -81,8 +387,8 @@ "customData": [], "savedSelections": [], "cachedPixelData": { - "opaqueTiles": "101010100010110110000000000000000001101101101110101010001000000000000000000000000010100000001010101000000101000101000000000000000000000000000010100000001010100000000000000000000000000000000000000000101010000010100100000000000000000000000000000010101010000000000000000000000100000000101010100000000000000001010100000100000001010000100000000000000010100000010011011100000101000000100110000000011011000011101101010100000000000000000000000001011000011101110100000000110000111011100000000", - "averageColors": "f9850000f9850000f9850000fa65000069557a65f8450000f644f9650000f965f644000049b5c9950000c99549b5000000000000000000000000000000000000000000000000f955f7450000f745f9550000f865f7450000f745f865f9550000f6450000f9550000f845695500006955f8450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f8550000f85500000000000079a5000079a50000f9550000f8550000f9550000f8457a6569550000000000000000f8550000f855000000000000f7550000f75500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000077a5000078b50000f8450000f7450000947400009474000000000000fa650000f9550000fa6500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000f9550000f6450000f9550000900000000000a955f8450000f845a9550000f85500000000ca65b9650000000000000000000000000000000000000000000000000000a9550000a9550000000000000000000000000000000000000000fa650000f9550000fa650000f4880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f47700000000000000000000000000000000f7450000f8550000f8550000f8550000000000000000000000000000000000000000000000000000000000000000f3440000f3450000f534000000000000e9950000f9950000e9950000000000000000b855f5340000f534b855000000000000f334000000000000000000000000000000000000000000000000000000000000f7440000f744000000000000000000000000f43500000000f435f4350000f334f436f3350000000000000000b955f5340000f534b95500000000000000000000f34500000000f335f33500000000000000000000000000000000f744f3340000f334f7440000000000000000f344f345f3440000f335f3350000f5340000f4350000f3340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa650000f955f9550000000000000000f334f335f3450000f345f335f3340000f75500000000000000000000000000000000f955f9550000000000000000f335f344f3440000f344f344f33500000000000000000000000000000000" + "opaqueTiles": "1111111111111111100011111111111111001000111111111111110010001111111111111100100011111111110000000000111111111111110000001111111111110000000011111111111110000000111111111100000000001111111111000000000011111011000000000000111111000000000000001111000000000000000011110000000000000000", + "averageColors": "f965f964fa65f965f854f854fa65f964fa64f964fa64fa64fa64f964f954f964f954000000000000f854f854f854f854f954f854f854f844f954f854f954fa64fa64f95400000000f954000000000000f965f964f965f964f965f954f965f954fa65f965fa54fa64fa64f95400000000f854000000000000f744f744f854f844f854f854f634f533f644f633f954f954f954f85476343634f844000000000000f954f954f964f854f964f954f964f854f964f85430001000384488547a647a658a64000000000000f854f754f964f964f954f854f954f854f854f854f397f497f497f397000000000000000000000000f855f854f965f964f965f964f965f964f965f964f498f4981397239739dc4bed3cee000000000000f854f854f744f854f954f954f854f965f964f954f498f498f4980000000000000000000000000000f854f854f854f854f954f964f954f965f854f9540000000000000000000000000000000000000000f854f854f964f855f854f854f954f854f854f964506650663066406625d624d623d711c700000000f965f854f744f854f6435633f387f4980000000021b731b811b721b821b700000000000000000000f854f643f643f754f754f85400000000000000001196119611861186117611860000000000000000fa65f965f954f7447643000000000000000000000000000000000000000000000000000000000000f965f965f954f7440000000000000000000000000000000000000000000000000000000000000000" } } ], "enums": [], "externalEnums": [], "levelFields": [] }, @@ -91,10 +397,10 @@ "identifier": "New_rule_assistant", "iid": "56dc52d1-7820-11ed-b805-b7e4ad189db6", "uid": 0, - "worldX": 0, + "worldX": -48, "worldY": 0, "worldDepth": 0, - "pxWid": 256, + "pxWid": 304, "pxHei": 256, "__bgColor": "#696A79", "bgColor": null, @@ -111,14 +417,14 @@ { "__identifier": "Collisions", "__type": "IntGrid", - "__cWid": 16, + "__cWid": 19, "__cHei": 16, "__gridSize": 16, "__opacity": 1, "__pxTotalOffsetX": 0, "__pxTotalOffsetY": 0, - "__tilesetDefUid": 1, - "__tilesetRelPath": "atlas/SunnyLand_by_Ansimuz.png", + "__tilesetDefUid": 33, + "__tilesetRelPath": "atlas/Inca_extended_front_by_Kronbits.png", "iid": "5e72eb80-7820-11ed-b805-65a157d6abeb", "levelId": 0, "layerDefUid": 2, @@ -128,19 +434,79 @@ "optionalRules": [], "intGridCsv": [ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + ], + "autoLayerTiles": [ + { "px": [160,32], "src": [240,0], "f": 0, "t": 15, "d": [37,48] }, + { "px": [48,64], "src": [240,0], "f": 0, "t": 15, "d": [37,79] }, + { "px": [192,64], "src": [240,0], "f": 0, "t": 15, "d": [37,88] }, + { "px": [176,32], "src": [224,0], "f": 1, "t": 14, "d": [38,49] }, + { "px": [32,64], "src": [224,0], "f": 0, "t": 14, "d": [38,78] }, + { "px": [64,64], "src": [224,0], "f": 1, "t": 14, "d": [38,80] }, + { "px": [176,64], "src": [224,0], "f": 0, "t": 14, "d": [38,87] } ], - "autoLayerTiles": [], "seed": 4205533, "overrideTilesetUid": null, "gridTiles": [], "entityInstances": [] + }, + { + "__identifier": "AutoLayer", + "__type": "AutoLayer", + "__cWid": 19, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": 33, + "__tilesetRelPath": "atlas/Inca_extended_front_by_Kronbits.png", + "iid": "a35d65f0-7820-11ed-a502-057fd89a8429", + "levelId": 0, + "layerDefUid": 31, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [ + { "px": [144,32], "src": [176,16], "f": 0, "t": 31, "d": [35,47] }, + { "px": [160,32], "src": [176,16], "f": 0, "t": 31, "d": [35,48] }, + { "px": [176,32], "src": [176,16], "f": 0, "t": 31, "d": [35,49] }, + { "px": [144,48], "src": [176,16], "f": 0, "t": 31, "d": [35,66] }, + { "px": [32,64], "src": [176,16], "f": 0, "t": 31, "d": [35,78] }, + { "px": [48,64], "src": [176,16], "f": 0, "t": 31, "d": [35,79] }, + { "px": [64,64], "src": [176,16], "f": 0, "t": 31, "d": [35,80] }, + { "px": [144,64], "src": [176,16], "f": 0, "t": 31, "d": [35,85] }, + { "px": [176,64], "src": [176,16], "f": 0, "t": 31, "d": [35,87] }, + { "px": [192,64], "src": [176,16], "f": 0, "t": 31, "d": [35,88] }, + { "px": [208,64], "src": [176,16], "f": 0, "t": 31, "d": [35,89] }, + { "px": [208,80], "src": [176,16], "f": 0, "t": 31, "d": [35,108] }, + { "px": [144,96], "src": [176,16], "f": 0, "t": 31, "d": [35,123] }, + { "px": [160,96], "src": [176,16], "f": 0, "t": 31, "d": [35,124] }, + { "px": [176,96], "src": [176,16], "f": 0, "t": 31, "d": [35,125] }, + { "px": [208,96], "src": [176,16], "f": 0, "t": 31, "d": [35,127] }, + { "px": [144,112], "src": [176,16], "f": 0, "t": 31, "d": [35,142] }, + { "px": [160,112], "src": [176,16], "f": 0, "t": 31, "d": [35,143] }, + { "px": [176,112], "src": [176,16], "f": 0, "t": 31, "d": [35,144] }, + { "px": [144,128], "src": [176,16], "f": 0, "t": 31, "d": [35,161] }, + { "px": [160,128], "src": [176,16], "f": 0, "t": 31, "d": [35,162] }, + { "px": [176,128], "src": [176,16], "f": 0, "t": 31, "d": [35,163] }, + { "px": [48,160], "src": [176,16], "f": 0, "t": 31, "d": [35,193] }, + { "px": [48,176], "src": [176,16], "f": 0, "t": 31, "d": [35,212] }, + { "px": [48,192], "src": [176,16], "f": 0, "t": 31, "d": [35,231] } + ], + "seed": 3215252, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [] } ], "__neighbours": [] diff --git a/tests/worldIidBug.ldtk b/tests/worldIidBug.ldtk new file mode 100644 index 000000000..14c7f90c6 --- /dev/null +++ b/tests/worldIidBug.ldtk @@ -0,0 +1,651 @@ +{ + "__header__": { + "fileType": "LDtk Project JSON", + "app": "LDtk", + "doc": "https://ldtk.io/json", + "schema": "https://ldtk.io/files/JSON_SCHEMA.json", + "appAuthor": "Sebastien 'deepnight' Benard", + "appVersion": "1.2.6", + "url": "https://ldtk.io" + }, + "iid": "61ca1e30-7820-11ed-954c-67161954aa38", + "jsonVersion": "1.2.6", + "appBuildId": 465061, + "nextUid": 7, + "identifierStyle": "Capitalize", + "toc": [], + "worldLayout": "LinearHorizontal", + "worldGridWidth": 256, + "worldGridHeight": 256, + "defaultLevelWidth": 256, + "defaultLevelHeight": 256, + "defaultPivotX": 0, + "defaultPivotY": 0, + "defaultGridSize": 16, + "bgColor": "#40465B", + "defaultLevelBgColor": "#696A79", + "minifyJson": false, + "externalLevels": false, + "exportTiled": false, + "simplifiedExport": false, + "imageExportMode": "None", + "exportLevelBg": true, + "pngFilePattern": null, + "backupOnSave": false, + "backupLimit": 10, + "levelNamePattern": "Level_%idx", + "tutorialDesc": null, + "customCommands": [], + "flags": [], + "defs": { "layers": [ + { + "__type": "Entities", + "identifier": "Entities", + "type": "Entities", + "uid": 6, + "doc": null, + "gridSize": 16, + "guideGridWid": 0, + "guideGridHei": 0, + "displayOpacity": 1, + "inactiveOpacity": 0.6, + "hideInList": false, + "hideFieldsWhenInactive": true, + "canSelectWhenInactive": true, + "pxOffsetX": 0, + "pxOffsetY": 0, + "parallaxFactorX": 0, + "parallaxFactorY": 0, + "parallaxScaling": true, + "requiredTags": [], + "excludedTags": [], + "intGridValues": [], + "autoRuleGroups": [], + "autoSourceLayerDefUid": null, + "tilesetDefUid": null, + "tilePivotX": 0, + "tilePivotY": 0 + }, + { + "__type": "IntGrid", + "identifier": "IntGrid", + "type": "IntGrid", + "uid": 1, + "doc": null, + "gridSize": 16, + "guideGridWid": 0, + "guideGridHei": 0, + "displayOpacity": 1, + "inactiveOpacity": 1, + "hideInList": false, + "hideFieldsWhenInactive": false, + "canSelectWhenInactive": true, + "pxOffsetX": 0, + "pxOffsetY": 0, + "parallaxFactorX": 0, + "parallaxFactorY": 0, + "parallaxScaling": true, + "requiredTags": [], + "excludedTags": [], + "intGridValues": [{ "value": 1, "identifier": "walls", "color": "#000000" }], + "autoRuleGroups": [], + "autoSourceLayerDefUid": null, + "tilesetDefUid": null, + "tilePivotX": 0, + "tilePivotY": 0 + } + ], "entities": [ + { + "identifier": "Links", + "uid": 4, + "tags": [], + "exportToToc": false, + "doc": null, + "width": 16, + "height": 16, + "resizableX": false, + "resizableY": false, + "keepAspectRatio": false, + "tileOpacity": 1, + "fillOpacity": 1, + "lineOpacity": 1, + "hollow": false, + "color": "#BE4A2F", + "renderMode": "Ellipse", + "showName": true, + "tilesetId": null, + "tileRenderMode": "FitInside", + "tileRect": null, + "nineSliceBorders": [], + "maxCount": 0, + "limitScope": "PerLevel", + "limitBehavior": "MoveLastOne", + "pivotX": 0.5, + "pivotY": 0.5, + "fieldDefs": [ + { + "identifier": "ref", + "doc": null, + "__type": "EntityRef", + "uid": 5, + "type": "F_EntityRef", + "isArray": false, + "canBeNull": true, + "arrayMinLength": null, + "arrayMaxLength": null, + "editorDisplayMode": "RefLinkBetweenCenters", + "editorDisplayPos": "Above", + "editorLinkStyle": "CurvedArrow", + "editorAlwaysShow": false, + "editorShowInWorld": true, + "editorCutLongValues": true, + "editorTextSuffix": null, + "editorTextPrefix": null, + "useForSmartColor": false, + "min": null, + "max": null, + "regex": null, + "acceptFileTypes": null, + "defaultOverride": null, + "textLanguageMode": null, + "symmetricalRef": false, + "autoChainRef": true, + "allowOutOfLevelRef": true, + "allowedRefs": "OnlySame", + "allowedRefTags": [], + "tilesetUid": null + } + ] + } + ], "tilesets": [], "enums": [], "externalEnums": [], "levelFields": [] }, + "levels": [ + { + "identifier": "Level_0", + "iid": "61ca1e32-7820-11ed-954c-47255b689478", + "uid": 0, + "worldX": -1, + "worldY": -1, + "worldDepth": 0, + "pxWid": 256, + "pxHei": 256, + "__bgColor": "#696A79", + "bgColor": null, + "useAutoIdentifier": true, + "bgRelPath": null, + "bgPos": null, + "bgPivotX": 0.5, + "bgPivotY": 0.5, + "__smartColor": "#ADADB5", + "__bgPos": null, + "externalRelPath": null, + "fieldInstances": [], + "layerInstances": [ + { + "__identifier": "Entities", + "__type": "Entities", + "__cWid": 16, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "b1218cc0-7820-11ed-bed4-31747e38b136", + "levelId": 0, + "layerDefUid": 6, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [], + "seed": 9377771, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [ + { + "__identifier": "Links", + "__grid": [10,1], + "__pivot": [0.5,0.5], + "__tags": [], + "__tile": null, + "__smartColor": "#BE4A2F", + "iid": "e7387170-7820-11ed-96fd-bb7404ef74c8", + "width": 16, + "height": 16, + "defUid": 4, + "px": [168,24], + "fieldInstances": [{ "__identifier": "ref", "__value": { + "entityIid": "e81feb40-7820-11ed-96fd-2dd9305efd67", + "layerIid": "b1218cc0-7820-11ed-bed4-31747e38b136", + "levelIid": "61ca1e32-7820-11ed-954c-47255b689478", + "worldIid": "e67574f0-7820-11ed-9859-33094ae66dcc" + }, "__type": "EntityRef", "__tile": null, "defUid": 5, "realEditorValues": [{ + "id": "V_String", + "params": ["e81feb40-7820-11ed-96fd-2dd9305efd67"] + }] }] + }, + { + "__identifier": "Links", + "__grid": [2,5], + "__pivot": [0.5,0.5], + "__tags": [], + "__tile": null, + "__smartColor": "#BE4A2F", + "iid": "e81feb40-7820-11ed-96fd-2dd9305efd67", + "width": 16, + "height": 16, + "defUid": 4, + "px": [40,88], + "fieldInstances": [{ "__identifier": "ref", "__value": { + "entityIid": "e849ba60-7820-11ed-96fd-af18fb023f55", + "layerIid": "b1218cc0-7820-11ed-bed4-31747e38b136", + "levelIid": "61ca1e32-7820-11ed-954c-47255b689478", + "worldIid": "e67574f0-7820-11ed-9859-33094ae66dcc" + }, "__type": "EntityRef", "__tile": null, "defUid": 5, "realEditorValues": [{ + "id": "V_String", + "params": ["e849ba60-7820-11ed-96fd-af18fb023f55"] + }] }] + }, + { + "__identifier": "Links", + "__grid": [3,12], + "__pivot": [0.5,0.5], + "__tags": [], + "__tile": null, + "__smartColor": "#BE4A2F", + "iid": "e849ba60-7820-11ed-96fd-af18fb023f55", + "width": 16, + "height": 16, + "defUid": 4, + "px": [56,200], + "fieldInstances": [{ "__identifier": "ref", "__value": { + "entityIid": "e8ede9a0-7820-11ed-96fd-75ef4498a377", + "layerIid": "b1218cc0-7820-11ed-bed4-31747e38b136", + "levelIid": "61ca1e32-7820-11ed-954c-47255b689478", + "worldIid": "e67574f0-7820-11ed-9859-33094ae66dcc" + }, "__type": "EntityRef", "__tile": null, "defUid": 5, "realEditorValues": [{ + "id": "V_String", + "params": ["e8ede9a0-7820-11ed-96fd-75ef4498a377"] + }] }] + }, + { + "__identifier": "Links", + "__grid": [13,14], + "__pivot": [0.5,0.5], + "__tags": [], + "__tile": null, + "__smartColor": "#BE4A2F", + "iid": "e8ede9a0-7820-11ed-96fd-75ef4498a377", + "width": 16, + "height": 16, + "defUid": 4, + "px": [216,232], + "fieldInstances": [{ "__identifier": "ref", "__value": { + "entityIid": "e9457f80-7820-11ed-96fd-6b13a76be237", + "layerIid": "b1218cc0-7820-11ed-bed4-31747e38b136", + "levelIid": "61ca1e32-7820-11ed-954c-47255b689478", + "worldIid": "e67574f0-7820-11ed-9859-33094ae66dcc" + }, "__type": "EntityRef", "__tile": null, "defUid": 5, "realEditorValues": [{ + "id": "V_String", + "params": ["e9457f80-7820-11ed-96fd-6b13a76be237"] + }] }] + }, + { + "__identifier": "Links", + "__grid": [14,7], + "__pivot": [0.5,0.5], + "__tags": [], + "__tile": null, + "__smartColor": "#BE4A2F", + "iid": "e9457f80-7820-11ed-96fd-6b13a76be237", + "width": 16, + "height": 16, + "defUid": 4, + "px": [232,120], + "fieldInstances": [{ "__identifier": "ref", "__value": null, "__type": "EntityRef", "__tile": null, "defUid": 5, "realEditorValues": [null] }] + } + ] + }, + { + "__identifier": "IntGrid", + "__type": "IntGrid", + "__cWid": 16, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "64c22880-7820-11ed-954c-f966cbb77b1c", + "levelId": 0, + "layerDefUid": 1, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0, + 0,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0, + 0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0 + ], + "autoLayerTiles": [], + "seed": 7570953, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [] + } + ], + "__neighbours": [] + }, + { + "identifier": "Level_1", + "iid": "76404ec0-7820-11ed-954c-c7f7dc7b365d", + "uid": 2, + "worldX": -1, + "worldY": -1, + "worldDepth": 0, + "pxWid": 256, + "pxHei": 256, + "__bgColor": "#696A79", + "bgColor": null, + "useAutoIdentifier": true, + "bgRelPath": null, + "bgPos": null, + "bgPivotX": 0.5, + "bgPivotY": 0.5, + "__smartColor": "#ADADB5", + "__bgPos": null, + "externalRelPath": null, + "fieldInstances": [], + "layerInstances": [ + { + "__identifier": "Entities", + "__type": "Entities", + "__cWid": 16, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "b1218cc1-7820-11ed-bed4-033c20abc87f", + "levelId": 2, + "layerDefUid": 6, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [], + "seed": 3543614, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [ + { + "__identifier": "Links", + "__grid": [9,6], + "__pivot": [0.5,0.5], + "__tags": [], + "__tile": null, + "__smartColor": "#BE4A2F", + "iid": "bb0f0dc0-7820-11ed-bed4-f9423f44d1e1", + "width": 16, + "height": 16, + "defUid": 4, + "px": [152,104], + "fieldInstances": [{ "__identifier": "ref", "__value": { + "entityIid": "bbe23c40-7820-11ed-bed4-1fa25b2bdd38", + "layerIid": "b121b3d0-7820-11ed-bed4-5f942d2a9d86", + "levelIid": "99bcc7c0-7820-11ed-bed4-ab73488b3ff2", + "worldIid": "e67574f0-7820-11ed-9859-33094ae66dcc" + }, "__type": "EntityRef", "__tile": null, "defUid": 5, "realEditorValues": [{ + "id": "V_String", + "params": ["bbe23c40-7820-11ed-bed4-1fa25b2bdd38"] + }] }] + } + ] + }, + { + "__identifier": "IntGrid", + "__type": "IntGrid", + "__cWid": 16, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "76404ec1-7820-11ed-954c-d3a3bb835ca3", + "levelId": 2, + "layerDefUid": 1, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0, + 0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0, + 0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0 + ], + "autoLayerTiles": [], + "seed": 706468, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [] + } + ], + "__neighbours": [] + }, + { + "identifier": "Level_2", + "iid": "99bcc7c0-7820-11ed-bed4-ab73488b3ff2", + "uid": 3, + "worldX": -1, + "worldY": -1, + "worldDepth": 0, + "pxWid": 256, + "pxHei": 256, + "__bgColor": "#696A79", + "bgColor": null, + "useAutoIdentifier": true, + "bgRelPath": null, + "bgPos": null, + "bgPivotX": 0.5, + "bgPivotY": 0.5, + "__smartColor": "#ADADB5", + "__bgPos": null, + "externalRelPath": null, + "fieldInstances": [], + "layerInstances": [ + { + "__identifier": "Entities", + "__type": "Entities", + "__cWid": 16, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "b121b3d0-7820-11ed-bed4-5f942d2a9d86", + "levelId": 3, + "layerDefUid": 6, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [], + "seed": 1020466, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [ + { + "__identifier": "Links", + "__grid": [6,6], + "__pivot": [0.5,0.5], + "__tags": [], + "__tile": null, + "__smartColor": "#BE4A2F", + "iid": "b28eb150-7820-11ed-bed4-2b7c2af69a26", + "width": 16, + "height": 16, + "defUid": 4, + "px": [104,104], + "fieldInstances": [{ "__identifier": "ref", "__value": { + "entityIid": "b2b747f0-7820-11ed-bed4-43da30af3adc", + "layerIid": "b121b3d0-7820-11ed-bed4-5f942d2a9d86", + "levelIid": "99bcc7c0-7820-11ed-bed4-ab73488b3ff2", + "worldIid": "e67574f0-7820-11ed-9859-33094ae66dcc" + }, "__type": "EntityRef", "__tile": null, "defUid": 5, "realEditorValues": [{ + "id": "V_String", + "params": ["b2b747f0-7820-11ed-bed4-43da30af3adc"] + }] }] + }, + { + "__identifier": "Links", + "__grid": [12,11], + "__pivot": [0.5,0.5], + "__tags": [], + "__tile": null, + "__smartColor": "#BE4A2F", + "iid": "b2b747f0-7820-11ed-bed4-43da30af3adc", + "width": 16, + "height": 16, + "defUid": 4, + "px": [200,184], + "fieldInstances": [{ "__identifier": "ref", "__value": { + "entityIid": "b2e22880-7820-11ed-bed4-27936ad9f026", + "layerIid": "b121b3d0-7820-11ed-bed4-5f942d2a9d86", + "levelIid": "99bcc7c0-7820-11ed-bed4-ab73488b3ff2", + "worldIid": "e67574f0-7820-11ed-9859-33094ae66dcc" + }, "__type": "EntityRef", "__tile": null, "defUid": 5, "realEditorValues": [{ + "id": "V_String", + "params": ["b2e22880-7820-11ed-bed4-27936ad9f026"] + }] }] + }, + { + "__identifier": "Links", + "__grid": [12,3], + "__pivot": [0.5,0.5], + "__tags": [], + "__tile": null, + "__smartColor": "#BE4A2F", + "iid": "b2e22880-7820-11ed-bed4-27936ad9f026", + "width": 16, + "height": 16, + "defUid": 4, + "px": [200,56], + "fieldInstances": [{ "__identifier": "ref", "__value": { + "entityIid": "e60c9ba0-7820-11ed-96fd-8b29c07c1af5", + "layerIid": "b121b3d0-7820-11ed-bed4-5f942d2a9d86", + "levelIid": "99bcc7c0-7820-11ed-bed4-ab73488b3ff2", + "worldIid": "e67574f0-7820-11ed-9859-33094ae66dcc" + }, "__type": "EntityRef", "__tile": null, "defUid": 5, "realEditorValues": [{ + "id": "V_String", + "params": ["e60c9ba0-7820-11ed-96fd-8b29c07c1af5"] + }] }] + }, + { + "__identifier": "Links", + "__grid": [4,10], + "__pivot": [0.5,0.5], + "__tags": [], + "__tile": null, + "__smartColor": "#BE4A2F", + "iid": "bbe23c40-7820-11ed-bed4-1fa25b2bdd38", + "width": 16, + "height": 16, + "defUid": 4, + "px": [72,168], + "fieldInstances": [{ "__identifier": "ref", "__value": { + "entityIid": "b28eb150-7820-11ed-bed4-2b7c2af69a26", + "layerIid": "b121b3d0-7820-11ed-bed4-5f942d2a9d86", + "levelIid": "99bcc7c0-7820-11ed-bed4-ab73488b3ff2", + "worldIid": "e67574f0-7820-11ed-9859-33094ae66dcc" + }, "__type": "EntityRef", "__tile": null, "defUid": 5, "realEditorValues": [{ + "id": "V_String", + "params": ["b28eb150-7820-11ed-bed4-2b7c2af69a26"] + }] }] + }, + { + "__identifier": "Links", + "__grid": [4,2], + "__pivot": [0.5,0.5], + "__tags": [], + "__tile": null, + "__smartColor": "#BE4A2F", + "iid": "e60c9ba0-7820-11ed-96fd-8b29c07c1af5", + "width": 16, + "height": 16, + "defUid": 4, + "px": [72,40], + "fieldInstances": [{ "__identifier": "ref", "__value": { + "entityIid": "e7387170-7820-11ed-96fd-bb7404ef74c8", + "layerIid": "b1218cc0-7820-11ed-bed4-31747e38b136", + "levelIid": "61ca1e32-7820-11ed-954c-47255b689478", + "worldIid": "e67574f0-7820-11ed-9859-33094ae66dcc" + }, "__type": "EntityRef", "__tile": null, "defUid": 5, "realEditorValues": [{ + "id": "V_String", + "params": ["e7387170-7820-11ed-96fd-bb7404ef74c8"] + }] }] + } + ] + }, + { + "__identifier": "IntGrid", + "__type": "IntGrid", + "__cWid": 16, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "99bceed0-7820-11ed-bed4-234927f9ee0f", + "levelId": 3, + "layerDefUid": 1, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0 + ], + "autoLayerTiles": [], + "seed": 9096776, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [] + } + ], + "__neighbours": [] + } + ], + "worlds": [], + "dummyWorldIid": "e67574f0-7820-11ed-9859-33094ae66dcc" +} \ No newline at end of file