.modal {
  font-size: initial;
}

#eventAlertModal .modal-body {
  margin: 0 auto;
  width: 6rem;
  height: 5.34rem;
  background: url(https://res1-nte.iwplay.com.tw/images/pop/popCont_alert.png)
    no-repeat 0 0;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 1.6rem;
  border-radius: 0.28rem;
}
#eventAlertModal .modal-body p {
  margin-bottom: 0.2rem;
  font-size: 0.3rem;
}

/* otherPlatform */
.otherPlatform {
  display: flex;
}
.otherPlatform a {
  position: relative;
  margin: 0 0.09rem;
  width: 0.66rem;
  height: 0.66rem;
  background: url(https://res1-nte.iwplay.com.tw/images/otherPlatform.png)
    no-repeat;
  background-position-y: 0;
  background-size: auto 200%;
}
.otherPlatform .platform_twitter {
  background-position-x: 0;
}
.otherPlatform .platform_facebook {
  background-position-x: -0.84rem;
}
.otherPlatform .platform_youtube {
  background-position-x: -1.68rem;
}
.otherPlatform .platform_discord {
  background-position-x: -2.52rem;
}
.otherPlatform .platform_reddit {
  background-position-x: -3.37rem;
}
.otherPlatform .platform_ins {
  background-position-x: -4.2rem;
}
.otherPlatform .platform_tiktok {
  background-position-x: -5.04rem;
}
.otherPlatform .platform_line {
  background-position-x: -5.88rem;
}
.otherPlatform .platform_naver {
  background-position-x: -6.72rem;
}
.otherPlatform .platform_talk {
  background-position-x: -7.56rem;
}
.otherPlatform .platform_ps {
  background-position-x: -5.04rem;
}
.otherPlatform a:hover {
  background-position-y: -0.66rem;
}
.otherPlatform .code {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  display: none;
}
.otherPlatform a:hover .code {
  display: block;
}
.otherPlatform .code div {
  margin-bottom: 0.1rem;
  border-radius: 0.05rem;
  padding: 0.1rem;
  background: #fff;
}
.otherPlatform .code img {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
}

/* 彈窗黑色半透明遮罩 */
.modal-backdrop.show {
  opacity: 0.7;
}
/* 彈窗 */
.popup .pop-bg {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* width: 9.19rem;
  height: 8.24rem; */
  width: 15rem;
  /* aspect-ratio: 1734/995; */
}
/* 關閉按鈕 */
.popup .close {
  top: -0.8rem;
  right: -0.8rem;
  width: 0.8rem;
  height: 0.8rem;
  aspect-ratio: 80 / 80;
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/close_btn2.webp)
    no-repeat;
  background-size: 100% 200%;
  background-position: top;
  z-index: 1;
  opacity: 1;
}
.popup .close:hover {
  background-position: bottom;
}
.popup .close:not(:disabled):not(.disabled):focus,
.popup .close:not(:disabled):not(.disabled):hover {
  opacity: 1;
}
.popup p {
  margin-bottom: 0;
}
.popup_outer {
  min-height: auto;
}
.popBtns {
  display: flex;
  width: 100%;
  /* height: 0.69rem; */
  height: auto;
  margin-top: 0.14rem;
  justify-content: center;
}
.popBtns button,
.popBtns a {
  width: 2.78rem;
  height: 0.69rem;
  margin: 0 0.2rem;
  background: transparent;
  border: none;
  outline: none;
  padding: 0;
  cursor: pointer;
}

.modal.modal-static .pop-bg {
  animation: modal-static-pop 0.3s forwards;
}

.popBtns button img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

button.btn-msg-confirm {
  /* margin-top: 1rem; */
  width: 2.8rem;
  height: auto;
  aspect-ratio: 310/105;
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/confirm_btn.webp)
    no-repeat center top;
  background-size: 100% 200%;
}
.btn_confirm_job:hover,
button.btn-msg-confirm:hover {
  background-position: center bottom;
}

/* 通用彈窗背景小 */
.popup .pop-bg-sm {
  width: 11rem;
  aspect-ratio: 1095 / 649;
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/pop_bg.webp)
    no-repeat 0 0;
  background-size: 100% auto;
}

/* 彈窗：活動規則 */
.pop-bg2 {
  background: url(https://res1-nte.iwplay.com.tw/events/EibonPartner/images/pop/pop-bg2.webp)
    no-repeat 0 0;
  background-size: 100% auto;
}
.popRule .pop-rule-bg {
  background-image: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/pop_bg.webp);
  background-size: 100% auto;
  aspect-ratio: 1095/649;
  width: 11rem;
}
.popRuleTit {
  display: block;
  width: 2.9rem;
  height: auto;
  margin: 0.6rem auto 0;
  /* margin-left: 0.8rem; */
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/pop_rules_tt.webp)
    no-repeat 0 0;
  background-size: 100% auto;
  aspect-ratio: 441 / 104;
}
.rule-scroll {
  width: 9.8rem;
  height: 3.98rem;
  /* margin: 0.15rem auto 0; */
  margin: 0.25rem 0.15rem 0 0.9rem;
  padding: 0 0.35rem 0 0;
}
.cus-scroll {
  overflow-x: hidden;
  overflow-y: auto;
}
/* 滾動條 */
.cus-scroll::-webkit-scrollbar {
  width: 0.35rem;
}
.cus-scroll::-webkit-scrollbar-track {
  background: #2f2f2f;
  border-radius: 999px;
  box-shadow: inset 0 0 0 0.08rem #999999;
}
.cus-scroll::-webkit-scrollbar-thumb {
  /* background: #aaa; */
  background:
    linear-gradient(to bottom, #ffda2a, #ffd818) content-box,
    transparent;
  border-radius: 999px;
  border: 0.13rem solid transparent;
  box-shadow:
    inset 0 0 0.08rem rgba(255, 255, 255, 0.7),
    inset 0 0 0.05rem rgba(0, 0, 0, 0.25);
}
.rule-scroll p,
.rule-scroll p a {
  margin-bottom: 0.2rem;
  font-size: 0.25rem;
  line-height: 0.45rem;
  color: #000000;
}

.popBtnsTip {
  width: 100%;
  text-align: center;
  font-size: 0.29rem;
  line-height: 0.4rem;
  color: #000000;
  margin-bottom: 0 !important;
  font-weight: bold;
}
#popInviteLog .popBtns {
  margin-top: 0;
}

