/* style css,  별난보고서 무료운세 style */

/* 반응형 Reactive 테마 추가 css */
.mediaContainer {
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  background-color: var(--bg-primary);
  color: var(--text-primary);
  text-align: center;
  margin-top: 30px;
  margin-bottom: 30px;
}


/* input, button, select */
#user-input {
  display: flex;
  max-width:450px;
  margin: 0 auto;
  padding: 10px;
}
.input {
  flex: 1;
  border: none;
  border-radius: 5px;
  background-color: var(--input-bg);
  color: var(--text-primary);
  margin: 5px;
  padding: 7px 7px;
  outline: none;
}
.input-wide {
  /* flex: 1; */
  width: 100%;
  border: none;
  border-radius: 5px;
  background-color: var(--input-bg);
  color: var(--text-primary);
  margin: 5px;
  padding: 7px 7px;
  outline: none;
}
.input2 {
  flex: 1;
  border: none;
  border-radius: 5px;
  color: var(--text-primary);
  background-color: var(--bg-secondary);
  margin: 5px;
  padding: 7px 7px;
  outline: none;
}
.button {
  border: none;
  border-radius: 5px;
  background-color: var(--button-bg);
  color: var(--button-text);
  margin: 5px;
  padding: 7px 7px;
  cursor: pointer;  
  box-shadow:
   -3px -3px 10px 0px #fff8,
   -2px -2px 3px 0px #fff8,
   3px 3px 10px 0px #0002,
   2px 2px 3px 0px #0001;
}
select {
  max-width: 200px;
  border-radius: 5px;
  border: none;
  background-color: var(--input-bg);
  color: var(--text-primary);
  margin: 3px;
  padding: 5px 2px;
  outline: none;
}

.btn {width:100%; max-width: 650px; margin: 0 auto; padding: 0; text-align: center;}

#meDetailButton {width:100%;max-width:600px;height:35px;margin:0 auto;background:gold;border:none;}




/* 날짜 선택 영역 스타일 추가 */
#dateSelect {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 5px;
}

/* 연/월/일 선택 */
#yearSelect,
#monthSelect,
#daySelect {
  flex: 1 1 auto;
  min-width: 60px;
  max-width: 80px;
}

/* 시간/분 선택 그룹 */
.time-select-group {
  display: flex;
  flex: 0 0 auto; /* 크기 고정 */
  gap: 5px;
  white-space: nowrap; /* 줄바꿈 방지 */
}

/* 시간/분 선택 */
#hourSelect,
#minuteSelect {
  flex: 0 0 auto;
  min-width: 70px;
}

/* 반응형 조정 */
@media screen and (max-width: 500px) {
  #dateSelect {
      gap: 3px;
  }
  
  #yearSelect,
  #monthSelect,
  #daySelect {
      min-width: 70px;
  }
}



/* 버튼 기본 */

/* input 버튼 기본 */
.custom-btn {
  display: inline-block;
  position: relative;
  width: 130px;
  height: 30px;
  margin: 5px 4px;
  padding: 0;
  border-radius: 5px;
  font-size: 0.85em;
  font-weight: 500;
  background: transparent;
  cursor: pointer;
  transition: all 0.3s ease;
}
@media screen and (max-width: 900px) {
  .custom-btn {
   width: 110px;
 } 
} 
@media screen and (max-width: 600px) {
  .custom-btn {
   width: 80px;
 } 
}
@media screen and (max-width: 400px) {
  .custom-btn {
   width: 65px;
 } 
}

/* ready 버튼 */
.btn-0 {
  width: 200px;
  border-radius: 15px;
  background: #8fa3b6;
  border: 0px solid #555;
  color: #000;
  vertical-align: middle;
  box-shadow:
   -3px -3px 10px 0px #fff8,
   -2px -2px 3px 0px #fff8,
   3px 3px 10px 0px #0002,
   2px 2px 3px 0px #0001;
}
.btn-0:hover {
  background: rgb(96, 117, 141);
  border: none;
  color: #fff;
}

