/*!*******************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./src/components/Grid/grid.css ***!
  \*******************************************************************************************************************************************************************************/
.stack--lfeYp1p3nDlTOkq4Usz8 {
  display: flex;
  align-items: center;
  justify-content: center;
  &.row--j4QFLQSTo58fyOUcPjDE {
    flex-direction: row;
  }
  &.col--IfsDsGrxilXxLGdKUjIR {
    flex-direction: column;
  }
  &.alignStart--pYfqBk4LMqYBHhxhX2_o {
    align-items: flex-start;
  }
  &.alignEnd--gh2GZ8i0_mCdMCNierzQ {
    align-items: flex-end;
  }
  &.alignStretch--j3g6yQkTlQ5JVA5c6p_r {
    align-items: stretch;
  }
  &.justifyStart--d00qSnI9NbWJBOgPMuJt {
    justify-content: flex-start;
  }
  &.justifyEnd--yK8YXulN_27Oy6JtbYdA {
    justify-content: flex-end;
  }
  &.alignSelfStart--PMuGGraIE29a068M2Q57 {
    align-self: flex-start;
  }
}

.gridCell--vfwjGdgODbFcxNhEXioD {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  font-family: "BIOSfontII", "VT323", monospace;
  font-size: 0.6em;
  vertical-align: bottom;
  background: var(--grid-bg-color-1);
  color: slategray;
  user-select: none;
  &:nth-child(2n) {
    background: var(--grid-bg-color-2);
  }
  &.invert--DEv2PTc5WNkLWuPzUozu {
    background: var(--grid-bg-color-2);
  }
  &.invert--DEv2PTc5WNkLWuPzUozu:nth-child(2n) {
    background: var(--grid-bg-color-1);
  }
  &.active--OOjGd_k4A32_308aMZgx, &.active--OOjGd_k4A32_308aMZgx:nth-child(2n) {
    background: #eee;
    color: #333;
  }
}
/*!************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./src/editor/Editor.css ***!
  \************************************************************************************************************************************************************************/
:root {
  --editor-tile-sprite-img: url('assets/graphics/editor-tiles.png');
  --editor-tile-sprite-background-size: 832px 32px;
  --editor-tile-sprite-width: 32px;
  --editor-tile-sprite-height: 32px;
  --editor-tool-sprite-img: url('assets/graphics/editor-tools-200.png');
  --editor-tool-sprite-background-size: 864px 48px; /* width = img_width / 64 * 48 */
  --editor-tool-sprite-width: 48px;
  --editor-tool-sprite-height: 48px;
  --editor-bg-color: #111;
  --grid-bg-color-1: #263646;
  --grid-bg-color-2: #374757;
  --channel-color-yellow: #c29b4e;
  --channel-color-red: #cd6543;
  --channel-color-blue: #559bd5;
  --button-bg: #556772;
}

body, html {
  color: #fafafa;
  font-family: "BIOSfontII", "VT323", monospace;
}

canvas {
  font-family: "MiniMOOD", "VT323", monospace;
}

button:focus:before,
.button:focus:before {
  display: none;
}

button,
.button {
  border-width: 0px;
  background: var(--button-bg);
  &:hover {
    filter: brightness(1.1) contrast(1.2);
  }
}

.disableScroll--aCRf0VahAkkwSK7uleHp {
  overflow: hidden;
}

.layout--ReHCig7x4aYPRidKBVro {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1199px) {
  .layout--ReHCig7x4aYPRidKBVro {
    & {
      align-items: flex-start;
    }
  }
}

.container--mgjEIvgD0yjsHeVK2qau {
  max-width: 900px;
  padding-left: 30px;
  padding-right: 30px;
}
@media (max-width: 1199px) {
  .container--mgjEIvgD0yjsHeVK2qau {
    & {
      min-width: calc(100vw - 60px);
      display: flex;
      align-items: center;
      justify-content: center;
    }
  }
}

.stack--sqCHei1yJAB5gLTj0ENn {
  display: flex;
  align-items: center;
  justify-content: center;
  &.row--wG1FBW6c3fMwyGvmkKIQ {
    flex-direction: row;
  }
  &.col--wbz6j9MXY9pa6FWv5UXy {
    flex-direction: column;
  }
  &.alignStart--ChccoCPjA3_qRFMQH9NC {
    align-items: flex-start;
  }
  &.alignEnd--OWCiHGqZE6Y557xxKOl1 {
    align-items: flex-end;
  }
  &.alignStretch--LWwqQCIehZXx3KrkLXSL {
    align-items: stretch;
  }
  &.justifyStart--g21Les1ld_iJdtzqFHnV {
    justify-content: flex-start;
  }
  &.justifyEnd--crhpgt2E4uu3RS51Zy8u {
    justify-content: flex-end;
  }
}

.mainTitle--Xm5Atp68KKskUT1M9H55 {
  font-family: "MiniMOOD", "VT323", monospace;
  font-size: 2em;
  padding-top: 15px;
  text-shadow: -1px 4px #5a572e;
  margin: 10px;
  color: aqua;
}

.editorTitle--bKH3Doj0Lg0tStRT1dhQ {
  font-family: "MiniMOOD", "VT323", monospace;
  text-shadow: -1px 4px #5a572e;
  font-size: 1.3em;
  line-height: 1em;
  padding: 0;
  margin: 0;
  transform: translateY(7px);
  margin-left: 127px;
}

.canvasContainer--gkKtSnlKC6cr3Qm4uVq6 {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: center;
  min-width: 600px;
  min-height: 600px;
  font-family: "MiniMOOD", "VT323", monospace;
  color: slategray;
}