/* 彈窗：下載區 */
.download .pop-bg4 {
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/download_bg.webp)
    no-repeat;
  background-size: 100% auto;
  aspect-ratio: 1514/624;
  width: 15rem;
}
.download_box {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 0.9rem;
}
.download_tt {
  width: 10rem;
  margin-bottom: 0.3rem;
}
.download .gameInfo {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.download .gameInfo .qrcode {
  width: 2.2rem;
  flex-shrink: 0;
}
.download .gameInfo .qrcode img {
  width: 100%;
  display: block;
}
.download .gameInfo .store {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 0.2rem;
  align-items: center;
}
.download .gameInfo .store a {
  display: block;
  position: relative;
}
.download .gameInfo .store a img {
  width: 3rem;
  display: block;
}
.download .gameInfo a.store-google-play-games img {
  width: 3.5rem;
}
.store-windows {
  grid-column: 1;
  grid-row: 1;
}
.store-ps5 {
  grid-column: 2;
  grid-row: 1;
}
.store-steam {
  grid-column: 1;
  grid-row: 2;
}
.store-epic {
  grid-column: 2;
  grid-row: 2;
}
.store-app-store {
  grid-column: 1;
  grid-row: 3;
}
.store-google-play {
  grid-column: 2;
  grid-row: 3;
}
.store-google-play-games {
  grid-column: 3;
  grid-row: 3;
}

.macTip {
  position: absolute;
  top: 105%;
  left: 50%;
  transform: translateX(-50%);
  width: 1.8rem;
  height: 0.3rem;
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/app_store_tt.webp)
    no-repeat center;
  background-size: contain;
}

.download .popup .close {
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/close_btn.webp)
    no-repeat center;
  background-size: 100%;
  width: 0.75rem;
  height: 0.75rem;
}

/* 彈窗：恭喜獲得 */
.popAwardTit {
  width: 2.9rem;
  height: 1.1rem;
  margin: 0.65rem auto 0;
  background: url(https://res1-nte.iwplay.com.tw/events/EibonPartner/images/pop/pop_award_tt.webp)
    no-repeat;
  background-size: 100% auto;
}
.popAwardCont {
  height: 3.2rem;
}
.notRewards {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 0.34rem;
  color: #b7b7b7;
}

#popGetAward .popup .close {
  top: -0.8rem;
  right: -0.8rem;
}

#popGetAward .popBtnsTip {
  font-size: 0.21rem;
}

#popGetAward .pop-bg-sm {
  width: 10.5rem;
  aspect-ratio: 1095 / 649;
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/pop_bg.webp)
    no-repeat 0 0;
  background-size: 100% auto;
}
#popGetAward .popAwardTit {
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/pop_get_tt.webp)
    no-repeat;
  background-size: 100% auto;
  aspect-ratio: 440/105;
  height: auto;
}

/* 恭喜獲得彈窗 */

#popGetAward .popAwardCont {
  /* margin-top: 1rem; */
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* 雪碧圖樣式 */
#popGetAward .popAwardCont .pop-award-item {
  width: 2.1rem;
  aspect-ratio: 1 / 1;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  flex-shrink: 0;
  margin: 3% 0 5%;
  filter: drop-shadow(0.18rem 0.18rem 1px rgba(0, 0, 0, 0.3));
}
#popGetAward .popAwardCont p {
  margin: 0.05rem auto 0.2rem;
  color: #ffffff;
  font-size: 0.26rem;
  font-weight: bold;
}

/* #popLotteryGet .form-select option {
  background-color: #1d1d1d;
} */

/* #lottery_phone_code option {
  background-color: #1d1d1d;
} */

/* 彈窗：確認綁定 */
#popBindingConfirm .popBindingTit {
  width: 2.9rem;
  height: 1.1rem;
  margin: 0.55rem auto 0;
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/pop_binding_notice_tt.webp)
    no-repeat center;
  background-size: 100% auto;
}
#popBindingConfirm .popAwardCont {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 4.4rem;
  gap: 0.9rem;
}
#popBindingConfirm .popBindingMsg {
  text-align: center;
  font-size: 0.3rem;
  font-weight: bold;
  color: #52514e;
}
#popBindingConfirm .popBtns {
  gap: 0.8rem;
}
#popBindingConfirm .popBtns button {
  margin: 0;
}
button.btn-msg-cancel {
  width: 2.8rem;
  height: auto;
  aspect-ratio: 310/105;
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/cancel_btn.webp)
    no-repeat center top;
  background-size: 100% 200%;
}
button.btn-msg-cancel:hover {
  background-position: center bottom;
}

/* 點擊背景彈跳動畫 */
@keyframes modal-static-pop {
  0% {
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.02);
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
  }
}
.modal.modal-static .pop-bg {
  animation: modal-static-pop 0.6s ease-in-out forwards;
}

/* 彈窗：邀請狀態 */
#popInviteLog .pop-bg-lg {
  width: 11rem;
  aspect-ratio: 1095 / 649;
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/pop_bg.webp)
    no-repeat 0 0;
  background-size: 100% 100%;
}

#popInviteLog .inviteTip {
  text-align: center;
  font-size: 0.23rem;
  font-weight: bold;
  color: #2b2b2b;
}
#popInviteLog .popInviteCont {
  width: 88%;
  margin: 0 auto;
}
#popInviteLog .invite-list-header,
#popInviteLog .invite-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.23rem; /* 0.32 * (11/15) */
  font-weight: bold;
  color: #515151;
  padding: 0.2rem 0;
  width: 9.3rem; /* 12.7 * (11/15) */
}
#popInviteLog .invite-list-header span,
#popInviteLog .invite-row span {
  flex: 1;
  text-align: center;
}
#popInviteLog .invite-list-header {
  font-size: 0.26rem; /* 0.36 * (11/15) */
  margin-bottom: 0.1rem;
}
#popInviteLog .invite-list-body {
  max-height: 4.3rem;
  overflow-y: auto;
  overflow-x: hidden;
}
/* 彈窗捲軸樣式 */

#popInviteLog .invite-list-body::-webkit-scrollbar {
  width: 0.35rem;
}
#popInviteLog .invite-list-body::-webkit-scrollbar-track {
  background: #2f2f2f;
  border-radius: 999px;
  box-shadow: inset 0 0 0 0.08rem #999999;
}
#popInviteLog .invite-list-body::-webkit-scrollbar-thumb {
  /* background: #aaa; */
  background:
    linear-gradient(to bottom, #ffda2a, #ffd818) content-box,
    transparent;
  border-radius: 999px;
  border: 0.13rem solid transparent;
  box-shadow:
    inset 0 0 0.08rem rgba(255, 255, 255, 0.7),
    inset 0 0 0.05rem rgba(0, 0, 0, 0.25);
}

/* ========================================================================
 * 邀請狀態/獎勵紀錄 雙分頁彈窗 
 * ======================================================================== */

/* 圖片版分頁按鈕外框 */
.pop_tab_img_wrapper {
  position: absolute;
  top: 0.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 10.12rem;
  height: 0.66rem;
  z-index: 10;
}

.pop_tab_img_wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
#popInviteLog .popup .close {
  top: -0.8rem;
  right: -0.8rem;
}
/* 隱形點擊區塊 */
.pop_tab_img_wrapper .click_area {
  position: absolute;
  top: 0;
  width: 50%; /* 一左一右各佔 50% */
  height: 100%;
  cursor: pointer;
  z-index: 2;
}