/* 버튼 4종 */
.btn-5 {
    background: #e5e5e5;
    border: 0px solid rgb(96, 118, 143);
    color: rgb(78, 95, 116);
    box-shadow:
     -3px -3px 10px 0px #fff8,
     -2px -2px 3px 0px #fff8,
     3px 3px 10px 0px #0004,
     2px 2px 3px 0px #0002;
  }
  .btn-5:hover {
    background: rgb(96, 118, 143);
    border: none;
    color: #fff;
  }
/* love 버튼 */
.btn-4 {
  background: rgb(202, 110, 133);
  border: none;
  color: #fff;
  cursor: default;
} 
/* money 버튼 */
.btn-3 {
  background: rgb(202, 173, 110);
  border: none;
  color: #fff;
  cursor: default;
} 
/* now 버튼 */
.btn-2 {
  background: #333;
  border: none;
  color: #fff;
}
.btn-2:hover {
  background: transparent;
  border: 1px solid #333;
  color: #333;
  box-shadow:
  -3px -3px 10px 0px #fff8,
  -2px -2px 3px 0px #fff8,
  3px 3px 10px 0px #0002,
  2px 2px 3px 0px #0001;
} 
/* lifetime 버튼 */
.btn-1 {
  background: rgb(110, 132, 202);
  border: none;
  color: #fff;
  cursor: default;
}
/* 버튼 4종 - 끝 */


/* gray 투명 버튼 */
.btn-gray {
  background: transparent;
  border: 1px solid #555;
  color: #fff;
  box-shadow:
  -3px -3px 10px 0px #fff8,
  -2px -2px 3px 0px #fff8,
  3px 3px 10px 0px #0002,
  2px 2px 3px 0px #0001;
}
.btn-gray:hover {
  background: #555;
  border: 1px solid #555;
  color: #fff;
} 



/* life, me */
.btn-f {
  width: 200px;
  border-radius: 15px;
  background: rgb(241, 118, 180);
  border: none;
  color: #000;
  box-shadow:
   -3px -3px 10px 0px #fff8,
   -2px -2px 3px 0px #fff8,
   3px 3px 10px 0px #0002,
   2px 2px 3px 0px #0001;
}
.btn-f:hover {
  background: rgb(228, 73, 151);
  border: none;
  color: #fff;
}
.btn-m {
  width: 200px;
  border-radius: 15px;
  background: #777;
  border: none;
  color: white;
  box-shadow:
   -3px -3px 10px 0px #fff8,
   -2px -2px 3px 0px #fff8,
   3px 3px 10px 0px #0002,
   2px 2px 3px 0px #0001;
}
.btn-m:hover {
  background: black;
  border: none;
  color: #fff;
}




/* 정사각 박스1 */
.square {width:100%; margin:0 auto; padding: 0}

.square1-box {
  display: inline-block;
  width: 14vw;
  height: 14vw;
  max-width: 80px;
  max-height: 80px;
  padding: 5px;
  font-size: 13px;
  text-align: left;
  color: #eee;
  border: none;
  border-radius: 5px;
  background-color: #111;
  transition: all 0.5s linear;
}
.square1-box:hover {
  transform: rotate( -270deg )
}

.square2-box {
  display: inline-block;
  width: 14vw;
  height: 14vw;
  max-width: 80px;
  max-height: 80px;
  padding: 5px;
  font-size: 13px;
  text-align: left;
  color: white;
  border: none;
  border-radius: 5px;
  background-color: #333;
  transition: all 0.5s linear;
}
.square2-box:hover {
  transform: rotate( 270deg )
}

/* gen 버튼 */
.gen_box {
  width:100%;
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border:1px var(--border-color) solid;
  border-radius:5px;
  text-align: center;
}
.gen_box2 {
  width:90%;
  max-width: 500px;
  color: var(--text-primary);
  background-color: var(--bg-secondary);
  border:3px var(--border-color) solid;
  border-radius:5px;
  text-align: center;
}