.mapBottomInfo--tzmFfhTrY7dDPxZRiEoJ,
.mapBottomDescription--vO5E4RRMHsSV_oWhNEAN,
.mapBottomShortcuts--TM7MNQrBk_MxILGD7CbQ {
  display: flex;
  justify-content: space-between;
  width: 640px;
  margin-left: 128px;
  padding-top: 5px;
  padding-bottom: 5px;
  font-family: "Courier New", monospace;
  font-size: 0.8em;
  color: #88939b;
  & .item--GZZO5VfuQXeplX0fjlG1 {
    margin-right: 10px;
  }
  & .item--GZZO5VfuQXeplX0fjlG1:last-child {
    margin-right: 0;
  }
  & .val--b0RQRO8fw8Srygs2TJkF {
    color: #ccc;
  }
}

.mapBottomInfo--tzmFfhTrY7dDPxZRiEoJ {
  padding-bottom: 0;
}

.mapBottomDescription--vO5E4RRMHsSV_oWhNEAN {
  justify-content: flex-end;
  padding-top: 0;
  & span {
    font-size: 0.9em;
  }
}

.mapBottomShortcuts--TM7MNQrBk_MxILGD7CbQ {
  justify-content: space-between;
  margin-bottom: 10px;
}

.editorContainer--ENTR6wcPTWMibftElOiG {
  position: relative;
  display: inline-flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
  background: var(--editor-bg-color);
  border-radius: 6px;
  /* margin-top: 20px; */
}

.editorTiles--Hq5BSL0pyHt1BykrWiEo {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-right: 5px;
  z-index: 10;
  & .tooltip--hhnwyl4eDqRe7BPHpfod {
    display: none !important;
    right: 100%;
    left: inherit;
    top: 4px;
    bottom: inherit;
    margin-right: 4px;
    filter: none;
  }
  & .shortcut--CB3s5zGZnWGss3q8QeWK {
    font-family: "VT323", monospace;
    font-size: 0.7em;
    color: #5b5b5b;
    margin-right: 3px;
  }
}

.editorTileSprite--BOwAf1aHSgWsPsNAsMH5 {
  display: inline-block;
  background-color: inherit;
  background-image: var(--editor-tile-sprite-img);
  background-size: var(--editor-tile-sprite-background-size);
  width: var(--editor-tile-sprite-width);
  height: var(--editor-tile-sprite-height);
  padding: 0px;
  margin: 1px;
  margin-bottom: 3px;
  border-radius: 0px;
  border: none;
  background-position: 0px 0px;
  filter: brightness(0.25) grayscale(0.5);
  &:hover {
    filter: brightness(0.75) grayscale(0.8);
  }
  &:hover .tooltip--hhnwyl4eDqRe7BPHpfod {
    display: block !important;
    filter: none;
  }
  &.active--Rx0uKlzWxhXt775otXDz {
    filter: none;
  }
  &.barrier--II3y_NkMhpjxgvLYV4BA {
    background-position-x: calc(0 * var(--editor-tile-sprite-width));
  }
  &.passable--Ae5be2KlaOX7xY2DTRuA {
    background-position-x: calc(-1 * var(--editor-tile-sprite-width));
  }
  &.door--_iu3WvS3xft_pzejugJR {
    background-position-x: calc(-2 * var(--editor-tile-sprite-width));
  }
  &.deco1--pP_RUrEjgAuPJPQsTuke {
    background-position-x: calc(-3 * var(--editor-tile-sprite-width));
  }
  &.deco2--AhM_Dmqayh2bel0p38sr {
    background-position-x: calc(-4 * var(--editor-tile-sprite-width));
  }
  &.apple--aFYkgE0kn91i3HSdzJ7o {
    background-position-x: calc(-5 * var(--editor-tile-sprite-width));
  }
  &.nospawn--zQQX8UzNGJKcSmSjD0a0 {
    background-position-x: calc(-6 * var(--editor-tile-sprite-width));
  }
  &.lock--HfSHRriA2VJ6Svm3jLLd {
    background-position-x: calc(-7 * var(--editor-tile-sprite-width));
  }
  &.key--uih4pdWlKE_JOcwxXRiW {
    background-position-x: calc(-8 * var(--editor-tile-sprite-width));
  }
  &.portal--OwWUc3knYnLI4fhnzXlS {
    background-position-x: calc(-9 * var(--editor-tile-sprite-width));
  }
  &.spawn--yiI5twIbN4c1RfklRKIw {
    background-position-x: calc(-10 * var(--editor-tile-sprite-width));
  }
  &.mine--jG6yOTFLdJeN9HkXfI31 {
    background-position-x: calc(-15 * var(--editor-tile-sprite-width));
  }
  &.invincibility--rgNkeOW9gu86rOqrfr4F {
    background-position-x: calc(-25 * var(--editor-tile-sprite-width));
  }
}

.editorTools--Fu76dOpda_BOyhBLRQfj {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 3px;
  width: 100%;
  & .tooltip--hhnwyl4eDqRe7BPHpfod {
    display: none !important;
    top: 100%;
    left: inherit;
    right: inherit;
    bottom: inherit;
    z-index: 100;
    min-width: initial;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 8px;
    margin-top: 3px;
  }
  & .tooltip--hhnwyl4eDqRe7BPHpfod.red--wEygRg1k8XUnwph4qBiT {
    color: #f80;
  }
}

.editorToolsOffset--qlJ88ChmC6PumZ5xu9nC {
  margin-left: 39px;
}

