/* style css,  별난보고서 무료운세 style */

/* 테마 CSS 변수 — style.css가 mobile.css보다 먼저 로드되어도 var() 적용되도록 공통 정의 */
:root {
  --bg-primary: #fff;
  --bg-secondary: #eee;
  --bg-tertiary: #ddd;
  --bg-gray: #ccc;
  --text-primary: #212529;
  --text-secondary: #6c757d;
  --border-color: #ddd;
  --accent-color: #6195ce;
  --header-bg: #212020;
  --header-text: #ffffff;
  --link-color: #457db9;
  --link-hover: #1e61a8;
  --table-bg: #fff;
  --table-border: #dee2e6;
  --input-bg: #ffffff;
  --input-border: #ced4da;
  --button-bg: #1e61a8;
  --button-text: #ffffff;
  --notice: #fac091;
}
[data-theme="dark"] {
  --bg-primary: #111;
  --bg-secondary: #222;
  --bg-tertiary: #333;
  --bg-gray: #777;
  --text-primary: #ccc;
  --text-secondary: #bbb;
  --border-color: #404040;
  --accent-color: #6195ce;
  --header-bg: #000000;
  --header-text: #ffffff;
  --link-color: #93b4d8;
  --link-hover: #457db9;
  --table-bg: #2d2d2d;
  --table-border: #404040;
  --input-bg: #2d2d2d;
  --input-border: #404040;
  --button-bg: #1e61a8;
  --button-text: #ccc;
  --notice: #da9963;
}

/* 반응형 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;
 } 
}

/* 재물운 역할 선택 — 레거시 .custom-btn 좁은 width 예외 (앱 WebView 포함) */
.custom-btn.money-role-btn,
#moneyPrint .money-role-btn,
#moneyPrint .custom-btn.money-role-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 250px !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 48px !important;
  margin: 6px auto !important;
  padding: 12px 14px !important;
  line-height: 1.35 !important;
  text-align: center;
  white-space: normal;
}
.custom-btn.money-role-btn .money-role-btn__label,
.custom-btn.money-role-btn h3 {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 0.95em;
  font-weight: 600;
  line-height: 1.35;
  color: inherit;
  white-space: normal;
}

/* 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(--bg-secondary) solid;
  border-radius:10px;
  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;
    }    
}


/* 우하단 공유 FAB (표준 공유 아이콘 · 탭으로 열기) */
.wr-share-fab,
.dropup {
  position: fixed;
  right: 15px;
  bottom: 90px;
  z-index: 99;
}

.wr-share-fab__btn,
.dropup .dropbtn {
  width: 40px;
  height: 40px;
  padding: 0;
  margin: 0;
  border: 1px solid #888;
  border-radius: 50%;
  background: #555;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  box-sizing: border-box;
  box-shadow: 1px 2px 5px rgba(191, 191, 191, 0.4);
  opacity: 0.92;
}

.wr-share-fab__btn:hover,
.dropup .dropbtn:hover,
.wr-share-fab.is-open .wr-share-fab__btn {
  background: #3e95ab;
  border-color: #3e95ab;
  color: #fff;
  opacity: 1;
}

.wr-share-fab__menu,
.dropup-content {
  display: none;
  position: absolute;
  right: 0;
  bottom: 48px;
  z-index: 2;
  padding: 8px 6px;
  border-radius: 10px;
  background: var(--bg-primary, #fff);
  border: 1px solid var(--border-color, #c9c0b4);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.14);
}

.wr-share-fab.is-open .wr-share-fab__menu,
.dropup.is-open .dropup-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.wr-share-fab__menu a,
.dropup-content a {
  display: block;
  padding: 0;
  line-height: 0;
  text-decoration: none;
}

.wr-share-fab__backdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 98;
  background: transparent;
}

.wr-share-fab.is-open + .wr-share-fab__backdrop,
.wr-share-fab__backdrop.is-open {
  display: block;
}

/*기타*/
.share {
  width: 40px;
  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: 60px;
    height: 60px;
    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, #mC7, #mC8) {
    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;
  }
  #mC7 {
    animation-delay: 1.05s;
  }
  #mC8 {
    animation-delay: 1.1s;
  }
  @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:85px;
  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: 8px;
}

.banner_btn div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.banner_btn p {
  font-size: 1.1em;
  line-height: 1.4;
  margin: 0;
}

/* 지그재그 배경색 적용 */
.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:nth-child(7) { background: var(--bg-secondary); }
.banner_btn:nth-child(8) { 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:70px;
      border-radius:10px;
      padding: 6px;
  }
  
  .banner_4buttons i {
      font-size: 25px;
      margin-bottom: 6px;
  }
  
  .banner_btn p {
      font-size: 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);
}

/* Pro 하단 버튼 스타일 */
.pro-bottom-btn-left,
.pro-bottom-btn-right,
.action-btn.pro-bottom-btn-left,
.action-btn.pro-bottom-btn-right,
.api-button.pro-bottom-btn-left,
.api-button.pro-bottom-btn-right {
    display: inline-block;
    width: 150px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    text-decoration: none;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
    transition: background-color 0.3s, opacity 0.3s;
    border: none;
    cursor: pointer;
    box-sizing: border-box;
    padding: 0;
}

