html, body, table { 
  height: 100%; 
  font-size: 1.08em;
}



table:not(.tradeOrderBook) {
  user-select: none; /* 텍스트 선택 방지 */
}



.topinfo{
  height:100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.topinfo tr{
  height:25%;
}


#middletable {
  width:100%;  
}

#middletable .charttd {
 vertical-align: top;
  width:35%;
  height:100%;
}




.daymode  .trdivider .tddivider{
  border-left: 1px solid #eee!important;
  border-right: 1px solid #eee !important;
}

.nightmode .trdivider .tddivider{
  border-left: 1px solid #555 !important;
  border-right: 1px solid #555 !important;
}


  #sellingVolume,
  #futureTodayStart,
  #futureTodayHigh,
  #futureTodayLow,
  #futureTodayMiddle,
  #futureTodayCur,
  #marketindex,
  #fut_monthhigh{
    width:5% !important;
  }

  .titledayoverday{
    width:5% !important;

  }

  .topinfo{
    font-weight: bold;
  }
    
  .topinfo tr{
   height: 23px !important;;
  }
    
  .topinfo .tdfut-title,
  .topinfo .tdopt-title{
    width:4%;
  }
    
  .topinfo .tdfutMonth,
  .topinfo .tdoptMonth {
    width:4%;
  }
  
  #futureTodayVolatility {
    width:3%;
  }
  
  .topinfo .currency {
    padding-left:5px;
  }
    
  .topinfo select {
    padding:2px;
    text-align:center;
  }

  
  .td-current-price {
    font-weight: bold;
    font-size: 18px;
  }
    
  .loading-image-future,
  .loading-image-option1,
  .loading-image-option2,
  .loading-image-option3,
  .loading-image-option4,
  .loading-image-option5 {
    position: absolute; /* 절대 위치 지정 */
    top: 50%;            /* 부모 세로 중간 */
    left: 50%;           /* 부모 가로 중간 */
    transform: translate(-50%, -50%); /* 자기 자신 중심에 정렬 */
    width: 50px; /* 이미지 크기 설정 */
    height: 50px; /* 이미지 크기 설정 */
    z-index: 101; /* 컨텐츠 뒤에 배치 */
  }

  .loading-image-small {
    position: absolute; /* 절대 위치 지정 */
    top: 50%;            /* 부모 세로 중간 */
    left: 50%;           /* 부모 가로 중간 */
    transform: translate(-50%, -50%); /* 자기 자신 중심에 정렬 */
    width: 50px; /* 이미지 크기 설정 */
    height: 50px; /* 이미지 크기 설정 */
    z-index: 101; /* 컨텐츠 뒤에 배치 */
  }

  .highlight-border-high {
    box-shadow: inset 0 0 0 1px var(--color-high) !important;
  }
  
  .highlight-border-low {
    box-shadow: inset 0 0 0 1px var(--color-low) !important;
  }
  
  .highlight-border-both {
    box-shadow: inset 0 0 0 1px var(--color-both) !important;
  }

    
  #strengthvalue, 
  #strengthvalue2,
  #pointPerFuture ,
  #pointPerOption,
  #fut_openinterest {
    line-height: 90%;
  }

  .optioninfo .optionTitle,
  #opt_call_monthhigh_1,
  #opt_call_monthlow_1,
  #opt_call_monthhigh_2,
  #opt_call_monthlow_2,
  #opt_call_monthhigh_3,
  #opt_call_monthlow_3,
  #opt_call_monthhigh_4,
  #opt_call_monthlow_4,
  #opt_call_monthhigh_5,
  #opt_call_monthlow_5,
  #opt_call_monthhigh_6,
  #opt_call_monthlow_6,
  #opt_call_monthhigh_7,
  #opt_call_monthlow_7{
    width: 6.2% ;
  }

  



.topinfo .warning {
  background-color:rgb(194, 64, 64);
  color:#eee;
}





.daymode .expressStrikeReverseCall,
.daymode .expressStrikeReversePut,
.daymode #expressStrikeGroup {
  border: 1px solid #ccc;
  background-color: #eee;
  color: #555;
  cursor: pointer;
  text-align:center;
}