.editorToolSprite--rrVuT_GoHCoa28eSjhhT {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: top;
  background-color: inherit;
  background-image: var(--editor-tool-sprite-img);
  background-size: var(--editor-tool-sprite-background-size);
  width: var(--editor-tool-sprite-width);
  height: var(--editor-tool-sprite-height);
  padding: 0px;
  margin: 3px;
  border-radius: 0px;
  border: none;
  background-position: 0px 0px;
  filter: brightness(0.5) grayscale(0.5);
  &.active--Rx0uKlzWxhXt775otXDz {
    filter: none;
  }
  &:hover {
    filter: none;
  }
  &:hover .tooltip--hhnwyl4eDqRe7BPHpfod {
    display: block !important;
  }
  &.pencil--q_wv12mnGW9ldaRJ2HtS.active--Rx0uKlzWxhXt775otXDz {
    background-position-x: calc(0 * var(--editor-tool-sprite-width));
  }
  &.pencil--q_wv12mnGW9ldaRJ2HtS {
    background-position-x: calc(-1 * var(--editor-tool-sprite-width));
  }
  &.eraser--_rTXZogDNhUFeJ8E46qV.active--Rx0uKlzWxhXt775otXDz {
    background-position-x: calc(-2 * var(--editor-tool-sprite-width));
  }
  &.eraser--_rTXZogDNhUFeJ8E46qV {
    background-position-x: calc(-3 * var(--editor-tool-sprite-width));
  }
  &.rectangle--P5epVOQKCeBY41JqFpa7.active--Rx0uKlzWxhXt775otXDz {
    background-position-x: calc(-4 * var(--editor-tool-sprite-width));
  }
  &.rectangle--P5epVOQKCeBY41JqFpa7 {
    background-position-x: calc(-5 * var(--editor-tool-sprite-width));
  }
  &.line--vIXHkrBWfwTGXJFGHo_w.active--Rx0uKlzWxhXt775otXDz {
    background-position-x: calc(-6 * var(--editor-tool-sprite-width));
  }
  &.line--vIXHkrBWfwTGXJFGHo_w {
    background-position-x: calc(-7 * var(--editor-tool-sprite-width));
  }
  &.bucket--iQ7ILmKpHNRnkp_JV9UY.active--Rx0uKlzWxhXt775otXDz {
    background-position-x: calc(-16 * var(--editor-tool-sprite-width));
  }
  &.bucket--iQ7ILmKpHNRnkp_JV9UY {
    background-position-x: calc(-17 * var(--editor-tool-sprite-width));
  }
  &.bomb--soCwJPeLmG4X9aZSFYuK.active--Rx0uKlzWxhXt775otXDz,
  &.bomb--soCwJPeLmG4X9aZSFYuK:active,
  &.bomb--soCwJPeLmG4X9aZSFYuK:focus,
  &.bomb--soCwJPeLmG4X9aZSFYuK:hover {
    background-position-x: calc(-10 * var(--editor-tool-sprite-width));
  }
  &.bomb--soCwJPeLmG4X9aZSFYuK {
    background-position-x: calc(-11 * var(--editor-tool-sprite-width));
    filter: none;
  }
  &.undo--ckfvUXMjUxs7bMXBGQvb.hasUndo--RwlDW1Ty9aJXt8xIzJQy:hover {
    background-position-x: calc(-12 * var(--editor-tool-sprite-width));
    filter: none;
  }
  &.undo--ckfvUXMjUxs7bMXBGQvb {
    background-position-x: calc(-13 * var(--editor-tool-sprite-width));
    margin-left: 20px;
    &.hasUndo--RwlDW1Ty9aJXt8xIzJQy {
      filter: none;
    }
    &:hover {
      filter: brightness(0.5) grayscale(0.5);
    }
  }
  &.redo--vWvu9qAZfrUBzdgMr5_b.hasRedo--kSvrJ2M68bhnWymYIFy6:hover {
    background-position-x: calc(-14 * var(--editor-tool-sprite-width));
    filter: none;
  }
  &.redo--vWvu9qAZfrUBzdgMr5_b {
    background-position-x: calc(-15 * var(--editor-tool-sprite-width));
    &.hasRedo--kSvrJ2M68bhnWymYIFy6 {
      filter: none;
    }
    &:hover {
      filter: brightness(0.5) grayscale(0.5);
    }
  }
}

