body {
  background-color: rgb(235, 235, 235);
  margin: 12px;
  margin-right: 0;
  overflow: hidden;
  font-family: Arial, Helvetica, sans-serif;
}

#container {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  height: calc(100vh - 26px);
  overflow-y: auto;
  position: relative;
}

#canvas-container {
  height: 100%;
  position: sticky;
  top: 0;
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

#canvas-stage {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  background: #1a1a1a;
}

canvas {
  display: block;
  width: 100%;
  height: 100%;
}

#ui-container {
  width: 320px;
  height: calc(100vh - 26px);
  margin-left: 12px;
  position: relative;
  box-sizing: border-box;
  flex: 0 0 320px;
}

.content {
  height: 100%;
  overflow-y: auto;
  padding-right: 12px;
}

#ui-container::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 80px;
  background: linear-gradient(to top, #e9e9e9, transparent);
  pointer-events: none;
  z-index: 100;
}

#ui-container::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 95px;
  height: 50px;
  background: linear-gradient(to bottom, #e9e9e9 30%, transparent);
  pointer-events: none;
  z-index: 19;
}


#ui-container p.footer-credits {
  font-family: monospace;
  font-size: 9.3px;
  letter-spacing: -.4px;
  color: #000000;
  text-align: center;
  margin-top: 10px;
  padding: 8px;
}
#ui-container p.footer-credits a {
  color: #000000;
  text-decoration: none;
}
#ui-container p.footer-credits span a {
  color: #505050;
}
#ui-container p.footer-credits a:hover {
  color: #fff;
  text-decoration: underline;
}

:root {
  --tp-base-background-color: rgb(233, 233, 233);
  --tp-base-shadow-color: hsla(0, 0%, 0%, 0.20);
  --tp-base-border-radius: 5px;
  --tp-button-background-color: hsla(0, 0%, 80%, 1.00);
  --tp-button-background-color-active: hsla(0, 0%, 25%, 1.00);
  --tp-button-background-color-focus: hsla(0, 0%, 80%, 1.00);
  --tp-button-background-color-hover: hsla(0, 0%, 75%, 1.00);
  --tp-button-foreground-color: rgb(60, 60, 60);
  --tp-container-background-color: hsla(0, 0%, 90%, 1.00);
  --tp-container-background-color-active: hsla(0, 0%, 85%, 1.00);
  --tp-container-background-color-focus: hsla(0, 0%, 80%, 1.00);
  --tp-container-background-color-hover: hsla(0, 0%, 75%, 1.00);
  --tp-container-foreground-color: hsla(0, 0%, 0%, 1.00);
  --tp-groove-foreground-color: hsla(0, 0%, 90%, 1.00);
  --tp-input-background-color: hsla(0, 0%, 80%, 1.00);
  --tp-input-background-color-active: hsla(0, 0%, 85%, 1.00);
  --tp-input-background-color-focus: hsla(0, 0%, 80%, 1.00);
  --tp-input-background-color-hover: hsla(0, 0%, 75%, 1.00);
  --tp-input-foreground-color: hsla(0, 0%, 10%, 1.00);
  --tp-label-foreground-color: rgb(70, 70, 70);
  --tp-monitor-background-color: hsla(0, 0%, 80%, 1.00);
  --tp-monitor-foreground-color: hsla(0, 0%, 48%, 1.00);
  --tp-container-unit-size: 30px;
}

/* Borders */
.folder-level-1 {
  border: 3px solid white !important;
  border-radius: 5px !important;
}
.tp-fldv_i::before {
 width: 0px !important;
}


.folder-level-1,
.folder-level-2,
.folder-level-3 {
  --cnt-bg: hsla(0, 0%, 100%, 1) !important;
  --cnt-bg-a: hsla(0, 0%, 100%, 1) !important;
  --cnt-bg-f: hsla(0, 0%, 100%, 1) !important;
  --cnt-bg-h: hsla(0, 0%, 95%, 1) !important;
}

.folder-level-2 {
  padding: 7px 0px;
}

.folder-level-3 {
  border-bottom: 1px solid lightgrey;
}