/* 좌측 버튼: 전문가프로그램 소개 (청색) */
.pro-bottom-btn-left,
.action-btn.pro-bottom-btn-left,
.api-button.pro-bottom-btn-left {
    background-color: #3498db;
    color: #ffffff;
}

.pro-bottom-btn-left:hover,
.action-btn.pro-bottom-btn-left:hover,
.api-button.pro-bottom-btn-left:hover {
    background-color: #2980b9;
    color: #dbe8ee;
    opacity: 0.9;
}

/* 우측 버튼: 역학정보 API 문서 (녹색) */
.pro-bottom-btn-right,
.action-btn.pro-bottom-btn-right,
.api-button.pro-bottom-btn-right {
    background-color: #27ae60;
    color: #ffffff;
}

.pro-bottom-btn-right:hover,
.action-btn.pro-bottom-btn-right:hover,
.api-button.pro-bottom-btn-right:hover {
    background-color: #229954;
    color: #dceedb;
    opacity: 0.9;
}

/* 버튼 컨테이너 */
.pro-bottom-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 40px;
    padding-top: 30px;
    /* border-top: 1px solid var(--border-color); */
}

/* 푸터 관리자: 자동발행 / 생성 — 최하단 중앙 */
#ft .wr-ft-admin,
#ft #ft_copy.wr-ft-admin {
  display: flex !important;
  justify-content: center !important;
  align-items: center;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 12px 0 24px;
  text-align: center;
  box-sizing: border-box;
}
#ft .wr-ft-admin-nav,
#ft_copy .wr-ft-admin-nav {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin: 0 auto;
  font-size: 0.85em;
  width: auto;
}
.wr-ft-admin-sep {
  color: var(--text-secondary, #6c757d);
  opacity: 0.6;
}
.wr-ft-admin-num {
  display: inline-block;
  margin-left: 3px;
  padding: 0 5px;
  line-height: 14px;
  border-radius: 10px;
  background: #ef4444;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  vertical-align: middle;
}
.wr-ft-admin-cog {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05em;
  line-height: 1;
}
.wr-ft-admin-cog .fa {
  vertical-align: middle;
}
.wr-admin-link {
  color: var(--text-secondary, #6c757d) !important;
  text-decoration: none;
}
.wr-admin-link:hover {
  color: var(--link-hover, #1e61a8) !important;
  text-decoration: underline;
}

/* 관리자 접속통계 플로팅 — 글쓰기/채팅 FAB(bottom:145) 위 */
.wr-visit-float {
  position: fixed;
  right: 0;
  bottom: 200px; /* 145 + 40 + 15 */
  z-index: 98;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  box-sizing: border-box;
}

.wr-visit-float__panel {
  width: 200px;
  margin-right: 16px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  transition: transform 0.35s ease, opacity 0.28s ease;
  will-change: transform;
}

.wr-visit-float.is-closed .wr-visit-float__panel {
  transform: translateX(calc(100% + 24px));
  opacity: 0;
  pointer-events: none;
}

.wr-visit-float__close {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #1f2937;
  color: #f9fafb;
  font-size: 18px;
  line-height: 26px;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
.wr-visit-float__close:hover {
  background: #111827;
  color: #fff;
}

.wr-visit-float__inner {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  padding: 14px 14px 12px;
  background: #374151;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.28);
  color: #f3f4f6;
}

.wr-visit-float__title {
  margin: 0 0 10px;
  padding: 0;
  padding-right: 22px;
  border: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: #ffffff;
}

.wr-visit-float__list {
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 12px;
  row-gap: 6px;
  margin: 0;
  padding: 0;
}

.wr-visit-float__list dt,
.wr-visit-float__list dd {
  margin: 0;
  padding: 0;
  float: none;
  width: auto;
  height: auto;
  font-size: 13px;
  line-height: 1.45;
}

.wr-visit-float__list dt {
  color: #e5e7eb;
  text-align: left;
}

.wr-visit-float__list dd {
  color: #93c5fd;
  font-weight: 700;
  text-align: right;
}

.wr-visit-float__admin {
  position: absolute;
  top: 10px;
  right: 10px;
  color: #cbd5e1;
  font-size: 14px;
  text-decoration: none;
}

.wr-visit-float__admin:hover {
  color: #ffffff;
}

/* 접힌 상태: 우측 세로 '접속' 탭 */
.wr-visit-float__tab {
  display: none;
  flex-shrink: 0;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: 0.2em;
  padding: 14px 7px;
  margin: 0;
  border: 0;
  border-radius: 8px 0 0 8px;
  background: #374151;
  color: #f3f4f6;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: -2px 4px 12px rgba(15, 23, 42, 0.22);
}
.wr-visit-float__tab:hover {
  background: #1f2937;
  color: #fff;
}
.wr-visit-float.is-closed .wr-visit-float__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 480px) {
  .wr-visit-float {
    bottom: 200px;
  }

  .wr-visit-float__panel {
    width: 180px;
    margin-right: 12px;
  }

  .wr-visit-float__inner {
    padding: 12px;
  }
}
#ft_copy:not(.wr-ft-admin) {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 16px;
  text-align: center;
}
#ft_copy .wr-ft-copy-main {
  width: 100%;
  text-align: center;
  margin: 0;
}
