
:root {
    	--cm-text-color: #FFFFFF;
	--cm-base-color: #5B5B5B;
	--cm-point-color: #C90076;
		--cm-base-color-bb: #b5b5b5;	
	--cm-base-color-b: #838383;
	--cm-base-color-d:  #3d3d3d;
	--cm-base-color-dd:  #000000;
	--cm-point-color-bb: #ff5ad0;	
	--cm-point-color-b: #f1289e;
	--cm-point-color-d:  #ab0058;
	--cm-point-color-dd:  #470000;
  --cm-point-color-v:  #ff00b1;
  --cm-point-color-t:  rgba(201, 0, 118, 0.22);
  --cm-point-color-r: #c90000;
  --cm-point-color-r-t: rgba(201, 0, 0, 0.22);
  --cm-base-color-t:  rgba(91, 91, 91, 0.22);
	--cm-text-color-t:  rgba(255, 255, 255, 0.22);
	--cm-base-color-auto: #ffffff;
	--cm-text-color-auto: #000000;
	--cm-point-color-auto: #ffffff;
	--cm-base-color-auto-t: #ffffff26;
	--cm-text-color-auto-t: #00000026;
	--cm-point-color-auto-t: #ffffff26;
  --cm-point-color-auto-tt: #ffffff60;

    --cm-default-font: var(--cm-e-font), var(--cm-j-font), 'GmarketSansMedium';
  --cm-title-font: var(--cm-e-font), var(--cm-j-font), 'GmarketSansBold';

  --cm-j-font: 'Kosugi Maru';
  --cm-e-font:   'Raleway';
  --cm-ani: 0.6s;
  --cm-font-size: 12px;
  --cm-icon-size: 14px;
  --cm-item-padding: 10px;
  --cm-item-padding-y: 10px;
  --cm-item-padding-x: 10px;
  --cm-item-margin: 0px;
  --cm-item-margin-y: 0px;
  --cm-item-margin-x: 0px;
  --cm-menu-border-width: 0px;
  --cm-menu-border-style: solid;
  --cm-divider-border-width: 1px;
  --cm-menu-radius: 4px;
  --cm-radius: var(--cm-menu-radius);
  --cm-padding: var(--cm-item-padding);
  --cm-img-width: 24px;
  --cm-img-height: 24px;
  --cm-btn-font-size: 14px;
  --cm-logo-width: 120px;
  --cm-logo-height: auto;
}

  header#header {
  left: 0;
  width: 0px;
  z-index: 99;
  pointer-events: none;
  }
  header ~ section#body {
  margin: 0;
  }

/* 원본과 동일: stich에 따라 wrapper flex 축/정렬을 항상 emit */
.custommenu-wrapper {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

/* 원본 .custommenu 규칙 — 트랜스폼 모드 OFF 기준 (transform_mode=0)
   align-items/flex-wrap/position 같은 새 속성은 트랜스폼 모드에서만 적용해
   원본의 시각을 깨뜨리지 않게 함 */
.custommenu {
  flex-direction: column;
  width: auto;
  height: auto;
  left: 20px;
  font-size: var(--cm-font-size);
  border: var(--cm-menu-border-width) var(--cm-menu-border-style) var(--cm-text-color-t);
  border-radius: var(--cm-menu-radius);
  justify-content: center;
  }


.custommenu-item {
  padding: var(--cm-item-padding);
  margin: var(--cm-item-margin-y) 0;
  width: 100%;
}




.custommenu-folder::before {
  margin-right: var(--cm-item-padding-x);
}



.custommenu-icon {
    width: var(--cm-icon-size);
  height: var(--cm-icon-size);
  }

.custommenu-icon i,
.custommenu-icon .material-icons {
  font-size: var(--cm-icon-size);
}

.custommenu-divider {
  height: 0px;
  width: 100%;
  border-bottom: var(--cm-divider-border-width, 1px) var(--cm-menu-border-style) var(--cm-text-color-t);
}

.custommenu-get-background{
  background-image: url('');
}

.cm-iconic .custommenu {
  background: var(--cm-base-color);
  color: var(--cm-text-color);
  font-size: 12px;
  width: calc(14px + 10px + 10px);
  box-sizing: content-box;
  overflow: hidden;
  }

.cm-iconic .custommenu.custommenu-hover {
  width:140px}
.cm-iconic .custommenu.custommenu-hover .custommenu-name {
  opacity: 1;
}  
.cm-iconic .custommenu .custommenu-item {
  flex-direction: row;
  }
.cm-iconic .custommenu .custommenu-item:hover {
  color: var(--cm-point-color);
}
.cm-iconic .custommenu .custommenu-icon {
  font-size: 14px;
}
.cm-iconic .custommenu .custommenu-name {
  opacity: 0;
  }

.cm-iconic .custommenu-item.custommenu-sub {
  animation: flipInX var(--cm-ani);
  display: none;
}
.cm-iconic .custommenu-item.custommenu-sub.open {
  display: flex;
}

.cm-iconic .custommenu-subwindow.custommenu.custommenu-hover {
  left: calc(20px + 140px + 20px + 10px);}
.cm-iconic .custommenu-subwindow {
  left:calc(20px + 14px + 10px + 10px + 10px);
}
.cm-iconic .custommenu-subwindow:hover {

}
.cm-iconic .custommenu-subwindow.active {
  flex-direction: column;
}

.cm-iconic .custommenu-subwindow .custommenu-sub {
  display: flex;
}
  .cm-iconic .custommenu-icon {
  position: relative;
}
.cm-iconic .custommenu-folder .custommenu-icon::before {
  font-size: 1em;
  left: 0.6em;
  top: -0.6em;
  scale: 0.8;
  font-family: 'Font Awesome 5 Free'; 
  content: '\f13a';
  font-weight: 900; 
  margin-right: 10px;
  font-size: 12px;
  position: absolute;
}

.cm-iconic .custommenu-folder.open .custommenu-icon::before,
.cm-iconic .custommenu-folder.active .custommenu-icon::before {
  content: '\f139'; 
}

.cm-iconic .custommenu-folder::before {
  display: none;
}