@import url('//fonts.googleapis.com/earlyaccess/nanumgothiccoding.css');

.eng_font {
  font-family: "Nanum Gothic Coding", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

body {
  word-break: keep-all;
}

.util_nav {
  text-align: left;
  width: auto;
  height: fit-content;
  background-color: rgb(70, 79, 87);
  box-shadow: 0 0 0 2px rgb(96, 113, 124) inset;
  border: 1px solid rgb(45, 52, 60);
  font-family: 'NEXON Lv2 Gothic';
  padding: 10px;
  border-radius: 8px;
}

/* 특정 페이지별 위치 조정 제거 (통합) */
.util_nav.exp_calculator {
  position: fixed;
  left: 20px;
  top: 100px;
}

.util_nav.sunday {
  position: fixed;
  left: 20px;
  top: 100px;
}

.util_nav.mobile {
  display: none;
  position: fixed;
  left: 14px;
  top: 110px;
  z-index: 2001;
  border-radius: 8px;
  max-width: 220px;
  /* 우측에서 슬라이드 인 애니메이션 */
  transform: translateX(-20%);
  transition: transform 0.3s ease-in-out, opacity 0.3s ease;
  opacity: 0;
}

.util_nav.mobile.show {
  transform: translateX(0);
  opacity: 1;
}

.util_nav .txt_title {
  color: rgb(221, 254, 1);
  text-shadow: 1px 1px 1px rgb(30, 38, 47);
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 5px;
}

.util_nav #btn_close_nav {
  cursor: pointer;
  font-size: 18px;
  color: rgb(221, 254, 1);
  transition: color 0.2s ease;
}

.util_nav #btn_close_nav:hover {
  color: #fff;
  text-shadow: 0 0 5px rgb(221, 254, 1);
}

.util_nav .list_box {
  background-color: rgb(238, 238, 238);
  margin-top: 10px;
  width: 100%;
  box-shadow: 0 0 0 2px rgb(255, 255, 255) inset;
  padding: 5px;
}

.util_nav .list_box .list_button {
  border-radius: 0.5rem;
  background: linear-gradient(0, rgb(191, 198, 201), rgb(209, 212, 215));
  border: 2px solid rgb(235, 236, 237);
  border-bottom: none;
  box-shadow: 0px 0px 0px 1px rgb(154, 163, 167);
  color: rgb(83, 84, 85);
  font-weight: bold;
  text-shadow: 0px 1px 0px rgb(141, 150, 153) inset;
  width: 100%;
}

.util_nav .list_box .list_button:first-child {
  margin-bottom: 5px;
}

.util_nav .list_box .list_button.active:hover {
  color: white;
  text-shadow: 0px 0px 5px white;
}

.util_nav .list_box .list_button.disabled {
  color: rgb(176, 183, 187);
  cursor: default;
}

.util_nav .list_box .list_option {
  width: 100%;
  position: relative;
  text-align: start;
  border-radius: 0.25rem;
  height: 40px;
  margin-bottom: 5px;
  background: linear-gradient(0, rgb(154, 163, 168), rgb(165, 175, 181));
  border: 2px solid rgb(197, 203, 207);
  border-bottom: none;
  box-shadow: 0 0 0 1px rgb(140, 148, 151);
  padding: 0;
}

.util_nav .list_box .list_option:hover,
.util_nav .list_box .list_option.active:hover {
  box-shadow: 0 0 3px 2px white;
}

.util_nav .list_box .list_option.active {
  background: linear-gradient(0, rgb(21, 165, 212), rgb(54, 184, 208));
  border: 2px solid rgb(146, 217, 230);
  border-bottom: none;
  box-shadow: 0 0 0 1px rgb(63, 119, 137);
}

.util_nav .list_box .list_option img.img_flag {
  position: absolute;
  left: -30px;
}

.util_nav .list_box .list_option img.img_flag:nth-child(1) {
  top: 0px;
}

.util_nav .list_box .list_option img.img_flag:nth-child(2) {
  top: 15px;
}

.util_nav .list_box .list_option i.fa-external-link {
  position: absolute;
  left: 5px;
  top: 12px;
}