.gen1-box {
    width: 70px;
    height: 70px;
    text-align: left;
    padding: 10px;
    color: white;
    border: none;
    border-radius: 5px;
    background-color: #333;
    transition: all 0.3s linear;
  }
  .gen1-box:hover {
    transform: rotate( 90deg )
  }
/* gen2 버튼 */
.gen2-box {
    width: 70px;
    height: 70px;
    text-align: left;
    padding: 10px;
    color: #eee;
    border: none;
    border-radius: 5px;
    background-color: #111;
    transition: all 0.3s linear;
  }
  .gen2-box:hover {
    transform: rotate( -90deg )
  }

  
/* gen3 버튼 */
.gen3-box {
  width: 190px;
  height: 65px;
  padding: 15px;
  color: #eee;
  border: none;
  border-radius: 5px;
  background-color: royalblue;
  transition: all 0.3s linear;
}
.gen3-box:hover {
  box-shadow: inset 3px 3px 10px 5px black;
}
.gen3-box h3:hover {text-shadow: 3px 4px 5px black;}



/* gen 원형버튼 */
.gen_circle {
  width:100%; 
  text-align: center;
  vertical-align: baseline;
}
.gen1-circle {
  display: inline-block;
  width: auto;
  aspect-ratio: 1/1;
  margin: 3px;
  padding: 5px 5px;
  word-break: break-all;
  color: #000;
  background: #bbb;
  border: 5px dotted #fff;
  transition: all 0.3s linear;
}
.gen1-circle:hover {
  cursor: pointer;
  /* color: gold; */
  transform: rotate( 90deg )
}
/* gen2 버튼 */
.gen2-circle {
  display: inline-block;
  width: auto;
  aspect-ratio: 1/1;
  margin: 3px;
  padding: 5px 5px;
  word-break: break-all;
  color: #eee;
  background: #333;
  border: 5px dotted #fff;
  transition: all 0.3s linear;
}
.gen2-circle:hover {
  cursor: pointer;
  /* color: rgb(170, 145, 0); */
  transform: rotate( -90deg )
}



/* 글씨 반짝거림 효과 */
.textFlickerRed {    
  animation: flickerRed 10s infinite alternate;
}
@keyframes flickerRed {
  
  18%, 22%, 25%, 53%, 57% {
      text-shadow:
      0 0 7px red,
      0 0 13px orange,
      0 0 20px yellow,
      0 0 35px tomato;   
  }
  
  16%, 69% {text-shadow: 0 0 7px blue, 0 0 15px orange, 0 0 25px yellow, 0 0 35px tomato;}
  14%, 71% {text-shadow: 0 0 5px red, 0 0 13px orange, 0 0 18px yellow;}
  12%, 73% {text-shadow: 0 0 10px blue, 0 0 18px orange;}
  7%, 85% {text-shadow: 0 0 5px red, 0 0 13px orange, 0 0 20px yellow;}
  
  0%, 20%, 24%, 55%, 75% {        
      text-shadow: none;
  }    
}