.tp-rotv_c {
  padding-top: 0 !important;
}

.tp-sprv_r {
  background-color: rgb(235, 235, 235) !important;
  height: 15px !important;
}

.tp-rotv_c>.tp-sprv+*:not(.tp-v-hidden),
.tp-tbpv_c>.tp-sprv+*:not(.tp-v-hidden),
.tp-fldv_c>.tp-sprv+*:not(.tp-v-hidden),
.tp-rotv_c>.tp-cntv+*:not(.tp-v-hidden),
.tp-tbpv_c>.tp-cntv+*:not(.tp-v-hidden),
.tp-fldv_c>.tp-cntv+*:not(.tp-v-hidden) {
  margin-top: 0 !important;
}

.tp-rotv {
  box-shadow: none !important;
}

.tp-rotv_m,
.tp-fldv_m {
  opacity: 0 !important;
}

.tp-fldv_t {
  padding-left: 5px !important;
  font-size: 14px !important;
}

.tp-fldv_c {
  padding-left: 0 !important;
}

.folder-level-3 .tp-fldv_t {
  font-size: inherit !important;
}

.tp-tbiv_t {
  text-align: left !important;
}

.tp-btnv_b:hover {
  color: #e9e9e9 !important;
}

.tp-rotv,
.tp-tbiv_b,
.tp-coltxtv_ms,
.tp-colswv_b,
.tp-ckbv_i,
.tp-sglv_i,
.tp-mllv_i,
.tp-grlv_g,
.tp-txtv_i,
.tp-p2dpv_p,
.tp-colswv_sw,
.tp-rotv_b,
.tp-fldv_b,
.tp-p2dv_b,
.tp-btnv_b,
.tp-lstv_s {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 600 !important;
}

.actionsGrid .tp-btngridv,
.layerActionsGrid .tp-btngridv,
.randomGrid .tp-btngridv,
.presetGrid .tp-btngridv {
  gap: 8px !important;
}

.pillarGrid .tp-btngridv {
  gap: 4px !important;
}

.pillarGrid button {
  font-size: 10px !important;
  padding: 0px 2px !important;
}

.pillarGrid button.active {
  background-color: hsla(0, 0%, 30%, 1.00);
  color: #fff;
}

.layerTabs {
  padding: 0 3px 15px;
}

.layerTabs .tp-lblv_v .tp-btngridv {
  gap: 5px !important;
}

.layerTabs button.active,
.modeGrid button.active,
.tp-fldv.aspectFolder .tp-btnv_b.active {
  background-color: hsla(0, 0%, 30%, 1.00);
  color: #fff;
}

.exportStatus {
  padding-top: 10px;
  gap: 0;
}

.exportStatus .tp-lblv_v {
  flex-grow: 1;
  flex-shrink: 1;
}

.exportStatus .tp-lblv_l {
  display: none;
}

.header-container {
  position: sticky;
  top: 0;
  background-color: #e9e9e9;
  z-index: 20;
}

.header-container a {
  text-decoration: none;
}

.header-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  background-color: #fff;
  padding: 20px 10px;
  border: 3px solid white;
  border-radius: 5px;
}

.header-card .header-mark {
  padding: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: fit-content;
}

.header-dot,
.header-ring {
  display: inline-block;
  background: #000;
}

.header-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.header-ring {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: transparent;
  border: 3px solid #000;
}

.header {
  margin-top: 10px;
  color: black;
  font-size: 14px;
  font-weight: 600 !important;
  text-align: center;
}

.header-tab {
  pointer-events: none;
}

@media (max-width: 960px) {
  body {
    margin: 8px;
    margin-right: 8px;
    overflow: auto;
  }

  #container {
    flex-direction: column;
    height: auto;
    min-height: calc(100vh - 16px);
  }

  #canvas-container {
    position: relative;
    width: 100%;
    height: 60vh;
  }

  #ui-container {
    width: 100%;
    height: auto;
    margin-left: 0;
    margin-top: 12px;
    flex: 0 0 auto;
  }

  .content {
    padding-right: 0;
  }
}