.util_nav .list_box .list_option .list_thumb_wrap {
  display: inline-block;
  text-align: center;
  width: 30px;
  height: 30px;
  margin: 5px;
}

.util_nav .list_box .list_option img.list_thumb {
  max-width: 30px;
  max-height: 30px;
}

.util_nav .list_box .list_option .list_title {
  margin-left: 3px;
  color: white;
  font-size: 14px;
}

.util_nav .list_box .list_option.disabled {
  background: linear-gradient(0, rgb(210, 213, 215), rgb(196, 203, 207));
  border: 1px solid rgb(177, 184, 187);
  box-shadow: 0 0 0 2px rgb(224, 227, 229) inset;
}

.util_nav .list_box .list_option.disabled:hover {
  border: 1px solid rgb(177, 184, 187);
  box-shadow: 0 0 0 2px rgb(224, 227, 229) inset;
}

.util_nav .list_box .list_option img.list_blank {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 22px;
  height: 22px;
  filter: grayscale(1);
  opacity: 0.2;
}

.inner_content_box table.inner_table tr th {
  min-width: 80px;
  line-height: 1.5rem;
  height: 50px;
}

table.table_fixed {
  table-layout: fixed;
}

#result_table tr th,
#result_table tr td,
#genesis_result_table tr th,
#genesis_result_table tr td,
#destiny_result_table tr th,
#destiny_result_table tr td {
  font-size: 1.5rem;
  word-break: keep-all;
}


.inner_content {
  font-family: 'NEXON Lv2 Gothic';
  width: 100%;
  background-color: rgb(68, 76, 83);
  border-radius: 10px;
  border: 1px solid rgb(45, 52, 60);
  box-shadow: 0 0 0 2px rgb(101, 119, 130) inset;
  padding: calc(2px + 1vw);
}

.inner_content .row {
  --bs-gutter-x: 10px;
  --bs-gutter-y: 10px;
}

.inner_content .inner_header {
  margin-top: 20px;
  border-radius: 5px;
  background: linear-gradient(0, rgba(56, 80, 95, .5), rgba(48, 61, 72, .8) 30%),
              linear-gradient(90deg, rgb(48, 61, 72) 40%, rgba(56, 80, 95, .3), rgba(56, 80, 95, .3), rgb(48, 61, 72) 60%);
  box-shadow: 0 0 0 2px rgb(62, 74, 84) inset, 0 1px 0 1px rgb(35, 41, 47);
  color: white;
  padding: 20px 0;
  font-weight: bold;
  font-size: 1.75rem;
}

.inner_content .inner_header img {
  height: 1.5rem;
}

.inner_content_box {
  font-family: 'NEXON Lv2 Gothic';
  border-radius: 10px;
  background: linear-gradient(0, rgba(55, 80, 95, .5), rgba(46, 54, 63, .5) 10%, rgba(46, 54, 63, .5) 90%, rgba(55, 80, 95, .5) 100%),
              linear-gradient(90deg, rgba(46, 54, 63, .6), rgba(46, 54, 63, .6));
  box-shadow: 0 0 0 1px rgb(65, 102, 121) inset, 0 1px 0 1px rgb(35, 41, 47);
  color: white;
  padding: 10px;
}

.inner_content_box .form-control {
  border-radius: 5px;
  height: 40px;
  padding: 20px;
}

.inner_content_box .form-select {
  border-radius: 5px;
  width: auto;
  height: 41px;
  border: none;
  flex: none;
  padding-left: 10px;
  font-weight: bold;
  background-color: rgb(65, 102, 121);
  border-color: rgb(65, 102, 121);
  color: white;
}

.inner_title {
  font-size: 2rem;
  font-weight: bold;
  border-bottom: 1px solid rgb(65, 102, 121);
  margin-bottom: 10px;
}

.input-group .input-group-text {
  font-weight: bold;
  background-color: rgb(65, 102, 121);
  border-color: rgb(65, 102, 121);
  color: white;
}