.pop_tab_img_wrapper .invite_area {
  left: 0;
}
.pop_tab_img_wrapper .reward_area {
  right: 0;
}

/* 為了避開上方按鈕，內容區塊稍微往下擠 */
#popInviteLog .popInviteCont {
  margin-top: 1.4rem;
}

/* 三等分列表排版 */
#popInviteLog .invite-list-header,
#popInviteLog .invite-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.05rem 0;
}

#popInviteLog .invite-list-header span,
#popInviteLog .invite-row span {
  flex: 1;
  text-align: center;
  font-size: 0.26rem;
}

/* 無紀錄狀態 (空狀態) */
#popInviteLog .empty-data {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 4.3rem;
  font-size: 0.35rem;
  color: #555;
  font-weight: bold;
}

/* 測試切換按鈕 */
.popAwarddemo_btn_v1 {
  position: absolute;
  top: -10%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999;
  padding: 0.1rem 0.2rem;
  background-color: #ff4747;
  color: #fff;
  border: none;
  border-radius: 0.1rem;
  font-size: 0.19rem;
  cursor: pointer;
}

/* 彈窗：提示訊息 */
.popMsgCont {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: bold;
  font-size: 0.5rem;
  line-height: 1.5;
  color: #000000;
  padding: 0 10%;
  box-sizing: border-box;
  word-break: break-word;
}
.popMsgCont p {
  margin: 0;
}

/* 彈窗：提示訊息 */
.popContent {
  margin: 0 auto;
}

.popContent p {
  margin: 3.5rem auto 1rem;
  text-align: center;
}

.popContent p img {
  width: 50%;
}

/* ======================================================


/* ========================================================================
 * 回歸獎勵彈窗 (Return Award Modal)
 * ======================================================================== */
#popReturnAward .pop-return-bg {
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/pop_bg.webp)
    no-repeat center;
  background-size: 100% auto;
  aspect-ratio: 1095 / 649;
  width: 10.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#popReturnAward .popReturnAwardCont {
  width: 85%;
  height: 85%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#popReturnAward .share_link_wapper {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  justify-content: center;
  gap: 0.5rem;
}

#popReturnAward .award_tt {
  width: 90%;
  display: block;
  /* position: absolute;
  top: 5%;
  left: 50%;
  transform: translateX(-50%); */
}

#popReturnAward .buttom_group {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1rem;
}

#popReturnAward .share_link_tt {
  width: 53%;
}

#popReturnAward .btn_share_link {
  width: 71%;
  aspect-ratio: 688 / 112;
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/share_link_btn.webp)
    no-repeat center top;
  background-size: 100% 200%;
  cursor: pointer;
  /* position: absolute;
  bottom: 1%;
  left: 50%;
  transform: translateX(-50%); */
}

#popReturnAward .btn_share_link:hover {
  background-position: center bottom;
}

/* ========================================================================
 * 初始簽署彈窗 (Initial Signing Modal)
 * ======================================================================== */
.initial_signing_modal {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  z-index: 1035;
  display: flex;
  align-items: center;
  justify-content: center;
}

.initial_signing_modal .close {
  top: -0.8rem;
  right: -0.8rem;
  width: 0.8rem;
  height: 0.8rem;
  aspect-ratio: 80 / 80;
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/close_btn2.webp)
    no-repeat;
  background-size: 100% 200%;
  background-position: top;
  z-index: 1;
  opacity: 1;
}
.initial_signing_modal .close:hover {
  background-position: bottom;
  opacity: 1 !important;
}

.initial_signing_modal .modal_content {
  position: relative;
  width: 18.9rem;
  max-width: 95%;
  aspect-ratio: 1930 / 1115;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1%;
  background-image: url("https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/overlay_bg.webp");
  background-size: 100% 100%;
}

/* 左半邊 */
.initial_signing_modal .modal_left {
  width: calc(748 / 1930 * 100%);
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* padding-top: 5%; */
  position: relative;
  top: 0;
  left: 0.4rem;
}

.initial_signing_modal .modal_slogan {
  width: 68%;
  margin-bottom: 7%;
}

.initial_signing_modal .modal_invite_area {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 66%;
  gap: 0.2rem;
  position: relative;
}

.initial_signing_modal .modal_input_wrapper {
  background-image: url("https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/typing_area_btn.webp");
  background-size: 100% 100%;
  width: 100%;
  aspect-ratio: 417 / 121;
  display: flex;
  align-items: center;
  justify-content: center;
}

.initial_signing_modal #modal_invitee_code_input {
  width: 88%;
  height: 55%;
  background-color: #eaeaea;
  border: none;
  border-radius: 0.15rem;
  text-align: left;
  padding-left: 0.4rem;
  padding-right: 0.4rem;
  font-size: 0.4rem;
  font-weight: bold;
  color: #333;
  outline: none;
}
/* 打字輸入區預設文字 */
.initial_signing_modal #modal_invitee_code_input::placeholder {
  font-size: 0.28rem;
  text-align: center;
}

/* 利用 :placeholder-shown 專門針對「還沒打字時」微調輸入框，把文字往上推 */
.initial_signing_modal #modal_invitee_code_input:placeholder-shown {
  padding-bottom: 0.08rem;
}

.initial_signing_modal .btn_modal_confirm {
  background-image: url("https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/confirm_btn2.webp");
  background-size: 100% 200%;
  background-position: center top;
  width: 100%;
  aspect-ratio: 483 / 140;
  cursor: pointer;
}

.initial_signing_modal .btn_modal_confirm:hover {
  background-position: center bottom;
}

.initial_signing_modal .btn_modal_notsign {
  background-image: url("https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/not_sign_btn.webp");
  background-size: 100% 200%;
  background-position: center top;
  width: 100%;
  aspect-ratio: 417 / 122;
  cursor: pointer;
}

.initial_signing_modal .btn_modal_notsign:hover {
  background-position: center bottom;
}

/* 右半邊 */
.initial_signing_modal .modal_right {
  width: calc(1225 / 1930 * 100%);
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2% 2%;
}