.editorTileSidebar--uuBQITMXZKkc6enfJglp {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-left: 5px;
  padding-right: 5px;
  width: 70px;
  text-align: center;
  & > div {
    display: flex;
    flex-direction: column;
  }
  & label {
    font-family: "BIOSfontII", "VT323", monospace;
    font-size: 1em;
    color: #fff;
    color: #bcc2c2;
  }
  & button {
    font-family: "MiniMOOD", "VT323", monospace;
    font-size: 1em;
    display: inline-block;
    margin: 3px;
    padding-top: 6px;
    padding-bottom: 0;
    border: 2px solid transparent;
    filter: brightness(0.5) grayscale(1);
    &.noGrayscale--ciH6zU8nU987hsUdEqFv {
      filter: brightness(0.5);
    }
    &:hover {
      filter: brightness(0.8) grayscale(0.8);
    }
    &:hover.noGrayscale--ciH6zU8nU987hsUdEqFv {
      filter: brightness(0.8);
    }
    &.active--Rx0uKlzWxhXt775otXDz {
      filter: none;
      border-color: #fff;
    }
  }
  & .keyChannelSelect--uJO08ugv7fMOjt5ah3uA.active--Rx0uKlzWxhXt775otXDz > button {
    filter: none;
    border-color: #fff;
  }
  & .keyChannelYellow--TERcbRspRQOJggSOl1qk.active--Rx0uKlzWxhXt775otXDz > button {
    background-color: var(--channel-color-yellow);
  }
  & .keyChannelRed--FHF3THUet6Rw4KdLc9yQ.active--Rx0uKlzWxhXt775otXDz > button {
    background-color: var(--channel-color-red);
  }
  & .keyChannelBlue--uwL_pnIjoG7wvAk_Mnjl.active--Rx0uKlzWxhXt775otXDz > button {
    background-color: var(--channel-color-blue);
  }
  & .keyChannelYellow--TERcbRspRQOJggSOl1qk .keyChannelColorPreview--Gx27TptNDff0efwHFwTX {
    background-color: var(--channel-color-yellow);
  }
  & .keyChannelRed--FHF3THUet6Rw4KdLc9yQ .keyChannelColorPreview--Gx27TptNDff0efwHFwTX {
    background-color: var(--channel-color-red);
  }
  & .keyChannelBlue--uwL_pnIjoG7wvAk_Mnjl .keyChannelColorPreview--Gx27TptNDff0efwHFwTX {
    background-color: var(--channel-color-blue);
  }
  & button.portalChannel--OnhKgW3hqw_NDiLDBTTx {
    width: 70px;
  }
  & button.portalChannel--OnhKgW3hqw_NDiLDBTTx,
  & .keyChannelSelect--uJO08ugv7fMOjt5ah3uA > button {
    display: flex;
    align-items: center;
    color: #fff;
    padding-left: 25px;
    padding-right: 15px;
  }
  & button.portalChannel--OnhKgW3hqw_NDiLDBTTx.active--Rx0uKlzWxhXt775otXDz {
    color: #111;
  }
  & .portalChannelSelect--X4ZQlBKi5hRstqq7CJgT,
  & .keyChannelSelect--uJO08ugv7fMOjt5ah3uA {
    position: relative;
    & .tooltip--hhnwyl4eDqRe7BPHpfod {
      right: 100%;
      left: inherit;
      top: 4px;
      bottom: inherit;
      margin-right: 4px;
      filter: none;
      z-index: 9999;
      &.customAnchor--MfMg9OVtOZAoBEO3NJ7g {
        right: 100%;
        min-width: 80px;
        max-width: 80px;
      }
    }
  }
  & .portalChannelColorPreview--i7T4LHCWLNg9a1wmy6IC,
  & .keyChannelColorPreview--Gx27TptNDff0efwHFwTX {
    position: absolute;
    width: 10px;
    height: 20px;
    top: 8px;
    left: 15px;
    z-index: 10;
    border-radius: 2px;
  }
  & .keyChannelSelect--uJO08ugv7fMOjt5ah3uA.active--Rx0uKlzWxhXt775otXDz .keyChannelColorPreview--Gx27TptNDff0efwHFwTX {
    background-color: rgb(17 17 17/10%);
  }
  & .barrierPreview--lHTD0n_nJzc2zuBHGzd3 {
    display: inline-block !important;
    position: absolute;
    left: 0;
    margin-bottom: 6px;
  }
}

.previewMapButton--eDzPwZzzY41wal5B7qCm {
  margin-left: 40px;
}

.syncText--LjdHDZQzMuMMSVuxIZzY {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  white-space: nowrap;
  color: rgb(208, 135, 46);
  &.isSynced--GdFFz0dDQ1jTBB_Lmi4g {
    color: rgb(78, 146, 93);
  }
}

.modalOverlay--nS76wrRfZOQYvBkoZPlQ,
.mapPreviewOverlay--ICT56LhL1wdePiwl03Po {
  display: block;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.75);
  z-index: 1000;
}

.modalLayout--TA_l6aQX1mtpUoH7ZSI6,
.mapPreviewLayout--q8h24nLIAMGqLZDvoO2x {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}

.modalContainer--vpT3Wt5yvGfvHyx7eVk_,
.mapPreviewContainer--ZVFMtpo3D2szcNJrqgCK {
  position: relative;
  display: flex;
  padding: 2px;
  background: black;
  border: 2px solid #ccc;
  border-radius: 4px;
  box-shadow: -2px 2px 4px 2px black;
  & .closeButton--Mrw9b4gd4ci7rT9tw5dq {
    position: absolute;
    display: inline-block;
    top: 3px;
    right: 3px;
    width: 20px;
    height: 20px;
    padding: 3px;
    box-sizing: content-box;
  }
}

.modalContainer--vpT3Wt5yvGfvHyx7eVk_ {
  overflow-y: auto;
  max-height: 100vh;
}

.mapPreviewContainer--ZVFMtpo3D2szcNJrqgCK {
  width: 1200px;
  height: 1200px;
  transform: scale(0.5);
  transform-origin: center center;
  & .closeButton--Mrw9b4gd4ci7rT9tw5dq {
    transform: scale(2);
    transform-origin: top right;
  }
  & .fullscreenButton--lQpHU5dj2azUM7Yn8O7n {
    position: absolute;
    display: inline-block;
    top: 100%;
    margin-top: 6px;
    right: -2px;
    width: 48px;
    height: 48px;
    padding: 0px;
    box-sizing: content-box;
    /* border: 2px solid #ffffff5c; */
    border: 2px solid #91a3c3;
    transform: scale(2);
    transform-origin: top right;
    &:hover {
      border-color: #fff;
    }
    & img {
      width: 100%;
      height: 100%;
    }
  }
}

.mapPreview--EaLOp2itWkRlQeb7rMmZ {
  display: block;
  border: none;
  /* transform: scale(0.5);
  transform-origin: top left; */
}