.daymode .expressStrikeReverseCall.active,
.daymode .expressStrikeReversePut.active,
.daymode #expressStrikeGroup.active {
  border: 1px solid #bbb;
  background-color: #444;
  color: #eee;
}

.daymode .expressStrikeReverseCall:disabled,
.daymode .expressStrikeReversePut:disabled {
  border: 1px solid lightgray;
  background-color: lightgray;
  color: darkgray;
  cursor: not-allowed;
}

.daymode #expressStrikeSummeryCall,
.daymode #expressStrikeSummeryPut,
.daymode .expressStrikeCall,
.daymode #expressStrike,
.daymode .expressStrikePut{
  border: 1px solid #ccc;
  background-color: #eee;
  color:#555
}


.nightmode .expressStrikeReverseCall,
.nightmode .expressStrikeReversePut,
.nightmode #expressStrikeGroup {
  border: 1px solid #444;
  background-color: #444;
  color: #ccc;
}

.nightmode .expressStrikeReverseCall.active,
.nightmode .expressStrikeReversePut.active,
.nightmode #expressStrikeGroup.active {
  border: 1px solid #777;
  background-color: #000;
  color: #ddd;
}

.nightmode .expressStrikeReverseCall:disabled,
.nightmode .expressStrikeReversePut:disabled ,
.nightmode .expressStrikePut:disabled {
  border: 1px solid #777;
  background-color: #555;
  color: #333;
  cursor: not-allowed;
}

.nightmode #expressStrikeSummeryCall,
.nightmode #expressStrikeSummeryPut,
.nightmode .expressStrikeCall,
.nightmode #expressStrike,
.nightmode .expressStrikePut{
  border: 1px solid #444;
  background-color: #444;
  color:#dddddd
}


#expressStrikeSummeryCall,
#expressStrikeSummeryPut,
#expressStrike {
  line-height: 10%;  
  padding:1px;
  text-align:center;
  width:80px !important;
  height:25px;
}

.expressStrikeCall,
.expressStrikePut{
  line-height: 10%;  
  padding:1px;
  text-align:center;
  width:70% !important;
  height:95% !important;
  font-weight:bold !important;
}

.expressStrikeReverseCall,
.expressStrikeReversePut,
#expressStrikeGroup {
  height:95% !important;
  width:20%;
}


#mainStrike {
  padding:2px;
  text-align:center;
  width:105px !important;
}

/*선물 진폭이 부족한 상태*/
@keyframes blink {
  0%, 100% {
    background-color: rgb(255, 231, 187); 
    color: #888888; 
  }
  50% {
    background-color: #eee; 
    color: #888888; 
  }
}




.chartContainer {
  display: block;
  width:100%;
  height:100%;
  position: relative;
}

.weeklymode .chartContainer {
  height : 100% !important;
}


.weeklymode .topinfo {
  background-color: #E8F5E9;
}

.weekly-title{
  width:6%;
}

#weeklyPageName{
  font-size:20px;
  line-height: 150%;
  color:#1565C0;
}

.chartFuture,
.chartOption {
  width:100%;
  height: 49%;
  position: relative;
}

.chartSmall1,
.chartSmall2  {
  height:100%;
  width:100%;
  margin-top:6px;
  position: relative;  
}

.pricelevel-container {
  width: 100%; /* 테이블의 전체 너비 */
  height:10%;
}
.priceLevel {
  table-layout: fixed; /* 균등한 칸 배분 */
  padding:7px;
  border-collapse: collapse; 
  height:100%
}


.priceLevel th,
.priceLevel td {
  text-align: center;
}

#priceLevel-tooltip-layer {
  display: none;
  position: absolute;
  padding: 10px;
  z-index: 10;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
  white-space: nowrap;
  max-width: 200px;
  line-height: 1.5;
}


.daymode #priceLevel-tooltip-layer {
  border: 1px solid #ccc;
  background-color: white;
  
}
.nightmode #priceLevel-tooltip-layer {
  border: 1px solid #666;
  background-color: #777;

}