.textFlickerGray {    
  animation: flickerGray 10s infinite alternate;
}
@keyframes flickerGray {
  
  18%, 22%, 25%, 53%, 57% {
      text-shadow:
      0 0 3px #8ea6b1,
      0 0 6px #7c949c,
      0 0 11px #8498a1,
      0 0 18px #8ca1a7;   
  }
  
  16%, 69% {text-shadow: 0 0 5px #8ea6b1, 0 0 9px #7c949c, 0 0 13px #8498a1;}
  14%, 71% {text-shadow: 0 0 5px #8ea6b1, 0 0 9px #7c949c;}
  12%, 73% {text-shadow: 0 0 5px #8ea6b1;}
  
  0%, 20%, 24%, 55%, 75% {        
      text-shadow: none;
  }    
} 

.textFlickerGold {
  font-size: 50px;
  color: rgb(150, 94, 30);    
  animation: flickerGold 5s infinite alternate;
}
@keyframes flickerGold {
    
    18%, 22%, 25%, 53%, 57% {
        text-shadow:
        0 0 5px #b1a28e,
        0 0 8px #9c8f7c,
        0 0 15px #a19784,
        0 0 25px #a79c8c;   
    }
    
    16%, 69% {text-shadow: 0 0 8px #b1a28e;}
    14%, 71% {text-shadow: 0 0 8px #b1a38e, 0 0 15px #9c8e7c, 0 0 20px #a19884;}
    12%, 73% {text-shadow: 0 0 8px #b1a58e, 0 0 15px #9c8e7c;}
    
    0%, 20%, 24%, 55%, 75% {        
        text-shadow: none;
    }    
}


/*드롭다운 공유버튼*/
.dropup {
	position: fixed; 
  right: 15px; 
  bottom:125px;
	display: inline-block;
  z-index: 99;
  /*opacity: 0.8;*/
}
.dropbtn {
	background-color:rgba(255, 255, 255, 0);
	padding: 0px;
	border: none;
}
.dropup-content {
	display: none;
	position: absolute;
	background-color: none;
	bottom: 50px;
	z-index: 1;
}
.dropup-content a {
	color: none;
	padding: 0px 0px 5px 0px;
	text-decoration: none;
	display: block;
}
.dropup-content a:hover {
    background-color: none;
}
.dropup:hover .dropup-content {
  display: block;
}
.dropup:hover .dropbtn {
  background-color: none;
}

/*기타*/
.share {
  width: 50px; 
  height: auto;
  opacity: 0.9;
}
.pointer {
  cursor: pointer;
}



/* div style */

.divCenter {
  /* width: 75vw; */
  margin-left: auto;
  margin-right: auto;
}
.divText {
  width: 100%;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  padding: 15px 15px;
  text-align: left;
  background: var(--bg-primary);
  color: var(--text-primary);
}

.divPurple {
  width: 100%; 
  padding: 20px; 
  text-align: left;
  border-radius: 5px;
  background: var(--bg-secondary);
  color: var(--text-primary);
}
.divGrey {
  width: 100%; 
  padding: 20px; 
  border-radius: 5px;
  background: var(--bg-secondary);
  color: var(--text-primary);
}
.divBlue {
  width: 100%; 
  padding: 20px; 
  border-radius: 5px;
  background: var(--bg-secondary);
  color: var(--text-primary);
}
.divGreen {
  width: 100%; 
  padding: 20px; 
  border-radius: 5px;
  background: var(--bg-secondary);
  color: var(--text-primary);
}
.divRed {
  width: 100%; 
  padding: 20px; 
  border-radius: 5px;
  background: var(--bg-secondary);
  color: var(--text-primary);
}



/* .divTitle0 {
  display: block;
  max-width: 95vw;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color:#ffffff;
  background: linear-gradient( to right, 
  #d0d0d0 5%, rgb(165, 165, 165) 10%, black 15%, 
  #cfcbcb 25%, black 40%, #d0d0d0 95% );
}
.divTitle1 {
  display: block;
  max-width: 95vw;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color:#ffffff;
  background: linear-gradient( to right, 
  rgb(255, 255, 255) 5%, #717fad 17%, black 27%, 
  rgb(168, 168, 168) 40%, black 60%, white 95% );
}
.divTitle2 {
  display: block;
  max-width: 95vw;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color:#ffffff;
  background: linear-gradient( to right, 
  rgb(255, 255, 255) 5%, black 15%, #74a86e 33%, 
  #74a86e 40%, black 70%, white 95% );
}
.divTitle3 {
  display: block;
  max-width: 95vw;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color:#ffffff;
  background: linear-gradient( to right, 
  rgb(255, 255, 255) 5%, black 38%, #a1915d 65%, 
  #d4cfc4 78%, black 85%, white 95% );
}
.divTitle4 {
  display: block;
  max-width: 95vw;
  margin-left: auto;
  margin-right: auto; 
  text-align: center;
  color:#ffffff;
  background: linear-gradient( to right, 
  rgb(255, 255, 255) 5%, black 40%, rgb(143, 143, 143) 60%, 
  black 73%, #b38191 83%, white 95% );
} */
 
.divTitle0 {color: var(--text-secondary);}
.divTitle1 {color: var(--text-secondary);}
.divTitle2 {color: var(--text-secondary);}
.divTitle3 {color: var(--text-secondary);}
.divTitle4 {color: var(--text-secondary);}


/*div Me 원형*/
.me_color {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  box-shadow: inset 1px 1px 20px #00000095;
  background-color: rgb(127, 127, 127);
}  
:is(#meC1) {
  animation: meCircle 1s ease;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  animation-delay: 0.5s;
}
@keyframes meCircle {
  0% {
    transform: translateY(0%);
  }
  25% {
    transform: translateY(7%);
  }
  45% {
    transform: translateY(0%);
  }
  62% {
    transform: translateY(3%);
  }
  80% {
    transform: translateY(0%);
  }
  91% {
    transform: translateY(1%);
  }
  100% {
    transform: translateY(0%);
  }
}


/*div 원형*/
.circle {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: rgb(127, 127, 127);
    box-shadow: 3px 3px 5px rgb(133, 133, 133);
  }

  :is(#c1, #c2, #c3, #c4, #c5, #c6) {
    animation: birthCircle 1s ease;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
  }
  #c1 {
    animation-delay: 0.5s;
  }
  #c2 {
    animation-delay: 0.6s;
  }
  #c3 {
    animation-delay: 0.7s;
  }
  #c4 {
    animation-delay: 0.8s;
  }
  #c5 {
    animation-delay: 0.9s;
  }
  #c6 {
    animation-delay: 1.0s;
  }
  @keyframes birthCircle {
    0% {
      transform: translateX(0%);
    }
    25% {
      transform: translateX(16%);
    }
    50% {
      transform: translateX(0%);
    }
    75% {
      transform: translateX(8%);
    }
    100% {
      transform: translateX(0%);
    }
  }

  :is(#nC1, #nC2, #nC3, #nC4, #nC5, #nC6) {
    animation: nowCircle 1s ease;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
  }
  #nC1 {
    animation-delay: 0.5s;
  }
  #nC2 {
    animation-delay: 0.6s;
  }
  #nC3 {
    animation-delay: 0.7s;
  }
  #nC4 {
    animation-delay: 0.8s;
  }
  #nC5 {
    animation-delay: 0.9s;
  }
  #nC6 {
    animation-delay: 1.0s;
  }
  @keyframes nowCircle {
    0% {
      transform: translateX(0%);
    }
    25% {
      transform: translateX(16%);
    }
    50% {
      transform: translateX(0%);
    }
    75% {
      transform: translateX(8%);
    }
    100% {
      transform: translateX(0%);
    }
  }

  :is(#mC1, #mC2, #mC3, #mC4, #mC5, #mC6) {
    animation: moneyCircle 1s ease;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
  }
  #mC1 {
    animation-delay: 0.5s;
  }
  #mC2 {
    animation-delay: 0.6s;
  }
  #mC3 {
    animation-delay: 0.7s;
  }
  #mC4 {
    animation-delay: 0.8s;
  }
  #mC5 {
    animation-delay: 0.9s;
  }
  #mC6 {
    animation-delay: 1.0s;
  }
  @keyframes moneyCircle {
    0% {
      transform: translateX(0%);
    }
    25% {
      transform: translateX(16%);
    }
    50% {
      transform: translateX(0%);
    }
    75% {
      transform: translateX(8%);
    }
    100% {
      transform: translateX(0%);
    }
  }

  :is(#lC1, #lC2, #lC3, #lC4, #lC5, #lC6) {
    animation: loveCircle 1s ease;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
  }
  #lC1 {
    animation-delay: 0.5s;
  }
  #lC2 {
    animation-delay: 0.6s;
  }
  #lC3 {
    animation-delay: 0.7s;
  }
  #lC4 {
    animation-delay: 0.8s;
  }
  #lC5 {
    animation-delay: 0.9s;
  }
  #lC6 {
    animation-delay: 1.0s;
  }
  @keyframes loveCircle {
    0% {
      transform: translateX(0%);
    }
    25% {
      transform: translateX(16%);
    }
    50% {
      transform: translateX(0%);
    }
    75% {
      transform: translateX(8%);
    }
    100% {
      transform: translateX(0%);
    }
}