.loader--awTK9275tWntLuG0HGxO {
  position: relative;
  width: 55px;
  height: 55px;
  background-repeat: no-repeat;
  background-image: linear-gradient(#FFF 50px, transparent 0), linear-gradient(#FFF 50px, transparent 0), linear-gradient(#FFF 50px, transparent 0), linear-gradient(#FFF 50px, transparent 0), linear-gradient(#FFF 50px, transparent 0), linear-gradient(#FFF 50px, transparent 0);
  background-size: 5px 40px;
  background-position: 0px center, 10px center, 20px center, 30px center, 40px center, 50px center;
  animation: loaderSpikeUp--ul1JTL1K8Bili0YpcAyi 1s linear infinite alternate;
}

@keyframes loaderSpikeUp--ul1JTL1K8Bili0YpcAyi {
  0% {
    background-size: 5px 40px;
  }
  16% {
    background-size: 5px 55px, 5px 40px, 5px 40px, 5px 40px, 5px 40px, 5px 40px;
  }
  33% {
    background-size: 5px 40px, 5px 55px, 5px 40px, 5px 40px, 5px 40px, 5px 40px;
  }
  50% {
    background-size: 5px 40px, 5px 40px, 5px 55px, 5px 40px, 5px 40px, 5px 40px;
  }
  66% {
    background-size: 5px 40px, 5px 40px, 5px 40px, 5px 55px, 5px 40px, 5px 40px;
  }
  83% {
    background-size: 5px 40px, 5px 40px, 5px 40px, 5px 40px, 5px 55px, 5px 40px;
  }
  100% {
    background-size: 5px 40px, 5px 40px, 5px 40px, 5px 40px, 5px 40px, 5px 55px;
  }
}
.loader30--NMpQi1L46gxgrIBJmykg {
  --lg0: 15px;
  --lg1: 25px;
  --lg2: 30px;
  position: relative;
  width: 55px;
  height: var(--lg2);
  background-repeat: no-repeat;
  background-image: linear-gradient(#FFF var(--lg1), transparent 0), linear-gradient(#FFF var(--lg1), transparent 0), linear-gradient(#FFF var(--lg1), transparent 0), linear-gradient(#FFF var(--lg1), transparent 0), linear-gradient(#FFF var(--lg1), transparent 0), linear-gradient(#FFF var(--lg1), transparent 0);
  background-size: 5px var(--lg0);
  background-position: 0px center, 10px center, 20px center, 30px center, 40px center, 50px center;
  animation: loaderSpikeUp--ul1JTL1K8Bili0YpcAyi 1s linear infinite alternate;
}

@keyframes loaderSpikeUp--ul1JTL1K8Bili0YpcAyi {
  0% {
    background-size: 5px var(--lg0);
  }
  16% {
    background-size: 5px var(--lg2), 5px var(--lg0), 5px var(--lg0), 5px var(--lg0), 5px var(--lg0), 5px var(--lg0);
  }
  33% {
    background-size: 5px var(--lg0), 5px var(--lg2), 5px var(--lg0), 5px var(--lg0), 5px var(--lg0), 5px var(--lg0);
  }
  50% {
    background-size: 5px var(--lg0), 5px var(--lg0), 5px var(--lg2), 5px var(--lg0), 5px var(--lg0), 5px var(--lg0);
  }
  66% {
    background-size: 5px var(--lg0), 5px var(--lg0), 5px var(--lg0), 5px var(--lg2), 5px var(--lg0), 5px var(--lg0);
  }
  83% {
    background-size: 5px var(--lg0), 5px var(--lg0), 5px var(--lg0), 5px var(--lg0), 5px var(--lg2), 5px var(--lg0);
  }
  100% {
    background-size: 5px var(--lg0), 5px var(--lg0), 5px var(--lg0), 5px var(--lg0), 5px var(--lg0), 5px var(--lg2);
  }
}
.toastContainer--ru0uhfkCPOHBs8kSEcWt {
  font-family: "BIOSfontII", "VT323", monospace;
}

.toast--K_UvZx9GagKEh0pOflE_,
.toastSuccess--bYrBfSKoLIGUWt4kjvwS,
.toastError--MRAVNkq665eP5BnXd2AO,
.toastUndo--BaYjNl72XpL18W2JAIJS,
.toastRedo--RDdn8lQZWinrUO2oN9Hl {
  box-shadow: -1px 2px 2px rgba(0, 0, 0, 0.31);
}

.toast--K_UvZx9GagKEh0pOflE_ {
  font-family: "BIOSfontII", "VT323", monospace;
}

.toastSuccess--bYrBfSKoLIGUWt4kjvwS {
  background: #7ad9cd !important;
}

.toastError--MRAVNkq665eP5BnXd2AO {
  background: #eba895 !important;
}

.toastUndo--BaYjNl72XpL18W2JAIJS {
  background: #000 !important;
  color: #ddd !important;
}

.toastRedo--RDdn8lQZWinrUO2oN9Hl {
  background: #000 !important;
  color: #7ad9cd !important;
}

button.allMapsButton--N5xVXHYdnpqnHxq1zXiJ,
a.button.allMapsButton--N5xVXHYdnpqnHxq1zXiJ {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 1em;
  padding: 10px 20px;
  background: #292b2d;
  & > span {
    display: inline-block;
    transform: translateY(4px);
  }
  &:hover {
    background: #556772;
    /* background: #babebf;
    color: #46657a; */
    background: #455863;
  }
}
/*!*******************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./src/components/Tabs/tabs.css ***!
  \*******************************************************************************************************************************************************************************/
:root {
  --tab-panel-bg: #232729;
  --tab-inactive: #111;
}

.tab--U6GMo0iB5NahcOxzoWCH {
  display: inline-block;
  margin-left: 4px;
  margin-right: 4px;
  margin-bottom: 2px;
  background: var(--tab-inactive);
  color: #aaa;
  &:hover {
    background: var(--tab-panel-bg);
    color: white;
    filter: none;
  }
  &.active--UF3JdWtrN7TC6TfWEFrs {
    padding-top: 10px;
    background: cyan;
    background: var(--tab-panel-bg);
    color: white;
  }
  &.active--UF3JdWtrN7TC6TfWEFrs:after {
    content: "";
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 10px;
    background: var(--tab-panel-bg);
  }
}

.tabList--cyuUki6BMLNVCnY4Fb96 {
  display: block;
  padding-left: 20px;
  padding-right: 20px;
  margin-top: 20px;
  margin-bottom: 5px;
  white-space: nowrap;
}

.tabPanel--FfkF2mfSlZpBe63Z3HM1 {
  display: block;
  padding: 20px;
  background: var(--tab-panel-bg);
  box-shadow: -2px 3px 2px 2px #000;
  min-width: 370px;
  box-sizing: border-box;
}
/*!*********************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./src/components/Stack/stack.css ***!
  \*********************************************************************************************************************************************************************************/
:root {
  --stack-margin: 10px;
}

.stack--K2FRthj6KtaXewacSoqB {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  &.noChildMargin--Vokh7laUrVZBGvpXyp7Z {
    --stack-margin: 0px;
  }
  &.marginBottom--Dze_OMHHvnt0sD3HpCfG {
    margin-bottom: 20px;
  }
  &.marginTop--yjunfVj5JYl5E4Gaw6Ua {
    margin-top: 20px;
  }
  &.row--WR2xf0nyzzBKsOdSmtkd {
    flex-direction: row;
    & > * {
      margin-left: var(--stack-margin);
      margin-right: var(--stack-margin);
    }
    & > :first-child {
      margin-left: 0;
    }
    & > :last-child {
      margin-right: 0;
    }
  }
  &.col--tquBptBmo3pIUF549lAP {
    flex-direction: column;
    & > * {
      margin-top: var(--stack-margin);
      margin-bottom: var(--stack-margin);
    }
    & > :first-child {
      margin-top: 0;
    }
    & > :last-child {
      margin-bottom: 0;
    }
  }
  &.alignStart--oI2ztmJ3OmYWDNqErx00 {
    align-items: flex-start;
  }
  &.alignEnd--z3dWiM2ndM9K9oavG2S8 {
    align-items: flex-end;
  }
  &.alignStretch--jwy1U3tefluWMQ0Y4ngC {
    align-items: stretch;
  }
  &.alignSpaceAround--kAmS69Wb8m8k7CPEZnmA {
    align-items: space-around;
  }
  &.alignSpaceBetween--rWNVxQbTC2ddosprdwFr {
    align-items: space-between;
  }
  &.justifyStart--AsmcmejNCW1iqROoMxaf {
    justify-content: flex-start;
  }
  &.justifyEnd--CyKPdwGEJVpOBhW_eMFw {
    justify-content: flex-end;
  }
  &.justifySpaceAround--Y8xZf3AL54mxeXjlRvPV {
    justify-content: space-around;
  }
  &.justifySpaceBetween--w3KyKOhBpbsqjKy0hCWM {
    justify-content: space-between;
  }
}
/*!*********************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./src/components/Field/field.css ***!
  \*********************************************************************************************************************************************************************************/
.fieldContainer--X7f3fZNG66_0iJz_qD4J {
  display: block;
  margin-bottom: 20px;
}

.label--xHLzliZpUepIvM6ibHzE {
  display: block;
  color: #cfcfcf;
}

.caption--OJFnVs9bjPvZ2Xg6sxwE {
  font-weight: 100;
  font-size: 0.8em;
  margin-top: 4px;
  color: #a2b0bb;
  -webkit-font-smoothing: antialiased;
}

.input--HqfnCaMGUKqObq1nUNrd {
  width: auto;
  border: none;
  padding: 3px 6px;
  border-radius: 4px;
  box-sizing: border-box;
  font-family: "BIOSfontII", "VT323", monospace;
  font-family: "Courier New", monospace;
  background: #eee;
  background: #c0cdd3;
  color: #333;
  &.fullWidth--grnThylqQZzewokYrWuG {
    width: 100%;
  }
  &::placeholder {
    color: #7c8a99;
    font-style: italic;
  }
}

input[type=range] {
  width: auto;
}

.fullWidth--grnThylqQZzewokYrWuG {
  width: 100%;
}

.colorInputContainer--OEvGjTP1qnPbRDckCPlT {
  position: relative;
  display: inline-block;
}

.colorPicker--AR_PFKwOjaplzi9TS7mN {
  position: absolute !important;
  left: 100%;
  top: -8px;
  border: none;
  border-radius: 10px;
  box-sizing: border-box;
  border: 2px solid white;
  box-shadow: -2px 2px 6px 2px black;
  z-index: 20;
}

.colorInput--aFQsS9T4Ps0h6Rec2uXS {
  display: block;
  padding-left: 22px;
  padding-top: 4px;
  width: 120px;
}

.colorInputHash--qVzFAofXAeov2E4U5RrA {
  display: inline-block;
  position: absolute;
  left: 0px;
  height: 100%;
  padding-left: 4px;
  padding-right: 4px;
  padding-top: 1px;
  box-sizing: border-box;
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  font-family: "VT323", monospace;
  font-family: "Courier New", monospace;
  font-size: 1.1em;
  font-weight: 900;
  color: #79868f;
  background: #a6b7c3;
}

.colorInputPreview--okeZ3U5WEfEG1fAV2I9i {
  display: inline-block;
  position: absolute;
  right: 0px;
  height: 100%;
  width: 20px;
  box-sizing: content-box;
  background: #000;
  border: none;
  &:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: transparent;
    border: 2px solid #fff;
    z-index: 5;
  }
  &:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 2px;
    bottom: 2px;
    left: 2px;
    right: 2px;
    background: transparent;
    border: 2px solid #000;
    z-index: 10;
  }
}