/* 선물 진폭이 부족한 상태 */
.alertState {
  animation: blink 0.5s infinite; /* 0.5초 동안 반복되는 애니메이션 */
}



#parent-container {
  display: flex;
  flex-direction: column;
  height: 100%; /* 또는 원하는 고정 높이 */
  min-height: 0;
}

/* 고정 높이 영역 */
#maintable-container {
  flex: 0 0 15%;
}

#middletable-container {
  flex: 1 1 0;
  min-height: 0;
  overflow-y: auto;
}

#middletable {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  height: 100%;  
}



#buyingVolume { 
  color: var(--color-buy);  
}
#sellingVolume { 
  color: var(--color-sell);  
}


.topinfo, 
#middletable .charttd .tradetable, 
#middletable .middle .tradetable, 
.tradinglist, 
#middletable .optiontable .optionSummery,
#middletable .optiontable .tradinginfo{
  vertical-align:top;
  text-align:center;
  width:100%;
  /* border: 1px solid #CCCCCC; */
  border-collapse: collapse;
  border-spacing: 0; 
  
}

/* 
.topinfo th, 
#middletable .charttd .tradetable th,
#middletable .middle .tradetable th,
#middletable .optiontable .optioninfo th , 
.tradinglist th, 
#middletable .optiontable .optionSummery th,
#middletable .optiontable .tradinginfo th{
  border: 1px solid #CCCCCC;
} */

#indexBtnArea {
  
  bottom: 55px;
  right: 20px;
  align-items: center; /* 수직 중앙 정렬 */
  gap: 5px; /* 요소 간 간격 */
}

.showOptionPriceBtn {
  padding: 6px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 16px;
  color: #333;
  cursor: pointer;
  margin-left:15px;
}

.past-searchBtn {
  padding: 6px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 16px;
  color: #333;
  cursor: pointer;
}

#profitlist_btn {
  padding: 6px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 16px;
  color: #333;
  cursor: pointer;
}

.mainmenu-wrapper select {
  padding: 8px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #eee; /* 변경된 배경 색상 */
  background-image: linear-gradient(45deg, transparent 50%, gray 50%),
                    linear-gradient(135deg, gray 50%, transparent 50%),
                    linear-gradient(to right, #ccc, #ccc);
  background-position: calc(100% - 20px) calc(1em + 2px),
                       calc(100% - 15px) calc(1em + 2px),
                       calc(100% - 2.5em) 0.5em;
  background-size: 5px 5px, 5px 5px, 1px 1.5em;
  background-repeat: no-repeat;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 16px;
  color: #333;
}

.mainmenu-wrapper #past-yearmonth {
  width:155px;
}

.mainmenu-wrapper #past-day {
  width:125px;
}

.nightmode .showOptionPriceBtn{  
  background-color: #555;
  color:#dddddd;
}
.nightmode #profitlist_btn{  
  background-color: #555;
  color:#dddddd;
}




.optioninfo {
  width:100%;
  height: 100%;
  text-align:center;
  border-collapse: collapse;
  line-height: normal !important; 
}



.tddivider{
  min-width: 1px !important;
  width:1px !important; 
  font-size: 1px !important; 
  height:1px !important;
  padding-inline: 0.25em !important;
}
.trdivider1px {
  font-size: 1px  !important;   
  padding-inline: 0.25em  !important;
  height: 1px !important;
}
.trdivider {
  font-size: 1px;   
  padding-inline: 0.25em;
  height: 5px !important;
  border-left: none  !important; /* 왼쪽 border 제거 */
  border-right: none  !important; /* 오른쪽 border 제거 */
}

#optionbottomgap {
  height:25px;

}

/* 
right: -100%;
 초기 상태 등 추가 설정
transition: right 0.2s ease; */


.daymode .optioninfo .expressStrikeTable {  
  background-color: #ddd;
  border: 1px solid #CCCCCC;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  padding-bottom:10px;
}

.nightmode .optioninfo .expressStrikeTable {  
  border: 1px solid #666;
  background-color: #444;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  padding-bottom:10px;
}