.initial_signing_modal .modal_info_section {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

/* 注意事項 */
.initial_signing_modal .info_st {
  position: absolute;
  top: -0.4rem;
  right: 8.5%;
  width: 43%;
  z-index: 2;
}

.initial_signing_modal .info_tt {
  width: 83%;
  z-index: 1;
}

/* 輪播區塊底圖 */
.initial_signing_modal .info_bg_wrapper {
  width: 83%;
  background-image: url("https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/info_bg.webp");
  background-size: 100% 100%;
  aspect-ratio: 947 / 537; /* Approximate, adjust if needed */
  margin-top: -4%; /* Pull up to overlap info_tt */
  z-index: 2;
  position: relative;
}

.initial_signing_modal .modal_swiper {
  position: absolute;
  top: 0.6%;
  bottom: 0.7%;
  left: 0.4%;
  right: 0.3%;
  width: auto;
  height: auto;
  border-radius: 0.1rem;
  overflow: hidden;
}

.initial_signing_modal .placeholder_slide {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  font-weight: bold;
  color: #fff;
}
.initial_signing_modal .placeholder_slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.initial_signing_modal .swiper-pagination {
  bottom: 8%;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60%;
  left: 50%;
  transform: translateX(-50%);
  gap: 2%;
}

/* 輪播分頁圓點樣式修改 */
.initial_signing_modal .swiper-pagination-bullet {
  flex: 1 1 0;
  width: auto;
  height: 0.09rem;
  margin: 0 !important;
  background: #313131;
  border: 1px solid #aaaaaa;
  box-sizing: border-box;
  border-radius: 0;
  opacity: 1;
  transition: all 0.3s ease;
}

.initial_signing_modal .swiper-pagination-bullet-active {
  background-color: #8cb2cc;
  border-color: #8cb2cc; /* active 時外框也變同色 */
}

.initial_signing_modal .btn_modal_download {
  background-image: url("https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/download_btn.webp");
  background-size: 100% 100%;
  background-position: center top;
  width: 83%;
  aspect-ratio: 947 / 103;
  margin-top: 2%;
  cursor: pointer;
  transition: filter 0.2s;
}

.initial_signing_modal .btn_modal_download:hover {
  background-position: center bottom;
}

/* ==========================================
   初始簽署彈窗 - 綁定後 (.bound) 狀態樣式
========================================== */
/* 1. 更換彈窗底圖 */
.initial_signing_modal .modal_content.bound {
  background-image: url("https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/overlay_bg2.webp");
}

/* 2. 更換輸入框底圖，並改為 flex 讓文字置中 */
.initial_signing_modal .modal_input_wrapper.bound {
  background-image: url("https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/typing_area_btn2.webp");
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 3. 綁定後隱藏原本的 input */
.initial_signing_modal .modal_input_wrapper.bound input {
  display: none;
}

/* 4. 綁定後顯示文字區塊，設定字體樣式 */
.initial_signing_modal .modal_input_wrapper.bound #modal_invitee_code_display {
  display: block !important; /* 蓋過行內的 display: none */
  text-align: center;
  font-size: 0.26rem;
  color: #fff;
  font-weight: bold;
  line-height: 1.2;
}

/* 5. 隱藏確認與取消按鈕 (改用 visibility 保留空間高度) */
.initial_signing_modal .modal_invite_area.bound .btn_modal_confirm,
.initial_signing_modal .modal_invite_area.bound .btn_modal_notsign {
  visibility: hidden;
  pointer-events: none;
}

/* 6. 顯示底部提示文字圖 */
.initial_signing_modal .modal_invite_area.bound .binding_tt {
  display: block !important; /* 蓋過行內的 display: none */
  position: absolute;
  bottom: 11%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

/* ----------------------------------------- */

.nte-pop.modal {
  font-size: 14px;
  line-height: 1.5;
}

/* --- 共用容器 & 工具 --- */
.nte-pop .rel {
  position: relative;
}
.nte-pop .abs {
  position: absolute;
}
.nte-pop .auto {
  left: 50%;
  transform: translateX(-50%);
}

/* --- 大容器 --- */
.nte-pop .pop {
  display: block;
  position: relative;
}
.nte-pop .popCont {
  width: 96%;
  max-width: 570px;
  margin: 0 auto;
  position: relative;
}
.nte-pop .popCont1 {
  width: 100%;
  height: 735px;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  position: relative;
}
.nte-pop .popClose {
  position: absolute;
  top: 11px;
  right: 11px;
  width: 25px;
  height: 25px;
  background: url(https://res1-nte.iwplay.com.tw/images/pop/popClose.png)
    no-repeat 0 0;
  background-size: 100% auto;
  z-index: 1;
  border: none;
  cursor: pointer;
}

.nte-pop.modal .modal-dialog {
  width: 96%;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}
.nte-pop.modal .modal-content {
  background: transparent;
  border: 0;
  border-radius: 0;
}
.nte-pop.modal .modal-body {
  padding: 0;
}
.nte-pop.regressmodal.modal .modal-dialog,
.nte-pop.bookedmodal_old.modal .modal-dialog,
.nte-pop.bookedmodal.modal .modal-dialog,
.nte-pop.successmodal.modal .modal-dialog,
.nte-pop.loginMsg.modal .modal-dialog {
  max-width: 500px;
}
.nte-pop.bookedmodal.modal .modal-dialog {
  max-width: 500px;
}

.nte-pop.modal .modal-body .popCont {
  position: relative !important;
  top: auto;
  left: auto;
  transform: none;
}

/* ========================================================================
 * #popLottery 抽獎動畫
 * ======================================================================== */

#popLottery .lottery_modal_dialog {
  max-width: 13.5rem;
  width: 100%;
}
#popLottery .lottery_modal_content {
  background: transparent;
  border: none;
  box-shadow: none;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 6.7rem;
  overflow: visible;
}
/* 點擊關閉區塊，覆蓋整個畫面 */
#popLottery .lottery_close_area {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  cursor: pointer;
}

#popLottery .lottery_cards_wrap {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 12.9rem;
  height: 6.7rem;
  z-index: 1;
}

#popLottery .lottery_card_item {
  width: 4.3rem;
  height: 6.7rem;
  perspective: 15rem;
  cursor: pointer;
  transition: all 0.5s ease;
  position: absolute;
  top: 0;
  pointer-events: auto; /* 恢復卡片本身的點擊功能 */
  /* 強制開啟硬體加速，防止 z-index 切換或動畫觸發時發生 1px 的像素偏移 (頓挫) */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
}
/* 初始位置設定 */
#popLottery .lottery_card_item:nth-child(1) {
  left: 0;
}
#popLottery .lottery_card_item:nth-child(2) {
  left: 4.3rem;
}
#popLottery .lottery_card_item:nth-child(3) {
  left: 8.6rem;
}

#popLottery .lottery_card_item {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

#popLottery .lottery_card_item .card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.6s cubic-bezier(0.4, 0.2, 0.2, 1);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

#popLottery .lottery_card_item.is-flipped .card-inner {
  -webkit-transform: rotateY(180deg) translateZ(0);
  transform: rotateY(180deg) translateZ(0);
}

#popLottery .card-front,
#popLottery .card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
  top: 0;
  left: 0;
  box-sizing: border-box;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

#popLottery .card-front {
  background-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
}

#popLottery .card-back {
  -webkit-transform: rotateY(180deg) translateZ(0);
  transform: rotateY(180deg) translateZ(0);
}

#popLottery .card-front img,
#popLottery .card-back img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: relative;
  z-index: 1; /* 確保圖片浮在星星上方 */
}

/* 抽獎卡牌：背面星星閃爍裝飾 (雙偽元素切割法) */
#popLottery .card-back::before,
#popLottery .card-back::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-image: url("https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/card_gift_stars.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0; /* 在獎品圖片底層 */
  pointer-events: none;
}