.sliderManualInput--MTy7Yq_q1gfaN4UzPGKp {
  width: 100px;
  margin-right: 2px;
}

.toggleLabel--vBpLJ7961DuLH_lWm7vA {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  color: #cfcfcf;
}

.toggleLabelText--SYNxP5K2YthTrKaHl5SH {
  margin-left: 10px;
}

input:focus-visible,
button:focus-visible {
  outline: 2px solid white;
}

input[type=range].range--DDyLT6vGDwQsLgX86FVX {
  color: #ddd;
  --active-track-color: #567d9d;
}

input[type=range].range--DDyLT6vGDwQsLgX86FVX:hover::-webkit-slider-thumb,
input[type=range].range--DDyLT6vGDwQsLgX86FVX:focus::-webkit-slider-thumb,
input[type=range].range--DDyLT6vGDwQsLgX86FVX:active::-webkit-slider-thumb {
  /* filter: brightness(var(--brightness-hover)); */
  color: var(--active-track-color);
  cursor: grab;
}

.dropdownRoot--TvIWsO190B8MTslflX75 {
  min-width: 200px;
}
/*!****************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./src/components/Field/react-toggle.css ***!
  \****************************************************************************************************************************************************************************************/
.react-toggle {
  touch-action: pan-x;
  display: inline-block;
  position: relative;
  cursor: pointer;
  background-color: transparent;
  border: 0;
  padding: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  --active-color-1: #19ab8b;
  --active-color-2: #1a8969;
  --focus-color: #0099E0;
}