.daymode .optioninfo .left-close-option {
  margin-top:10px;
  background-color: #ddd;
  padding: 5px;;
  border: 1px solid #bbb;
  width:130px;
}

.nightmode .optioninfo .left-close-option {
  margin-top:10px;
  background-color: #444;
  padding: 5px;;
  border: 1px solid #666;
  color:#eee;
  width:130px;
}
.optioninfo  .undertd::before {
  content: "\00a0"; /* non-breaking space */
}

.optioninfo .expressStrikeTable th {  
  height : 30px;
}

.optioninfo .expressStrikeTable.optionsinfo {  
  margin-top:655px;
}

#kospi200_forMonthlyOption {
  font-weight:bold !important;
}


/* daymode 스타일 */
.daymode .topinfo td, 
.daymode .topinfo th, 
.daymode .topinfo, 
.daymode #middletable .charttd .tradetable th,
.daymode #middletable .middle .tradetable th,
.daymode #middletable .charttd .tradetable td,
.daymode #middletable .middle .tradetable td,
.daymode #middletable .charttd .tradetable, 
.daymode #middletable .middle .tradetable, 
.daymode .optioninfo th, 
.daymode .optioninfo td, 
.daymode #middletable .priceLevel td {
  border: 1px solid #CCCCCC;
}

/* nightmode 스타일 */
.nightmode .topinfo, 
.nightmode .topinfo th, 
.nightmode .topinfo td, 
.nightmode #middletable .charttd .tradetable th,
.nightmode #middletable .middle .tradetable th,
.nightmode #middletable .charttd .tradetable td,
.nightmode #middletable .middle .tradetable td,
.nightmode .optioninfo td, 
.nightmode .optioninfo th, 
.nightmode #middletable .charttd .tradetable, 
.nightmode #middletable .middle .tradetable, 
.nightmode #middletable .priceLevel td {
  border: 1px solid #666;
}


.trendnInflection td {
  padding:0px;
  margin:0px;
  overflow: hidden; /* 내용이 넘치지 않도록 설정 */
  position: relative; 
  vertical-align: top;
}
.trendnInflection td .content {
  padding:0px;
  margin:0px;
  overflow: hidden; /* 내용이 넘치지 않도록 설정 */
  font-size:10px !important;
  text-align:left;
  line-height: 100%;
  width: 100%; 
  box-sizing: border-box;
}


.tdcalculate {
  font-weight:bold;
}

.daymode .criticalPrice{
  background-color: #f2f2e2;
} 


.daymode .td-current-price {
  background-color:#fbfbf1;
} 

.nightmode .criticalPrice{
  background-color: #444444;
}

.nightmode .td-current-price {
  background-color:#333;
} 


.option-up-button {
  position: absolute; /* 절대 위치 지정 */
  top: 0; /* 상단 부터의 거리 */
  left: 78px; /* 왼쪽 부터의 거리 */
  z-index: 101; /* 다른 요소들 위에 오도록 z-index 설정 */
  width:16px;
  height:22px;
  margin:1px;
  text-align:center;
  font-size:0.70em
}
.option-down-button {
  position: absolute; /* 절대 위치 지정 */
  top: 0; /* 상단 부터의 거리 */
  left: 96px; /* 왼쪽 부터의 거리 */
  z-index: 101; /* 다른 요소들 위에 오도록 z-index 설정 */
  width:16px;
  height:22px;
  margin:1px;
  text-align:center;
  font-size:0.70em
}



#chartStrike {
  position: absolute; /* 절대 위치 지정 */
  top: 0px; /* 상단 부터의 거리 */
  left: 0px; /* 왼쪽 부터의 거리 */
  z-index: 101; /* 다른 요소들 위에 오도록 z-index 설정 */
  width:78px;
  padding:2px;
  text-align:center;
}

.ma-labels {
  position: absolute; top: 18px; left: 0px; padding-left:9px; z-index: 102;
}