#btn_util_nav {
  position: fixed;
  left: 20px;
  top: 110px;
  z-index: 2000;
  text-decoration: none;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgb(70, 79, 87) 0%, rgb(45, 52, 60) 100%);
  border: 2px solid rgb(96, 113, 124);
  color: rgb(221, 254, 1);
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease;
  /* 펄스 효과 추가 */
  animation: subtle-pulse 2s infinite;
  display: flex;
  align-items: center;
  justify-content: center;
}

@keyframes subtle-pulse {
  0%, 100% { 
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3), 0 0 0 0 rgba(221, 254, 1, 0.4);
  }
  50% { 
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3), 0 0 0 8px rgba(221, 254, 1, 0);
  }
}

#btn_util_nav:hover {
  transform: translateY(-2px) scale(1.05);
  background: linear-gradient(135deg, rgb(80, 89, 97) 0%, rgb(55, 62, 70) 100%);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
  animation: none;
}

#btn_util_nav i {
  font-size: 20px;
  text-shadow: 1px 1px 1px rgb(30, 38, 47);
}

.btn_cyan {
  border-radius: 0.5rem;
  border: 2px solid rgb(91, 233, 240);
  background: linear-gradient(0, rgb(54, 150, 181), rgb(54, 183, 208));
  color: white;
  text-shadow: 1px 1px 1px rgb(34, 99, 122);
  box-shadow: 0px 1px 0px 2px rgb(35, 41, 47);
  border-bottom: none;
  text-decoration: none;
  cursor: pointer;
  appearance: button;
  -webkit-appearance: button;
  text-transform: none;
  margin: 0;
  line-height: inherit;
  text-align: center;
}

.btn_cyan.btn_large {
  font-weight: bold;
  text-shadow: 2px 2px 2px rgb(34, 99, 122);

}

.btn_cyan:hover {
  text-shadow: 0px 0px 3px white;
  box-shadow: 0 0 3px 2px white;
}



#tbl_compare th img {
  height: 1em;
}




@media screen and (max-height: 600px) {
  .util_nav {
    top: 80px;
  }
  
  #btn_util_nav {
    top: 80px;
  }
}

@media screen and (max-width: 1400px) {
  .util_nav.sunday {
    display: block; /* sunday 페이지도 우측에 표시 */
  }
}

@media screen and (max-width: 1200px) {
  .util_nav {
    display: none;
  }
}

/* 작은 화면에서 모바일 네비게이션 위치 조정 */
@media screen and (max-width: 768px) {
  .util_nav.mobile {
    left: 16px;
    top: 70px;
    width: 220px;
  }
  
  #btn_util_nav {
    left: 16px;
    top: 80px;
    width: 45px;
    height: 45px;
  }
  
  #btn_util_nav i {
    font-size: 18px;
  }
}

@media screen and (max-width: 800px) {
  .inner_content .inner_header {
    font-size: 1.5rem;
  }

  .inner_content .inner_header img {
    height: 1rem;
  }

  .inner_title {
    font-size: 1.5rem;
  }

  #result_table tr th,
  #result_table tr td,
  #genesis_result_table tr th,
  #genesis_result_table tr td,
  #destiny_result_table tr th,
  #destiny_result_table tr td {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 360px) {
  .util_nav .list_box .list_option .list_title {
    font-size: 13px;
  }
  
  .util_nav.mobile {
    width: calc(100vw - 20px);
    left: 10px;
  }
}

.chk_button {
  border-radius: 0.5rem;
  background: linear-gradient(0, rgb(84, 95, 109), rgb(108, 119, 133));
  border: 2px solid rgb(127, 138, 153);
  border-bottom: none;
  box-shadow: 0px 0px 0px 1px rgba(46, 53, 61, .4);
  color: white;
  font-weight: bold;
  text-shadow: 0px 1px 0px rgb(0, 0, 0);
  width: 100%;
  overflow: hidden;
  text-align: center;
  margin: 5px;
}

.chk_button:hover {
  text-shadow: 0px 0px 3px white;
  border: 2px solid rgb(127, 138, 153);
  border-bottom: none;
}