/* 上半部星星(左上直角三角形)：2秒閃爍 */
#popLottery .card-back::before {
  clip-path: polygon(0 0, 100% 0, 0 100%);
  animation: starBlink 2s infinite ease-in-out;
}

/* 下半部星星(右下直角三角形)：2.5秒閃爍，產生交錯感 */
#popLottery .card-back::after {
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  animation: starBlink 2.5s infinite ease-in-out;
}

@keyframes starBlink {
  0% {
    opacity: 0;
    filter: brightness(1);
  }
  50% {
    opacity: 1;
    filter: brightness(1.3);
  }
  100% {
    opacity: 0;
    filter: brightness(1);
  }
}

#popLottery .card-front:hover {
  filter: brightness(1.2);
}

/* 動畫 class */
#popLottery .fade-out {
  opacity: 0 !important;
  pointer-events: none;
  transform: scale(0.8);
}

/* 翻牌後位移放大：確保三張卡片點擊後都移到最左側卡片的位置 */
#popLottery .lottery_card_item.move-left-scale {
  left: 0 !important;
  cursor: default;
}

/* 文字提示 */
#popLottery .lottery_hint_text,
#popLottery .lottery_close_text {
  position: absolute;
  bottom: -1.5rem; /* 讓文字超出 7rem 的容器底部，向下偏移顯示 */
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 0.3rem;
  font-weight: bold;
  z-index: 2;
  text-shadow:
    -0.08em -0.08em 0 #000000,
    0.08em -0.08em 0 #000000,
    -0.08em 0.08em 0 #000000,
    0.08em 0.08em 0 #000000,
    0em -0.08em 0 #000000,
    0em 0.08em 0 #000000,
    -0.08em 0em 0 #000000,
    0.08em 0em 0 #000000,
    0 0.03rem 0.06rem rgba(0, 0, 0, 0.8);
}

@supports (paint-order: stroke fill) {
  #popLottery .lottery_hint_text,
  #popLottery .lottery_close_text {
    text-shadow: 0 0.03rem 0.06rem rgba(0, 0, 0, 0.8);
    -webkit-text-stroke: 0.21em #000000;
    paint-order: stroke fill;
  }
}

/* 中獎資訊區塊 */
#popLottery .lottery_award_info {
  position: absolute;
  right: 0.59rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  z-index: 2;
  /* 初始隱藏狀態，設定從左邊開始 (-2rem) */
  opacity: 0;
  transform: translateX(-2rem);
  pointer-events: none;
  transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

#popLottery .lottery_award_info.slide-in-right {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

#popLottery .award_tt {
  width: 6.55rem;
  object-fit: contain;
  margin-bottom: 0.25rem;
}

#popLottery .award_gift_wrapper {
  /* padding: 0.15rem; */
}

#popLottery .award_gift {
  height: 2.1rem;
  width: auto;
  max-width: 7.5rem;
  object-fit: contain;
}

#popLottery .award_btns {
  display: flex;
  margin-top: 0.15rem;
}

#popLottery .award_btns div {
  width: 2.8rem;
  height: auto;
  background-size: 100% 200%;
  background-repeat: no-repeat;
  background-position: top;
  cursor: pointer;
  aspect-ratio: 252/104;
}

#popLottery .award_btns div:hover {
  background-position: bottom;
}

#popLottery .continue_btn {
  background-image: url("https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/continue_btn.webp");
}
#popLottery .share_btn3 {
  background-image: url("https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/share_btn3.webp");
}
#popLottery .saveimg_btn {
  background-image: url("https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/saveimg_btn.webp");
}

/* ========================================================================
 * 全螢幕阻擋蓋版 (回流與新人專用)
 * ======================================================================== */
.task_block_overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  z-index: 1030;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto; /* 確保點擊不會穿透這個黑色背景 */
}

/* 內容置中容器 (回流玩家) */
.back_player_overlay .block_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: auto;
}

/* 內容置中容器 (新玩家) */
.new_player_overlay .block_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: auto;
}

/* 回流玩家提示文字大小 */
.back_player_overlay .block_tt {
  width: 10rem;
}

/* 新玩家提示文字大小 */
.new_player_overlay .block_tt {
  width: 11.56rem;
}

/* 提示文字圖片 (共用屬性) */
.task_block_overlay .block_tt {
  height: auto;
  margin-bottom: 0.9rem;
  /* pointer-events: none;  */
}

/* 邀約綁定按鈕與群組 */
.btn_group_bind {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.btn_invite_bind {
  position: relative;
  z-index: 10;
  pointer-events: auto;
  width: 4rem;
  aspect-ratio: 420 / 128;
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/invite_bind_btn.webp)
    no-repeat center top;
  background-size: 100% 200%;
  cursor: pointer;
}
.btn_invite_bind:hover {
  background-position: center bottom;
}

/* 登出按鈕 */
.btn_logout_bind {
  position: relative;
  z-index: 10;
  pointer-events: auto;
  width: 4rem;
  aspect-ratio: 420 / 128;
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/logout_btn.webp)
    no-repeat center top;
  background-size: 100% 200%;
  cursor: pointer;
}
.btn_logout_bind:hover {
  background-position: center bottom;
}

/* ========================================================================
 * 全螢幕阻擋蓋版 (已綁定玩家)
 * ======================================================================== */
.award_player_overlay .block_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: auto;
}
/* 綁定玩家提示文字大小 */
.award_player_overlay .block_tt {
  width: 12.56rem;
}

.award_player_overlay .btn_share_link {
  position: relative;
  z-index: 10;
  pointer-events: auto;
  width: 4rem;
  aspect-ratio: 420 / 128;
  background: url(https://res1-nte.iwplay.com.tw/events/BlackBird/image/pop/share_link_btn2.webp)
    no-repeat center top;
  background-size: 100% 200%;
  cursor: pointer;
}
.award_player_overlay .btn_share_link:hover {
  background-position: center bottom;
}

/* ========================================================================
 * #bookedmodal（新版 SDK 登入）
 * ======================================================================== */

#bookedmodal .popCont {
  max-width: none; /* 解除全域 570px 限制，讓彈窗能真正展開到 8.09rem */
}

#bookedmodal .popCont1 {
  width: 100%;
  height: auto;
  aspect-ratio: 760 / 1000;
  background: url(https://res1-nte.iwplay.com.tw/images/sdk/popCont1_booked_sdk.webp)
    no-repeat 0 0;
  background-size: 100% 100%;
  position: relative;
}

#bookedmodal .modal-dialog {
  max-width: 8.09rem;
  width: 8.09rem;
  margin: 1.55rem auto;
}
.nte-pop.bookedmodal .popClose {
  top: 0.15rem;
  right: 0.15rem;
  width: 0.47rem;
  height: 0.47rem;
}

/* 針對高度過低的 PC 螢幕，使用等比縮放 (Scale) 以維持排版 */
.nte-pop.bookedmodal .popClose {
  top: 0.15rem;
  right: 0.15rem;
  width: 0.47rem;
  height: 0.47rem;
}