/* wr 스타일 */

/* img 관련, 줄바꿈 방지 */
.love_mate {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  /* max-width: 80vw; */
}
.now_nature {
  white-space: nowrap;
  overflow: auto;
}
.me_nature {
  margin: 0 auto;
}
.me_nature2, .me_gen2, .life_nature2 {text-align: left;}

.life_nature {
  white-space: nowrap;
  overflow: auto;
}
.now_animal {
  white-space: nowrap;
  overflow: auto;
}
.me_animal {
  white-space: nowrap;
  overflow: auto;
}
.life_animal {
  white-space: nowrap;
  overflow: auto;
}



/*intro 갓.이미지*/
.inImg {
  animation: fadein 3s;
  -moz-animation: fadein 3s;
  /* Firefox */
  -webkit-animation: fadein 3s;
  /* Safari and Chrome */
  -o-animation: fadein 3s;
  /* Opera */
}
@keyframes fadein {
  from {
      opacity: 0;
      transform: translateY(-100%);
  }
  to {
    opacity: 1;
  }
}
@-moz-keyframes fadein {
  /* Firefox */
  from {
    opacity: 0;
    transform: translateY(-100%);
}
to {
  opacity: 1;
}
}
@-webkit-keyframes fadein {
  /* Safari and Chrome */
  from {
    opacity: 0;
    transform: translateY(-100%);
}
to {
  opacity: 1;
}
}
@-o-keyframes fadein {
  /* Opera */
  from {
    opacity: 0;
    transform: translateY(-100%);
}
to {
  opacity: 1;
}
}