.chk_button input:disabled + span{
  border: none;
  color: rgba(0, 0, 0, .3);
  text-shadow: none;
  background-color: rgb(108, 119, 133);
  cursor: default;
}

.chk_button input:disabled + span img{
  filter: grayscale(1);
}

.chk_button label {
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.chk_button label span {
  text-align: center;
  padding: 3px 0;
  display: block;
}

.chk_button label input {
  position: absolute;
  display: none;
  color: #fff !important;
}

.chk_button label input + span{color: #fff;}

.chk_button input:checked + span {
  background-color: rgb(68, 79, 89);
  text-shadow: 0px 0px 3px white;
  box-shadow: inset 0px 1px 8px rgba(0, 0, 0, 0.4);
  border: none;
}

.form-control::placeholder {
  color: #aaa;
}

.form-check.form-switch {
  min-height: 0;
  margin-bottom: 0;
}

.form-check-input.chk_burning {
  width: 100px;
  height: 40px;
  background-image: url('/upload/asset/icons/하이퍼버닝max.png');
  background-size: 30px 34px;
  background-position-x: 10px;
  box-shadow: 0px 0px 1px 1px #aaa;
  filter: grayscale(1);
  transition: background-position .15s ease-in-out;
  cursor: pointer;
  margin-right: 3em;
}

.form-check-input.chk_burning:checked {
  background-color: rgb(85, 204, 255);
  background-position-x: calc(100% - 10px);
  border: 1px solid rgb(51, 68, 221);
  box-shadow: 0px 0px 8px 2px rgb(255, 255, 119);
  filter: grayscale(0);
}

.form-check-input.chk_beyond {
  width: 100px;
  height: 40px;
  background-image: url('/upload/asset/icons/버닝비욘드.png');
  background-size: 39px 34px;
  background-position-x: 10px;
  box-shadow: 0px 0px 1px 1px #aaa;
  filter: grayscale(1);
  transition: background-position .15s ease-in-out;
  cursor: pointer;
}

.form-check-input.chk_beyond:checked {
  background-color: rgb(221, 68, 0);
  background-position-x: calc(100% - 10px);
  border: 1px solid rgb(221, 0, 0);
  box-shadow: 0px 0px 8px 2px rgb(255, 221, 34);
  filter: grayscale(0);
}

.form-check-input.chk_tera {
  width: 100px;
  height: 40px;
  background-image: url('/upload/asset/icons/테라버닝.png');
  background-size: 30px 34px;
  background-position-x: 10px;
  box-shadow: 0px 0px 1px 1px #aaa;
  filter: grayscale(1);
  transition: background-position .15s ease-in-out;
  cursor: pointer;
  margin-right: 3em;
}

.form-check-input.chk_tera:checked {
  background-color: rgb(255, 238, 119);
  background-position-x: calc(100% - 10px);
  border: 1px solid rgb(255, 51, 136);
  box-shadow: 0px 0px 8px 2px rgb(255, 73, 149);
  filter: grayscale(0);
}

.form-check-input.chk_sunshine {
  width: 100px;
  height: 40px;
  background-image: url('/upload/asset/icons/sunshine.png');
  background-size: 30px 34px;
  background-position-x: 10px;
  box-shadow: 0px 0px 1px 1px #aaa;
  filter: grayscale(1);
  transition: background-position .15s ease-in-out;
  cursor: pointer;
}

.form-check-input.chk_sunshine:checked {
  background-color: coral;
  background-position-x: calc(100% - 10px);
  border: 1px solid red;
  box-shadow: 0px 0px 8px 2px coral;
  filter: grayscale(0);
}


.page-link {
  color: white;
  background: linear-gradient(0, rgb(84, 95, 109), rgb(108, 119, 133));
  border: var(--bs-pagination-border-width) solid rgba(46, 53, 61, .4);
  text-shadow: 0px 1px 0px rgb(0, 0, 0);
}

.page-link:hover{
  color: white;
  text-shadow: 0px 0px 3px white;
}

.active>.page-link,.page-link.active{
  z-index:3;
  background: linear-gradient(0, rgb(54, 150, 181), rgb(54, 183, 208));
  border-color: white;
  text-shadow: 0px 0px 3px white;
}

@media screen and (max-width: 640px) {
  #frm_nickname .form-control[name='filter[keyword]'] {
    width: 100%;
    border-radius: 5px 5px 0 0!important;
  }

  #frm_nickname .form-select[name='filter[keyword_type]'] {
    width: 100%;
    border-radius: 0 0 5px 5px!important;
    margin-left: 0.47px;
  }

  #frm_nickname .page-link {
    font-size: 0.75rem;
  }
}