#bookedmodal .demo-state-btns {
  position: absolute;
  top: 1.8%;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.1rem;
  z-index: 99;
}
#bookedmodal .demo-state-btns .btn {
  padding: 0.05rem 0.13rem;
  font-size: 0.14rem;
  line-height: 1;
  min-width: 0;
  background-color: #dc3545;
  border-color: #dc3545;
  color: #fff;
}
#bookedmodal .pop_booked_tit {
  position: absolute;
  top: 13.9%;
  left: 50%;
  transform: translateX(-50%);
  width: auto;
  height: 7%;
  aspect-ratio: 430 / 65;
  background: url(https://res1-nte.iwplay.com.tw/images/sdk/pop_sdk_login_tt.png)
    no-repeat 0 0;
  background-size: 100% 100%;
}
#bookedmodal .bookedForm {
  position: absolute;
  top: 21%;
  left: 50%;
  transform: translateX(-50%);
  width: 86%;
  max-width: 6.86rem;
  height: 33%;
  z-index: 50;
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.13rem;
}
#bookedmodal .form-bg {
  width: 100%;
  max-width: 6.29rem;
  height: 0.56rem;
  margin-bottom: 0;
  border-radius: 0.3rem;
  background: #1d1d1d;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  padding: 0 0.19rem;
}
#bookedmodal .graphic_verification_code,
#bookedmodal .phone_verification_code,
#bookedmodal .phone_password {
  width: 100%;
  max-width: 6.29rem; /* 與 form-bg 同寬 */
  height: 0.56rem; /* 讓它和內部的 captcha / img_code 一樣高 */
  margin-top: 0;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}
#bookedmodal .graphic_verification_code .captcha,
#bookedmodal .phone_verification_code .smsCode {
  width: 3.73rem;
  height: 0.56rem;
  font-size: 0.22rem;
  padding: 0.05rem 0.2rem;
  border-radius: 0.43rem;
  border: 0.03rem solid #141414;
  background: #fff;
}

/* ============================ */
/* 強制完美置中 (覆寫 Bootstrap 行為，不分 PC/Mobile) */
#bookedmodal.modal {
  overflow-y: hidden !important;
}
#bookedmodal .modal-dialog {
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  transform-origin: center center !important;
}
#bookedmodal .modal-dialog::before,
#bookedmodal .modal-dialog::after {
  display: none !important;
}

/* 手機版強制放大比例 */
.is-mobile #bookedmodal .modal-dialog {
  /* 預設給不支援 zoom 的瀏覽器 (例如 Firefox) 備用的放大方式，同時用 !important 蓋掉下方 PC 版的 scale 縮小 */
  scale: 1.25 !important;
}
@supports (zoom: 1.25) {
  .is-mobile #bookedmodal .modal-dialog {
    /* 如果瀏覽器支援 zoom (Chrome, Safari 等主流)，就取消 scale 造成的毛邊，改用原生的 zoom 放大 */
    scale: 1 !important;
    zoom: 1.25 !important;
  }
}

/* 針對高度過低的 PC 螢幕，使用等比縮放 (Scale) 以維持排版 */
@media (max-height: 750px) and (orientation: landscape) {
  #bookedmodal.modal {
    overflow-y: hidden !important;
  }
  #bookedmodal .modal-dialog {
    scale: 0.55;
  }
}
@media (max-height: 450px) and (orientation: landscape) {
  #bookedmodal .modal-dialog {
    scale: 0.58;
  }
}
@media (max-height: 400px) and (orientation: landscape) {
  #bookedmodal .modal-dialog {
    scale: 0.53;
  }
}
/* 專為 (高度 320px) 準備 */
@media (max-height: 350px) and (orientation: landscape) {
  #bookedmodal .modal-dialog {
    scale: 0.43;
  }
}

#bookedmodal .graphic_verification_code .img_code {
  width: 2.37rem;
  height: 0.56rem;
}
#bookedmodal .graphic_verification_code .img_code .img_code_pic {
  display: block; /* 移除 img 預設的底部基線間隙 */
  width: 100%;
  height: 100%;
  border-radius: 0.24rem;
  border: 0.03rem solid #141414;
}
#bookedmodal .phone_verification_code .btn_get_code {
  width: 2.37rem;
  height: auto;
  aspect-ratio: 400 / 100;
  background-image: url(https://res1-nte.iwplay.com.tw/images/sdk/btn_get_code.png);
  background-size: 100% 200%;
  background-position: 0 0;
}
#bookedmodal .phone_verification_code .btn_get_code:hover {
  background-position: 0 100%;
}
#bookedmodal .phone_password .phone_password_input {
  width: 100%;
  height: 0.56rem;
  background: #fff;
  font-size: 0.17rem;
  padding: 0.05rem 0.2rem;
  border-radius: 0.43rem;
  border: 0.03rem solid #141414;
  box-sizing: border-box;
}
#bookedmodal .form-select {
  padding: 0 0.17rem;
  width: 2.13rem;
  font-size: 0.22rem;
  display: inline-block;
  border: 0;
  border-radius: 0;
  border-right: 0.03rem solid #c7c7c7;
  height: auto;
  color: #fff;
  text-align: center;
  background-color: transparent;
  background-image: none;
  appearance: none;
  -webkit-appearance: none;
}
#bookedmodal .form-select:focus {
  color: #fff;
  border-right: 0.03rem solid #c7c7c7;
  outline: none;
  box-shadow: none;
}
#bookedmodal .form-select option {
  background-color: #1d1d1d;
  text-align: center;
}
#bookedmodal .form-control {
  padding: 0 0 0 4%;
  width: 60%;
  font-size: 0.22rem;
  font-weight: 500;
  display: inline-block;
  border: 0;
  border-radius: 0;
  height: auto;
  color: #fff;
  background-color: transparent;
  outline: none;
  box-shadow: none;
}
#bookedmodal .form-control::placeholder {
  color: #828282;
}
#bookedmodal .form-control:focus {
  outline: none;
  box-shadow: none;
  border: 0;
  color: #fff;
  background-color: transparent;
}
#bookedmodal .privacy-check {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.09rem;
}
#bookedmodal .form-check-input {
  position: relative;
  flex-shrink: 0;
  margin: 0;
  width: 0.26rem;
  height: 0.26rem;
  background-color: transparent;
  border: 0.03rem solid #000;
  appearance: none;
  -webkit-appearance: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
#bookedmodal .form-check-input:checked {
  background-color: #fff;
  border-color: #000;
}
#bookedmodal .form-check-input:checked[type="checkbox"] {
  background-image: url(https://res1-nte.iwplay.com.tw/events/pre-gacha/images/pop/sdk/check.svg);
}
#bookedmodal .form-check-input[type="checkbox"] {
  border-radius: 0;
}
#bookedmodal .form-check-label {
  margin: 0;
  padding: 0;
  color: #000;
  font-size: 3cqw;
  line-height: 0.26rem;
  cursor: pointer;
  vertical-align: middle;
}
#bookedmodal .button_box {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 60%;
  width: 86%;
  max-width: 6.86rem;
  height: 22%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.15rem;
  background-color: transparent;
}
#bookedmodal .button_box .row {
  display: contents;
}