.optionLineButton {
  position: absolute; /* 절대 위치 지정 */
  top: 1px; /* 상단 부터의 거리 */
  left: 117px; /* 왼쪽 부터의 거리 */
  z-index: 101; /* 다른 요소들 위에 오도록 z-index 설정 */
}

.daymode .optionLineButton button {
  border: 1px solid #ccc;
  background-color: #eee;
  padding: 2px;
  font-size: 0.85em;
}

.daymode  .optionLineButton button.active {
  background-color: #bcd; /* 눌렀을 때 색상 */
  border-color: #999;
}
.nightmode .optionLineButton button {
  border: 1px solid #444;
  background-color: #444;
  color:#dddddd;
  padding: 2px;
  font-size: 0.85em;
}

.nightmode .optionLineButton button.active {
  background-color: #777; /* 눌렀을 때 색상 */
  color:#eee;
}

.optionLabel1 {
  position: absolute; /* 절대 위치 지정 */
  top: 0px; /* 상단 부터의 거리 */
  left: 260px; /* 왼쪽 부터의 거리 */
  z-index: 101; /* 다른 요소들 위에 오도록 z-index 설정 */
  padding:4px;
}

.optionLabel {
  position: absolute; /* 절대 위치 지정 */
  top: 0px; /* 상단 부터의 거리 */
  left: 78px; /* 왼쪽 부터의 거리 */
  z-index: 101; /* 다른 요소들 위에 오도록 z-index 설정 */
  padding:4px;
}

.chartLabeloption2,
.chartLabeloption3,
.chartLabeloption4,
.chartLabeloption5 {
  position: absolute; /* 절대 위치 지정 */
  top: 0px; /* 상단 부터의 거리 */
  left: 0px; /* 왼쪽 부터의 거리 */
  z-index: 101; /* 다른 요소들 위에 오도록 z-index 설정 */
  padding:4px;
}
 
.daymode #chartStrike ,
.daymode .option-up-button,
.daymode .option-down-button {
  border: 1px solid #ccc;
  background-color: #eee;  
}

.daymode .optionLabel {
  background-color: #eee;  
}

.nightmode #chartStrike,
.nightmode .option-up-button,
.nightmode .option-down-button {
  border: 1px solid #444;
  background-color: #444;
  color:#dddddd

}

.nightmode .optionLabel {
  background-color: #555;
  color:#dddddd;
}



.nightmode .ma-labels {
  background-color: #555;
  color:#dddddd

}

.chartLabel,
.chartLabeloptions,
.otherChartLabel,
.chartTradingActivityLabel {
  position: absolute; /* 절대 위치 지정 */
  top: 0; /* 상단 부터의 거리 */
  left: 5px; /* 왼쪽 부터의 거리 */
  z-index: 101; /* 다른 요소들 위에 오도록 z-index 설정 */
  padding:2px;
}

.otherchart-button {
  width:52px;
  height:18px;
  margin-bottom:3px;
  text-align:center;
  font-size:0.70em
}



#middletable .optiontable{
  position: relative; 
  overflow: hidden; /* 넘치는 콘텐츠 숨김 */
  height: 100%; 
}

#middletable .optiontable .tdtradinginfo{
  vertical-align: top;
}


#drawingOptionCanvas {
  position: absolute;
  top: 0;
  left: 200px;
  width:100%;
  height:100%;
  pointer-events: auto;
}



.nightmode .info-table {
  background-color: #555;
  border: 1px solid #333;
}

.nightmode .info-table th,
.nightmode .info-table td {
  background-color: #777;
  border: 1px solid #444;
}

.badge-accident::after {
  content: '★'; /* 별 이모티콘 */
  position: absolute;
  top: -2px;
  right: -2px;
  font-size: 20px;
  color: green; /* 이모티콘 색상 */
}

.badge-check::after {
  content: '✔'; /* 체크 이모티콘 */
  position: absolute;
  top: -2px;
  right: -2px;
  font-size: 20px;
  color: green; /* 이모티콘 색상 */
}


