/* ==================================================
   한글탐험대 STEP 7-1B
   월드 메뉴 잠금·해금
   ================================================== */

.menuBtn.worldMenuButton{
  position:relative;
  overflow:hidden;
  min-height:68px;
  padding-right:112px;
  transition:
    transform .2s ease,
    opacity .2s ease,
    filter .2s ease,
    box-shadow .2s ease;
}

.menuBtn.worldMenuButton.worldUnlocked{
  cursor:pointer;
}

.menuBtn.worldMenuButton.worldUnlocked:hover{
  transform:translateY(-2px);
}

.menuBtn.worldMenuButton.worldCurrent{
  outline:4px solid rgba(255,215,68,.72);
  outline-offset:2px;
  box-shadow:
    0 7px 0 rgba(74,52,18,.2),
    0 0 20px rgba(255,210,42,.38);
}

.menuBtn.worldMenuButton.worldCurrent::after{
  content:"현재 탐험";
  position:absolute;
  top:50%;
  right:12px;
  transform:translateY(-50%);
  padding:7px 10px;
  border:2px solid rgba(255,255,255,.9);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#5a4282;
  font-size:12px;
  font-weight:1000;
  white-space:nowrap;
  box-shadow:0 3px 8px rgba(30,20,40,.16);
}

.menuBtn.worldMenuButton.worldLocked{
  cursor:not-allowed;
  opacity:.76;
  filter:grayscale(.18);
  box-shadow:
    0 5px 0 rgba(65,53,72,.15);
}

.menuBtn.worldMenuButton.worldLocked::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(255,255,255,.08) 0,
      rgba(255,255,255,.08) 8px,
      rgba(70,55,80,.05) 8px,
      rgba(70,55,80,.05) 16px
    );
  pointer-events:none;
}

.menuBtn.worldMenuButton.worldLocked::after{
  content:"🔒 다음 탐험";
  position:absolute;
  z-index:2;
  top:50%;
  right:12px;
  transform:translateY(-50%);
  padding:7px 10px;
  border:2px solid #e7ddec;
  border-radius:999px;
  background:#fff;
  color:#66546e;
  font-size:12px;
  font-weight:1000;
  white-space:nowrap;
  box-shadow:0 3px 8px rgba(30,20,40,.16);
}

.menuBtn.worldMenuButton.worldHidden{
  display:none !important;
}

.worldMenuName{
  display:block;
  margin-left:7px;
  font-size:12px;
  font-weight:1000;
  line-height:1.25;
  opacity:.88;
}

.worldLockToast{
  position:fixed;
  z-index:100000;
  left:50%;
  bottom:28px;
  width:min(430px,calc(100% - 30px));
  box-sizing:border-box;
  padding:17px 18px;
  border:4px solid #d9c2f1;
  border-radius:22px;
  background:
    linear-gradient(
      145deg,
      #fff,
      #f7efff
    );
  color:#493657;
  box-shadow:
    0 14px 38px rgba(38,20,50,.3);
  text-align:center;
  opacity:0;
  pointer-events:none;
  transform:
    translate(-50%,30px)
    scale(.86);
}

.worldLockToast.show{
  animation:
    worldLockToastIn .45s
    cubic-bezier(.2,1.35,.4,1)
    forwards,
    worldLockToastOut .4s ease
    3.2s forwards;
}

.worldLockToastEmoji{
  display:block;
  margin-bottom:5px;
  font-size:38px;
}

.worldLockToastTitle{
  display:block;
  color:#67408a;
  font-size:19px;
  font-weight:1000;
}

.worldLockToastMessage{
  display:block;
  margin-top:6px;
  font-size:14px;
  font-weight:900;
  line-height:1.5;
}

.worldMenuLoading .worldMenuButton{
  visibility:hidden;
}

.worldMenuErrorNotice{
  margin:8px 0 13px;
  padding:10px 12px;
  border:2px solid #ffc4c4;
  border-radius:13px;
  background:#fff1f1;
  color:#a33838;
  font-size:13px;
  font-weight:900;
  line-height:1.45;
}

@keyframes worldLockToastIn{
  0%{
    opacity:0;
    transform:
      translate(-50%,30px)
      scale(.86);
  }

  70%{
    opacity:1;
    transform:
      translate(-50%,-4px)
      scale(1.04);
  }

  100%{
    opacity:1;
    transform:
      translate(-50%,0)
      scale(1);
  }
}

@keyframes worldLockToastOut{
  from{
    opacity:1;
    transform:
      translate(-50%,0)
      scale(1);
  }

  to{
    opacity:0;
    transform:
      translate(-50%,22px)
      scale(.92);
  }
}

@media(max-width:560px){
  .menuBtn.worldMenuButton{
    padding-right:95px;
  }

  .menuBtn.worldMenuButton.worldCurrent::after,
  .menuBtn.worldMenuButton.worldLocked::after{
    right:7px;
    padding:6px 7px;
    font-size:10px;
  }
}

@media(prefers-reduced-motion:reduce){
  .menuBtn.worldMenuButton,
  .worldLockToast,
  .worldLockToast.show{
    animation:none !important;
    transition:none !important;
  }

  .worldLockToast.show{
    opacity:1;
    transform:translate(-50%,0);
  }
}