#bookedmodal .button_box .row .btn {
  width: 90%;
  max-width: 3.91rem;
  height: auto;
  aspect-ratio: 504 / 77;
  flex: none;
  margin: 0;
}
#bookedmodal .button_box .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  height: auto;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% 200%;
  border: none;
  padding: 0;
  font-size: 0.22rem;
  color: #fff;
  cursor: pointer;
  background-color: transparent;
}
#bookedmodal .button_box .btn:hover {
  background-position: 0 100%;
}
#booked_button {
  background-image: url(https://res1-nte.iwplay.com.tw/images/sdk/booked_button.png);
}
#back_sms_button {
  background-image: url(https://res1-nte.iwplay.com.tw/images/sdk/back_sms_button.png);
}
#phoneNextBtn {
  background-image: url(https://res1-nte.iwplay.com.tw/images/sdk/phoneNextBtn.png);
}
#back_button {
  background-image: url(https://res1-nte.iwplay.com.tw/images/sdk/back_button.png);
}
#select_role_button {
  background-image: url(https://res1-nte.iwplay.com.tw/images/sdk/booked_button.png);
}
#back_role_button {
  background-image: url(https://res1-nte.iwplay.com.tw/images/sdk/back_button.png);
}
#bookedmodal .Change_acc_box {
  position: absolute;
  top: 82.5%;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  height: auto;
  max-width: 6.08rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2%;
}
#bookedmodal .Change_acc_hint {
  position: static;
  color: #fff;
  font-size: 0.26rem;
  line-height: 0.6rem;
  text-align: center;
  margin: 0;
}
#bookedmodal #other_login > .Change_acc_box {
  position: static;
  width: 100%;
  height: auto;
  transform: none;
  left: auto;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  gap: 5%;
}
#bookedmodal .Change_acc_box .Change_acc_btn {
  width: 20%;
  max-width: 0.9rem;
  height: auto;
  aspect-ratio: 1 / 1;
  background-size: 100% 200%;
  /* background-position: 0 -0.9rem; */
  background-position: center bottom;
  cursor: pointer;
}
#bookedmodal .google {
  background-image: url(https://res1-nte.iwplay.com.tw/events/pre-gacha/images/pop/sdk/google.svg);
}
#bookedmodal .ios {
  background-image: url(https://res1-nte.iwplay.com.tw/events/pre-gacha/images/pop/sdk/ios.svg);
}
#bookedmodal .facebook {
  background-image: url(https://res1-nte.iwplay.com.tw/events/pre-gacha/images/pop/sdk/facebook.svg);
}
#bookedmodal .ps {
  background-image: url(https://res1-nte.iwplay.com.tw/images/sdk/ps5.png);
}

/* 角色選擇區 */
#bookedmodal #select_role {
  position: absolute;
  top: 24.6%;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  max-width: 6.86rem;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.15rem;
  text-align: center;
}
#bookedmodal #select_role > div:first-child {
  margin: 0 !important;
  padding: 0 !important;
  color: #000;
  font-size: 0.23rem;
}
#bookedmodal #select_role .bookedForm {
  position: static;
  transform: none;
  left: auto;
  margin: 0 auto;
  height: auto;
}
#bookedmodal #select_role .form-bg {
  padding: 0;
}
#bookedmodal #role_select {
  width: 100%;
  padding: 0 0.17rem;
  border-right: 0;
  text-align: center;
}

.privacymodal .list_con {
  height: 6.7rem;
}
@media (max-height: 550px) and (orientation: landscape) {
  .privacymodal .list_con {
    height: 6.5rem;
  }
}
/* --- .otherPlatform 社群圖示 --- */
.nte-pop .otherPlatform {
  display: flex;
  justify-content: center;
}
.nte-pop .otherPlatform a {
  position: relative;
  margin: 0 5px;
  width: 34px;
  height: 34px;
  background: url(../../images/otherPlatform.png) no-repeat;
  background-position-y: 0;
  background-size: auto 200%;
}
.nte-pop .otherPlatform a:hover {
  background-position-y: -34px;
}

/*▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
       隱私權彈窗
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀*/
.popCont {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 7.6rem;
}