.react-toggle-screenreader-only {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.react-toggle--disabled {
  cursor: not-allowed;
  opacity: 0.5;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}

.react-toggle-track {
  width: 55px;
  height: 20px;
  padding: 0;
  border-radius: 4px;
  background-color: #4D4D4D;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.react-toggle:hover:not(.react-toggle--disabled) .react-toggle-track {
  background-color: #000000;
}

.react-toggle--checked .react-toggle-track {
  /* background-color: #19AB27; */
  background-color: var(--active-color-1);
}

.react-toggle--checked:hover:not(.react-toggle--disabled) .react-toggle-track {
  /* background-color: #128D15; */
  background-color: var(--active-color-2);
}

.react-toggle-track-check {
  position: absolute;
  width: 14px;
  height: 10px;
  top: 0px;
  bottom: 0px;
  margin-top: auto;
  margin-bottom: auto;
  line-height: 0;
  left: 8px;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease;
  -moz-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

.react-toggle--checked .react-toggle-track-check {
  opacity: 1;
  -webkit-transition: opacity 0.25s ease;
  -moz-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

.react-toggle-track-x {
  position: absolute;
  width: 10px;
  height: 10px;
  top: 0px;
  bottom: 0px;
  margin-top: auto;
  margin-bottom: auto;
  line-height: 0;
  right: 9px;
  opacity: 0.2;
  -webkit-transition: opacity 0.25s ease;
  -moz-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

.react-toggle--checked .react-toggle-track-x {
  opacity: 0;
}

.react-toggle-thumb {
  transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  position: absolute;
  top: -3px;
  left: 1px;
  width: 26px;
  height: 26px;
  border: 1px solid #4D4D4D;
  border-radius: 2px;
  background-color: #FAFAFA;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  transition: all 0.25s ease;
}

.react-toggle--checked .react-toggle-thumb {
  left: 30px;
  /* border-color: #19AB27; */
  border-color: var(--active-color-1);
}

.react-toggle--focus .react-toggle-thumb {
  -webkit-box-shadow: 0px 0px 3px 2px var(--focus-color);
  -moz-box-shadow: 0px 0px 3px 2px var(--focus-color);
  box-shadow: 0px 0px 2px 3px var(--focus-color);
}

.react-toggle:active:not(.react-toggle--disabled) .react-toggle-thumb {
  -webkit-box-shadow: 0px 0px 5px 5px var(--focus-color);
  -moz-box-shadow: 0px 0px 5px 5px var(--focus-color);
  box-shadow: 0px 0px 5px 5px var(--focus-color);
}
/*!******************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./src/components/Field/react-dropdown.css ***!
  \******************************************************************************************************************************************************************************************/
.react-select__control {
  min-width: 230px;
}

.react-select__menu {
  --dropdown-bg: #c0cdd3;
  --dropdown-bg: #e2ebf0;
  --menu-bg: #333;
  --menu-fg: #ddd;
  --hover-bg: #f2f9fc;
  --active-fg: #47a795;
  --active-bg: #e2ebf0;
  --focus-fg: #f2f9fc;
  --focus-bg: #444;
  background-color: var(--menu-bg) !important;
  color: var(--menu-fg);
  z-index: 99 !important;
  & .react-select__option {
    color: var(--menu-fg);
  }
  & .react-select__option--is-focused {
    background-color: var(--focus-bg);
    color: var(--focus-fg);
  }
  & .react-select__option--is-selected {
    background-color: var(--active-bg);
    color: var(--active-fg);
  }
}
/*!*********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./src/editor/EditorOptions/EditorOptions.css ***!
  \*********************************************************************************************************************************************************************************************/
hr {
  border-color: #4e4f59;
  border-style: solid;
  margin: 20px 0;
}

p {
  display: block;
}

.editorOptionsContainer--_SrdHgosycAqwymR2NjY {
  display: flex;
  flex-direction: column;
  margin-left: 20px;
  padding-right: 20px;
}

.form--EY1peu6zuvOdoxcc2WOu {
  min-width: 300px;
  display: flex;
  flex-direction: column;
}

.error--uJkDEcEJHzCyg5Bkk8yN {
  color: #a40;
}

textarea {
  background: #4c4c4c;
  color: #eee;
  font-family: "Courier New", monospace;
}

.loadPaletteButton--H1B9hxwERIoxeA7OSPEx {
  margin-bottom: 20px;
}

.selectPaletteContainer--GzlJf2B2e1xGFxWxhXt4 {
  position: relative;
}

.selectPaletteTitle--pb2GSqQNg_KJCoKJXK_o {
  margin-top: 0;
  margin-bottom: 10px;
}

.closeButton--Q5QJtboqPdIOaV16Yr2Z {
  position: absolute;
  display: inline-block;
  top: 0;
  right: 0;
  width: 20px;
  height: 20px;
  padding: 3px;
  box-sizing: content-box;
}

.paletteButton--oC0eNUNebUGc5Nc0Nvcp {
  display: flex;
  margin-bottom: 10px;
  width: 100%;
}

.paletteName--pd5QtfP2XBg2zG697uHD {
  display: inline-block;
  min-width: 180px;
  padding: 0;
  margin: 0;
  transform: translateY(5px);
  font-family: "MiniMOOD", "VT323", monospace;
  font-size: 0.8em;
  text-align: left;
}

.paletteComponent--Uj6qhS5QwndisRiiOQsO {
  display: inline-block;
  width: 10px;
  height: 20px;
}

.buttonLoadLevel--EzYy3PLJvRuJWfSOdlg1 {
  margin-top: 10px;
}

.buttonPlay--RoAbu5ZR9Z_UhVxE99Jf,
.buttonStop--Y5h2KH_0o6iYzhfsVH6q {
  display: inline-flex;
  padding: 0;
  margin-top: 12px;
  align-items: center;
  justify-content: center;
}

.authorField--vGeGKc1WOZtx6EjunEgz {
  margin-top: 10px;
}

.publishMapButton--Z_zk6rkz7avpmg_SRrVN,
.updateMapButton--iqP9WZfOpi5ofThc0x43 {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 10px 30px;
  font-family: "MiniMOOD";
  font-size: 1.4em;
  min-height: 52px;
  & > span {
    display: inline-block;
    transform: translateY(5px);
  }
  &.loading--JB700ZdkfUfZvYysOx2X > span {
    opacity: 0.8;
  }
  & > img {
    margin-left: 20px;
  }
  &:hover {
    filter: brightness(1.1) contrast(1.2);
  }
  & .loader--mFXXBbgtgZ_Xpp0RMPPN,
  & .loader {
    transform: none;
    margin: 0;
    opacity: 1 !important;
  }
}

.publishMapButton--Z_zk6rkz7avpmg_SRrVN {
  background: #E1AA51;
  color: #3e464c;
  text-shadow: -1px 3px 0px rgba(0, 0, 0, 0.3294117647);
}

.updateMapButton--iqP9WZfOpi5ofThc0x43 {
  background: #5d8bb3;
  color: #3e464c;
  text-shadow: -1px 3px 0px rgba(0, 0, 0, 0.3294117647);
}

.copyDevLinkButton--t_EcVwdIrirNG8ycy5b0 {
  width: 100%;
  padding: 10px 30px;
}

.sharePreviewContainer--ooMWY4pALfXO4jjAMk3o {
  position: relative;
}

.sharePreviewButton--Dv2t_6BqT_twO7J9IbkA {
  display: inline-flex;
  position: absolute;
  bottom: 14px;
  right: 7px;
  padding: 0;
  margin: 0;
}

.shareHeading--wvxKV1nHzKJdi0E6wNJi {
  display: inline-flex;
  align-items: center;
  margin-bottom: 0 !important;
  margin: 0;
  font-family: "MiniMOOD", "VT323", monospace;
  font-size: 1.3em;
  color: #c6dbde;
  text-shadow: -1px 4px 1px black;
  & > span {
    transform: translateY(6px);
    margin-right: 10px;
  }
}

.socialContainer--Fm72fVhdjwWnJFsnpLJv {
  display: inline-flex;
  padding: 12px 30px;
  border-radius: 4px;
  background: #3c4952;
  background: #2e3941;
}

.socialButton--qRimMvH4c9m1IfRQfWrh {
  display: inline-flex;
  box-shadow: none;
}

.socialEmptyMessage--pQSOzSiWEY_yMQ2Der60 {
  display: flex;
  align-items: center;
  font-style: italic;
  color: #838e9a;
  & > span {
    margin-right: 20px;
  }
  & > img {
    filter: brightness(0.4) saturate(0.3);
  }
}
/*!********************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./src/editor/Navigation/nav.css ***!
  \********************************************************************************************************************************************************************************/
.navMenuToggle--FRMmoDzdQHs47gr_vnQV {
  display: inline-block;
  position: absolute;
  top: 6px;
  left: 8px;
}