/* 

@keyframes blinkboth {
  0%, 100% { background-color: transparent; }
  50% { background-color: var(--color-both); }
}
  
@keyframes blinkcall {
  0%, 100% { background-color: transparent; }
  50% { background-color: var(--color-call); }
}

@keyframes blinkput {
  0%, 100% { background-color: transparent; }
  50% { background-color: var(--color-put); }
}

.blinkboth {
  animation: blinkboth 1s linear infinite;
}

.blinkcall {
  animation: blinkcall 1s linear infinite;
}
.blinkput {
  animation: blinkput 1s linear infinite;
} */

.controlPanel-container {
  left: 0px; /* 좌측 정렬 */
  bottom: 2px; /* 하단 정렬 */
  padding: 3px;
  width:290px;
  margin-left:2px;
  margin-top:2px;
  margin-right:5px;
  border-radius: 5px;
  background-color: #ccc;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.controlPanel-container .hideOptionPriceBtn{
  transition: transform 0.3s;
}

#controlPanel {
  margin-bottom: 20px;
}
#controlPanel button, input[type="color"] {
  margin-right: 5px;
  padding-top: 2px;
  padding-bottom: 2px;
  padding-left: 4px;
  padding-right: 4px; 
}
#controlPanel .selectedTool {
  background-color: #9592e2; /* 선택된 도구의 배경색 */
  color: white; /* 선택된 도구의 글자색 */
}
#controlPanel #colorPicker {
  width:30px;
}
#controlPanel button {
  background: none;
  border: none;
  cursor: pointer;
  opacity: 0.6; /* 기본 상태의 투명도 */
}
#controlPanel button.selectedTool {
  opacity: 1; /* 선택된 버튼의 투명도 */
}
#controlPanel button:focus {
  outline: none;
}
.eraserCursor {
  cursor: url('../media/eraser_cursor.png'), auto !important;
}

.detailCursor {
  cursor: url('../media/detail_cursor.png'), auto !important;
}

.drawCursor {
  cursor: crosshair;
}

#linesContainer {
  z-index: 10000;
}

.detailsArea {
  animation: flashRed 1.2s ease-out; /* 애니메이션 이름, 지속 시간, 타이밍 함수 설정 */
}



.pastdata .topinfo {
  background-color: #ddd;

}





/* 전체 컨테이너: 재생/정지/시간 표시를 가로 정렬(Flex) */
.replay-ui {
  display: flex;
  align-items: center;        /* 요소 간 간격 */
  background-color: #ddd;  /* 배경색 */
  padding: 2px 10px;       /* 내부 여백 */
  border-radius: 4px;      /* 모서리를 둥글게 */
  position: relative;      /* 필요 시 z-index 조절 가능 */
  z-index: 210;
}


/* 시간 표시(예: 08:45:38) */
.replay-time {
  font-size: 14px;
  font-weight: bold;
  color: #555;
}

/* 버튼 스타일 (play, stop 등) */
.replay-ui button {
  background: none;
  border: 1px solid #555;
  margin-top:1px;
  padding: 2px 5px;
  color: #555;
  cursor: pointer;
  border-radius: 4px;
  font-size: 12px;
  transition: background-color 0.2s;
  margin-left:3px;
}
.replay-ui button:hover {
  background-color: #ddd;
}
.replay-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5); /* 반투명 흰색 */
  z-index: 10000;  /* replay-ui 내부 다른 요소들보다 위에 표시 */
  pointer-events: auto; /* 오버레이가 클릭 이벤트를 받음 */
  display: flex;
  align-items: center;
  justify-content: center;
}

.replay-overlay img {
  width: 50px; /* 필요에 따라 조정 */
  height: 50px;
}

.progress-wrap {
  flex: 1;
  width: 140px;
  position: relative;
}

/* 원본 슬라이더 스타일 */
.progress-bar {
  width: 100%;
  -webkit-appearance: none;
  height: 6px;
  border-radius: 3px;
  background: #ccc;
  outline: none;
  cursor: pointer;
  margin-left:5px;
}