.popCont3 {
  height: 11rem;
  background: url(https://res1-nte.iwplay.com.tw/images/pop/popCont3.png)
    no-repeat 0 0;
  background-size: 100% auto;
  width: 7.6rem;
  overflow-x: hidden;
}

.popClose {
  top: 0.2rem;
  right: 0.2rem;
  width: 0.4rem;
  height: 0.4rem;
  background: url(https://res1-nte.iwplay.com.tw/images/pop/popClose.png)
    no-repeat 0 0;
  background-size: 100% auto;
  z-index: 1;
  border: none;
  outline: none;
  cursor: pointer;
}

/* 隱私權彈窗 */
.privacymodal {
  font-size: 14px;
}
.privacymodal .res_poptt {
  width: 5rem;
  margin: 0.6rem auto 0.3rem auto;
}

.privacymodal .res_poptt img {
  width: 100%;
}

.privacymodal .list_con {
  width: 116%;
  margin-left: -8%;
  height: 6.7rem;
  overflow-y: auto;
  padding-right: 0.05rem;

  /* Webkit 滾動條樣式 */
  &::-webkit-scrollbar {
    width: 0.1rem;
  }

  &::-webkit-scrollbar-track {
    background: #d5d5d5;
  }

  &::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 1rem;
  }

  &::-webkit-scrollbar-thumb:hover {
    background: #555;
  }

  /* Firefox 滾動條樣式 */
  scrollbar-width: thin;
  scrollbar-color: #888 #d5d5d5;
}

.privacymodal .list_con ol {
  font-family: "Microsoft YaHei", Arial, sans-serif;
  font-size: 0.18rem;
  font-weight: 400;
  padding-left: 0.24rem;
  list-style: decimal;
}

.privacymodal .popup_close {
  position: absolute;
  left: 50%;
  bottom: 0.5rem;
  transform: translateX(-50%);
  padding: 0.1rem 0.6rem;
  color: #fff;
  background: #000;
  cursor: pointer;
  transition: 0.5s;
  width: auto;
  border: none;
  outline: none;
}

/* === yy_ZRRPZRBDRPTJKTTJ.css === */
.rel {
  position: relative;
}

.abs {
  position: absolute;
}

.auto {
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  -moz-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  -o-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

/* 彈出框 */
.modal {
  font-family: "Microsoft YaHei", Arial, sans-serif;
}

.modal-dialog {
  background: transparent;
}

.modal-content {
  background-color: transparent;
  border: 0;
  border-radius: 0;
}

/* bookedmodal copied styles */
.bookedmodal .form-bg {
  width: 5.86rem;
  height: 0.55rem;
  margin-bottom: 0.15rem;
  border-radius: 0.2749rem;
  background: #1d1d1d;
  box-sizing: border-box;
}

.bookedmodal .graphic_verification_code {
  height: 0.6rem;
  margin-top: 0.7rem;
  background-color: #c21b1b00;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}

.bookedmodal .phone_verification_code {
  height: 0.6rem;
  margin-top: 0.2rem;
  background-color: #c21b1b00;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}

.bookedmodal .graphic_verification_code .captcha {
  width: 3.5rem;
  height: 0.55rem;
  background-color: #ffffff;
  font-size: 0.18rem;
  padding: 0.06rem 0.2rem;
  border-radius: 0.5rem;
  border: 2px solid #141414;
}

.bookedmodal .phone_verification_code .smsCode {
  width: 3.5rem;
  height: 0.55rem;
  background-color: #ffffff;
  font-size: 0.18rem;
  padding: 0.06rem 0.2rem;
  border-radius: 0.5rem;
  border: 2px solid #141414;
}

.bookedmodal .graphic_verification_code .img_code {
  width: 2.2rem;
  height: 0.55rem;
}

.bookedmodal .graphic_verification_code .img_code .img_code_pic {
  width: 100%;
  height: 100%;
  border: 2px solid #141414;
  border-radius: 0.5rem;
}

.bookedmodal .phone_verification_code .btn_get_code {
  width: 2.2rem;
  height: 0.55rem;
  background-image: url(https://res1-nte.iwplay.com.tw/images/pop/btn_get_code.png);
  background-size: 100% auto;
  border: none;
  outline: none;
  cursor: pointer;
}

.bookedmodal .phone_verification_code .btn_get_code:hover {
  background-position: 0 -0.55rem;
}

.bookedmodal .form-bg .yyFormRow {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.bookedmodal .form-select {
  padding: 0;
  width: 30%;
  font-size: 0.22rem;
  display: inline-block;
  border: 0;
  border-radius: 0;
  border-right: 0.15em solid #c7c7c7;
  margin: 2% auto;
  height: auto;
  color: #fff;
  text-align: center;
  transition: 0.5s;
  vertical-align: middle;
  background-color: hsl(0deg 0% 0% / 0%);
  background-image: none;
}

.bookedmodal .form-select:focus {
  color: #fff;
  border-right: 0.15em solid #c7c7c7;
  outline: none;
  box-shadow: none;
  opacity: 1;
}

.bookedmodal .form-select option {
  background-color: #1d1d1d;
}

.bookedmodal .form-control {
  padding: 0;
  width: 60%;
  font-size: 0.22rem;
  font-weight: 500;
  display: inline-block;
  border: 0;
  border-radius: 0;
  margin: 2% auto;
  height: auto;
  color: #fff;
  transition: 0.5s;
  vertical-align: middle;
  outline: none;
  box-shadow: none;
  letter-spacing: 0;
  opacity: 1;
  background-color: hsl(0deg 0% 0% / 0%);
  padding-left: 4%;
}

.bookedmodal .form-control::placeholder {
  color: #828282;
  letter-spacing: 0;
  background-color: hsl(0deg 0% 0% / 0%);
}

.bookedmodal .form-control:focus {
  outline: none;
  box-shadow: none;
  opacity: 1;
  border: 0;
  color: #fff;
  background-color: hsl(0deg 0% 0% / 0%);
}

.bookedmodal .form-check-input:checked {
  background-color: #ffffff;
  border-color: #000000;
}

.bookedmodal .form-check-input:focus {
  border-color: none;
  outline: 0;
  box-shadow: none;
  background-color: #ffffff;
  border-color: #000000;
}

.bookedmodal .form-check-input[type="checkbox"] {
  border-radius: 0;
}

.bookedmodal .form-check-label {
  color: #000;
  font-size: 0.18rem;
  text-align: justify;
  cursor: pointer;
}

.bookedmodal form {
  position: relative;
  text-align: left;
  vertical-align: middle;
}

.bookedmodal .d-flex {
  position: absolute;
  top: 3.45rem;
  width: 100%;
  display: flex;
  justify-content: center;
}

.bookedmodal .form-check-input {
  position: relative;
  margin-top: 0;
  margin-left: 0;
  vertical-align: middle;
  background-color: rgba(0, 0, 0, 0);
  margin-right: 0.4em;
  border-width: 0.08em;
  border-style: solid;
  border-color: rgb(0, 0, 0);
  border-image: initial;
  width: 0.25rem;
  height: 0.25rem;
}

.bookedmodal .form-check-input {
  vertical-align: middle;
  background-color: hsl(0deg 0% 0% / 0%);
  border: 0.08em solid #000000;
  margin-right: 0.4em;
}

.bookedmodal .form-check-input:checked[type="checkbox"] {
  background-image: url(https://res1-nte.iwplay.com.tw/images/pop/check.svg);
}

@media (max-height: 550px) and (orientation: landscape) {
  .privacymodal .list_con {
    height: 6.5rem;
  }
}

#eventAlertModal .modal-body {
  margin: 0 auto;
  width: 6rem;
  height: 5.34rem;
  background: url(https://res1-nte.iwplay.com.tw/images/pop/popCont_alert.png)
    no-repeat 0 0;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 1.6rem;
  border-radius: 0.28rem;
}
#eventAlertModal .modal-body p {
  margin-bottom: 0.2rem;
  font-size: 0.3rem;
}
#eventAlertModal .btn-close {
  border: none;
  background: none;
  cursor: pointer;
  font-size: inherit;
  pointer-events: none;
}

/* ========================================================================
 * #Modal Wrapper 彈窗轉向容器樣式
 * ======================================================================== */
#modal_wrapper {
  pointer-events: none; /* 讓滑鼠點擊直接穿透外框 */
  z-index: 1055;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#modal_wrapper .modal.show {
  pointer-events: auto; /* 當彈窗打開時，恢復彈窗本身的點擊功能 */
}

/* 確保移入 modal_wrapper 的 backdrop 能完全覆蓋容器 */
#modal_wrapper .modal-backdrop {
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
}

/* ========================================================================
+  * 修正 modal_wrapper 內彈窗的轉向與點擊問題
+  * ======================================================================== */
/* 1. 解決 initial_signing_modal 點擊失效的問題 */
#modal_wrapper .initial_signing_modal {
  pointer-events: auto;
}

/* 2. 解決所有彈窗在轉向且畫面縮小後，會往左邊偏移的問題 (全面套用絕對置中解法) */
#modal_wrapper .modal-dialog,
#modal_wrapper .initial_signing_modal .modal_content {
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  transform-origin: center center !important;
}
#modal_wrapper .modal-dialog::before,
#modal_wrapper .modal-dialog::after {
  display: none !important;
}