.banner_4buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  align-items: center;
  padding: 10px;
}

.banner_4buttons i {
  font-size: 24px;
  display: block;
  margin-bottom: 8px;
}

.banner_btn {
  width:calc(33% - 8px);
  height:110px;
  background: var(--bg-secondary);
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
  color: var(--text-primary);
  font-weight:bold;
  transition:all 0.3s ease;
  padding: 10px;
}

.banner_btn div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.banner_btn p {
  font-size: 1.3em;
  line-height: 1.5;
}

/* 지그재그 배경색 적용 */
.banner_btn:nth-child(1) { background: var(--bg-secondary); }
.banner_btn:nth-child(2) { background: var(--bg-primary); }
.banner_btn:nth-child(3) { background: var(--bg-secondary); }
.banner_btn:nth-child(4) { background: var(--bg-primary); }
.banner_btn:nth-child(5) { background: var(--bg-secondary); }
.banner_btn:nth-child(6) { background: var(--bg-primary); }

.banner_btn:hover {
  cursor: pointer;
  color: var(--button-text);
  background: var(--button-bg) !important;
  transform:translateY(-2px);
  box-shadow:0 2px 5px rgba(0,0,0,0.1);
}

/* 모바일 화면 대응 */
@media screen and (max-width: 768px) {
  .banner_4buttons {
      gap: 12px;
      padding: 12px;
  }
  
  .banner_btn {
      /* width:calc(33% - 6px); */
      height:100px;
      border-radius:10px;
      padding: 8px;
  }
  
  .banner_4buttons i {
      font-size: 25px;
      margin-bottom: 6px;
  }
  
  .banner_btn p {
      font-size: 1.1em;
  }
}


.btn-small {
  font-size: 0.8em;
  padding: 3px 10px;
  border-radius: 10px;
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  cursor: pointer;
  border: 1px solid var(--border-color);
}
.btn-small:hover {
  background-color: var(--button-bg);
  color: var(--button-text);
}