/* 프로그레스바 overlay 스타일 (확대된 슬라이더) */
.progress-overlay {
  position: absolute;
  top: -5px;
  left: 0;
  width: 500px;   /* 원하는 너비 */
  height: 50px;   /* 원하는 높이 */
  z-index: 210;
  pointer-events: auto; /* 보일 때 mouse 이벤트 받도록 */
  opacity: 0;          /* 기본은 숨김 */
  transition: opacity 0.3s ease;
}
/* overlay 활성화 시 */
.progress-overlay.show {
  opacity: 1;
  pointer-events: auto; /* 확대된 슬라이더로 이벤트 받아들임 */
}

/* 원본 슬라이더 thumb (크롬/사파리) */
.progress-bar::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #555;
  cursor: pointer;
}

/* 원본 슬라이더 thumb (파이어폭스) */
.progress-bar::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #555;
  cursor: pointer;
}

/* (필요에 따라 확대한 슬라이더의 스타일도 조절 가능) */
.progress-bar-large {
  width: 100%;
  -webkit-appearance: none;
  height: 30px;   /* 원본보다 더 두껍게 */
  border-radius: 5px;
  background: #999;
  outline: none;
  cursor: pointer;
}
.progress-bar-large::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 80px;      /* 기본 14px보다 크게 지정 */
  height: 80px;     /* 높이도 크게 지정 */
  border-radius: 50%;
  background: blue;
  cursor: pointer;
  margin-top: -12px;  /* 트랙과의 수직 정렬 보정: 높이에 맞게 조절 */
}

/* 큰 슬라이더 thumb (파이어폭스) */
.progress-bar-large::-moz-range-thumb {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: blue;
  cursor: pointer;
}
.speed-control {
  position: relative;
  display: inline-block;
}
.speed-btn {
  border: 1px solid #555;
  background: none;
  padding: 2px 5px;
  cursor: pointer;
  font-size: 12px;
  border-radius: 4px;
  margin-right:3px;
}
.speed-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  width: 50px; /* 옵션 너비 */
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  z-index:101;
}
.speed-dropdown div {
  padding: 4px 8px;
  cursor: pointer;
}
.speed-dropdown div:hover {
  background-color: #eee;
}


.hide {
  display: none;
}

.opacity-100 {
  opacity: 1;
}

.opacity-20 {
  opacity: 0.2;
}


.display-hidden {
  display: none !important;
}

.display-visible {
  display: block !important;
}
.tick5color {
  color:orange;
}
.tick20color {
  color:#999;
}


.tooltip {
  line-height: 0.8;
  position: absolute;
  display: none;
  padding: 8px;
  box-sizing: border-box;
  font-size: 12px;
  text-align: left;
  z-index: 105;
  pointer-events: none;
  border-radius: 4px 4px 0 0;
  border-bottom: none;
  font-family: -apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.tooltipdiv div{
  margin-top:4px;
}

.tooltip .margin {
  margin:10px;
}

.top {
  vertical-align: top;
}



#strike-popuplayer {
  display: none;           /* 초기에는 숨김 */
  position: absolute;
  padding: 10px;
  box-shadow: 0 0 5px rgba(0,0,0,0.3);
  z-index: 103;
  font-size:16px;
  width: 270px;     
}
#strike-popuplayer > div {
  display: table;
  table-layout: fixed;
  margin-bottom: 10px;
  width: 100%;
  height: 26px;
}
#strike-popuplayer button {
  height:95% !important
}

#strike-popuplayer > div > span {
  display: table-cell;
  vertical-align: middle;
  box-sizing: border-box; 
}

#strike-popuplayer > div > span.color_up,
#strike-popuplayer > div > span.color_down {
  width: 35%;
  padding-right: 8px;
}

/* 2) 나머지 셀: .color_up·.color_down 둘 다 아닌 span 만 90% */
#strike-popuplayer > div > span:not(.color_up):not(.color_down) {
  width: 65%;
}

#strike-popuplayer select {
  width:80px !important;
}



.daymode #strike-popuplayer {
  border: 1px solid #ccc;
  background: #eee;
}

.nightmode #strike-popuplayer {
  border: 1px solid #777;
  background-color: #000;
  color: #ddd;
}