@media screen and (max-width: 800px) {
  #frm_nickname .chk_button label span.fs-5 {
    font-size: 1rem!important;
  }
}

#liberation .boss_title {
  position: absolute;
  text-align: end;
  bottom: 4px;
  right: 8px;
  font-size: 1em;
  font-weight: bold;
  text-shadow: 2px 2px 2px rgb(30, 38, 47);
}

#liberation .dropdown-item.dropdown-select {
  width: fit-content;
  padding: 5px 8px;
}

@media screen and (max-width: 480px) {
  #liberation .boss_icon {
    width: 100%;
    height: 100%;
  }

  #liberation .boss_title {
    display: none;
  }
}

img.img_monster {
  height: 100px;
}

img.img_map_monster {
  height: 2em;
}

img.img_symbol {
  height: 1em!important;
}




.checkbox.style-h {
  display: block;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.checkbox.style-h input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.checkbox.style-h input:checked ~ .checkbox__checkmark {
  background-color: #f7cb15;
}
.checkbox.style-h input:checked ~ .checkbox__checkmark:after {
  opacity: 1;
  top: -3px;
}
.checkbox.style-h input:checked ~ .checkbox__body {
  background-position: 0 0;
  color: #fff;
}
.checkbox.style-h:hover input ~ .checkbox__checkmark {
  background-color: #f7cb15;
}
.checkbox.style-h:hover input:checked ~ .checkbox__checkmark {
  background-color: #f7cb15;
}
.checkbox.style-h:hover .checkbox__body {
  box-shadow: 5px 5px 10px rgba(0,0,0,0.2);
}
.checkbox.style-h .checkbox__checkmark {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 15px;
  height: 22px;
  width: 22px;
  background-color: #f7cb15;
  transition: background-color 0.15s ease;
  border-radius: 4px;
  box-shadow: inset 2px 2px 4px rgba(0,0,0,0.1), inset -2px -2px 4px rgba(255,255,255,0.4);
}
.checkbox.style-h .checkbox__checkmark:after {
  content: "";
  position: absolute;
  left: 10px;
  top: -15px;
  width: 10px;
  height: 20px;
  border: solid #fff;
  border-width: 0 4px 4px 0;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 0.15s ease, top 0.15s ease;
}
.checkbox.style-h .checkbox__body {
  color: #333;
  line-height: 1.4;
  font-size: 16px;
  transition: font-weight 0.15s ease;
  font-weight: bold;
  color: #333;
  background: linear-gradient(45deg, #ff0070 0%, #f7cb15 50%, #f7cb15 50%, #f7cb15 100%);
  background-size: 200% 100%;
  background-position: 100% 0;
  padding: 15px;
  padding-left: 52px;
  border-radius: 10px;
  box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
  transition: box-shadow 0.15s ease, background 0.3s ease, color 0.15s ease;
}

/* 스크롤과 광고 위치에 따른 동적 조정 */
.util_nav.scroll-adjusted {
  top: 20px;
  transition: top 0.3s ease;
}

.util_nav.ad-aware {
  top: 200px; /* 광고 영역을 피해서 위치 조정 */
}

/* 작은 높이 화면에서 컴팩트 모드 */
@media screen and (max-height: 700px) {
  .util_nav {
    width: 200px;
    padding: 8px;
  }
  
  .util_nav .list_box .list_option {
    height: 35px;
    margin-bottom: 3px;
  }

  .util_nav .list_box .list_option img.list_thumb {
    max-width: 25px;
    max-height: 25px;
  }
  
  .util_nav .list_box .list_option .list_title {
    font-size: 12px;
  }
}