@media (max-height: 860px) {
  html, body, table { 
    font-size: 0.95em !important;
  } 

  .topinfo th,
  .optioninfo th,  
  .topinfo td,
  .optioninfo td {
    font-size: 0.96em;
  }
  
  .optionLabel1,
  .chartLabel{
    display:none;
  } 
  
  
  
  #expressStrikeSummeryCall,
  #expressStrikeSummeryPut,
  #expressStrike,
  .undertd  {
    font-size:14px;    
    height:17px !important;
    font-weight: bold;
  }
  

 .expressStrikeReverseCall,
 .expressStrikeReversePut,
 #expressStrikeGroup {  
  font-size: 10px !important;
  margin-left:0px;
}

  #strengthvalue, 
  #strengthvalue2,
  #pointPerFuture ,
  #pointPerOption,
  #fut_openinterest {
    font-size:10px;
  }

  .button-container {
    display:none;
  }
  
  .replay-ui{
    padding:0px;
  }

  .replay-ui button {
    padding: 1px 2px;
    border-radius: 4px;
    font-size: 10px;
    margin-left:1px;
  }

  .strike-title{
    font-size:13px !important;

  }

  
}




@media (max-width: 1024px) {

  #opt_call_monthhigh_1,
  #opt_call_monthlow_1,
  #opt_call_monthhigh_2,
  #opt_call_monthlow_2,
  #opt_call_monthhigh_3,
  #opt_call_monthlow_3,
  #opt_call_monthhigh_4,
  #opt_call_monthlow_4,
  #opt_call_monthhigh_5,
  #opt_call_monthlow_5,
  #opt_call_monthhigh_6,
  #opt_call_monthlow_6,
  #opt_call_monthhigh_7,
  #opt_call_monthlow_7{
    width:6%;
  }

  
  #strengthvalue, 
  #strengthvalue2,
  #pointPerFuture ,
  #pointPerOption,
  #fut_openinterest {
    font-size:10px !important;
  }


  .optioninfo .undertd{
    font-size: 8px !important;
  }
  
}


















/*1170*580 임훈택*/
@media (max-height: 600px) {
  html, body, table { 
    font-size: 0.90em !important;
  }  
  
  .topinfo th,
  .optioninfo th {
    font-size: 0.90em !important;
  }


  .td-current-price {
    font-weight: bold;
    font-size: 14px;
  }
  .weekly-title{
    width:70px;
  }
  .weeklyPageName{
    font-size:20px;
    line-height: 150%;
    color:#1565C0;
  }
  .undertd  {
    font-size: 0.90em !important;
    height:14px !important;
  }
  
  .td-current-price {
    font-size: 0.90em !important;
  }
  .optioninfo .undertd {
    height:13px !important;
  
  }
  
}



.topinfo th,
.optioninfo th ,
.opt_futureinfo_table th {
  font-size: 0.90em;
}
.topinfo td,
.optioninfo td,
.opt_futureinfo_table td {
  font-size: 1.08em ;
}

.tick_count {
  font-size: 0.90em !important;
}

#strengthvalue, 
#strengthvalue2,
#pointPerFuture ,
#pointPerOption,
#fut_openinterest,
.expressStrikeCall,
.expressStrikePut {
  font-size: 1.16em !important;

}



/* 이 행의 위/아래 라인을 흰색으로 */
tr.opt_futureinfo > td {
  border-top: 2px solid #eee !important;
  border-bottom: 2px solid #eee !important;
  border-right: 2px solid #eee !important;
  padding:0px !important;
}

/* 세로 1px 구분용 셀 */
tr.opt_futureinfo > td.tddivider {
  width: 1px !important;
  min-width: 1px !important;
  padding: 0 !important;
  background: #eee;                /* 세로 흰색 바 */
  border-left: none !important;
  border-right: none !important;
}

.opt_futureinfo_table td{
    border-top: 1px solid #eee !important;
    border-left: 1px solid #eee !important;
    width:10%;   
    font-weight: bold;
    padding-top:3px;
    padding-bottom:3px;
}