/* =============================================================
 v25.0.1 UI 191-210 Full Bind
 目的：191〜210素材の役割を画面ごとに固定し、スマホUIの一貫性を上げる。
 セーブ・ランキング・ガチャ確率・パズル計算には触らない。
 ============================================================= */
:root{
  --ui191:url('./assets/ui_191_210/191_common_back_button.webp');
  --ui192:url('./assets/ui_191_210/192_common_home_button.webp');
  --ui193:url('./assets/ui_191_210/193_common_close_button.webp');
  --ui194:url('./assets/ui_191_210/194_common_confirm_button_bg.webp');
  --ui195:url('./assets/ui_191_210/195_common_cancel_button_bg.webp');
  --ui196:url('./assets/ui_191_210/196_common_claim_button_bg.webp');
  --ui197:url('./assets/ui_191_210/197_common_warning_icon.webp');
  --ui198:url('./assets/ui_191_210/198_common_loading_icon.webp');
  --ui199:url('./assets/ui_191_210/199_common_notice_badge.webp');
  --ui200:url('./assets/ui_191_210/200_mobile_header_bg.webp');
  --ui201:url('./assets/ui_191_210/201_sortie_start_button.webp');
  --ui202:url('./assets/ui_191_210/202_difficulty_card_bg.webp');
  --ui203:url('./assets/ui_191_210/203_selected_difficulty_frame.webp');
  --ui204:url('./assets/ui_191_210/204_stage_info_panel.webp');
  --ui205:url('./assets/ui_191_210/205_formation_confirm_panel.webp');
  --ui206:url('./assets/ui_191_210/206_boss_info_panel.webp');
  --ui207:url('./assets/ui_191_210/207_boss_support_slot.webp');
  --ui208:url('./assets/ui_191_210/208_item_bring_slot.webp');
  --ui209:url('./assets/ui_191_210/209_sortie_caution_panel.webp');
  --ui210:url('./assets/ui_191_210/210_ready_banner.webp');
}

/* 200：共通ヘッダー背景。タイトル画面には使わない。 */
.screen:not(#titleScreen) .topbar,
.homeTopbar,
.mapTopbar{
  background-image:linear-gradient(rgba(255,255,255,.25),rgba(255,255,255,.25)),var(--ui200)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  border:0!important;
  border-radius:26px!important;
  box-shadow:0 8px 20px rgba(0,0,0,.14)!important;
  color:#24184f!important;
}
.screen:not(#titleScreen) .topbar b,
.homeTopbar b,
.mapTopbar b{
  color:#24184f!important;
  text-shadow:0 1px 0 rgba(255,255,255,.75)!important;
  font-weight:1000!important;
}

/* 191/192：戻る・ホーム系は見た目を固定。ただし小型ボタンとして扱う。 */
button.v2501BackBtn,
#prepBack,#mapBackHome,#ratingBack,#collectionBack,#bossBack,#profileBack,#highScoreBack,
#missionBack,#loginBonusBack,#presentBoxBack,#awakenBack,#itemBack,#trainingBack,
button.toTitle{
  background-color:transparent!important;
  background-image:var(--ui191)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  border:0!important;
  box-shadow:none!important;
  color:#281d5b!important;
  text-shadow:0 1px 0 rgba(255,255,255,.78)!important;
  font-weight:1000!important;
  min-width:104px!important;
  min-height:48px!important;
  padding:0 14px!important;
  touch-action:manipulation!important;
}
button.v2501HomeBtn,
#prepToHome,.toHome,#mapToHome,#homeBackBtn{
  background-color:transparent!important;
  background-image:var(--ui192)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  border:0!important;
  box-shadow:none!important;
  color:#281d5b!important;
  text-shadow:0 1px 0 rgba(255,255,255,.78)!important;
  font-weight:1000!important;
  min-width:104px!important;
  min-height:48px!important;
  padding:0 14px!important;
  touch-action:manipulation!important;
}

/* 193：閉じる系 */
button.v2501CloseBtn,
.closeBtn,.modalCloseBtn,[data-close="1"],#stageInfoClose,#mapOpenBannerClose{
  background-color:transparent!important;
  background-image:var(--ui193)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  border:0!important;
  box-shadow:none!important;
  color:#281d5b!important;
  min-width:50px!important;
  min-height:50px!important;
  touch-action:manipulation!important;
}

/* 194/195/196：決定・キャンセル・受け取り。既存ロジックに影響しない範囲で見た目だけ適用。 */
.v2501ConfirmBtn,button[data-v2501-action="confirm"],
#retryBtn,#nextStageBtn,#resultPrep,#resultHighScoreBtn,
#submitEndlessBestBtn,#refreshEndlessRankingBtn,#saveProfileNameBtn,#saveRankingNameBtn{
  background-color:transparent!important;
  background-image:var(--ui194)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  border:0!important;
  color:#24184f!important;
  text-shadow:0 1px 0 rgba(255,255,255,.82)!important;
  font-weight:1000!important;
}
.v2501CancelBtn,button[data-v2501-action="cancel"],
#quitGame,#resultEndlessSubmitBtn{
  background-color:transparent!important;
  background-image:var(--ui195)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  border:0!important;
  color:#24184f!important;
  text-shadow:0 1px 0 rgba(255,255,255,.82)!important;
  font-weight:1000!important;
}
.v2501ClaimBtn,
#v2494LoginClaimBtn,#v2494MissionClaimBtn,#v2493LoginClaimBtn,#v2493MissionClaimBtn,
.claimBtn,.receiveBtn,[data-v2501-action="claim"]{
  background-color:transparent!important;
  background-image:var(--ui196)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  border:0!important;
  color:#24184f!important;
  text-shadow:0 1px 0 rgba(255,255,255,.82)!important;
  font-weight:1000!important;
}

/* 197/198/199：注意・読み込み・通知バッジ */
.v2501Warning::before,
#prepScreen .v2501CautionPanel::before{
  content:"";
  display:inline-block;
  width:28px;
  height:28px;
  flex:0 0 28px;
  background-image:var(--ui197);
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  vertical-align:middle;
  margin-right:6px;
}
.v2501LoadingIcon{
  display:inline-block!important;
  width:34px!important;
  height:34px!important;
  background-image:var(--ui198)!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
}
.v2501NoticeBadge,
.homeGuestEventBanner::after{
  background-image:var(--ui199)!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
}

/* 201：出撃開始。公式の固定開始ボタンはこれに統一。 */
#v2494PrepStartBtn,
#v2493PrepStartBtn,
#v2489FixedStart,
#startGame{
  background-color:transparent!important;
  background-image:var(--ui201)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  border:0!important;
  box-shadow:0 10px 24px rgba(0,0,0,.28)!important;
  color:#261846!important;
  text-shadow:0 1px 0 rgba(255,255,255,.82)!important;
  font-weight:1000!important;
}

/* 出撃準備：セクションをJSタグ付けで完全固定。:has依存を避ける。 */
body.v2494-prep-active #prepScreen .v2501StageInfoPanel,
#prepScreen .v2501StageInfoPanel{
  background-color:transparent!important;
  background-image:var(--ui204)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  border:0!important;
  box-shadow:none!important;
  padding:18px 16px!important;
}
#prepScreen .v2501DifficultySection{
  background:rgba(255,255,255,.72)!important;
  border-radius:22px!important;
}
#prepScreen .difficultyGrid{
  gap:10px!important;
}
#prepScreen .difficultyBtn{
  background-color:transparent!important;
  background-image:var(--ui202)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  border:0!important;
  box-shadow:none!important;
  min-height:82px!important;
  color:#24184f!important;
  text-shadow:0 1px 0 rgba(255,255,255,.86)!important;
}
#prepScreen .difficultyBtn.active{
  background-image:var(--ui203),var(--ui202)!important;
  background-size:100% 100%,100% 100%!important;
  background-repeat:no-repeat,no-repeat!important;
  border:0!important;
}
#prepScreen .v2501LeaderSection,
#prepScreen .v2501TeamSection{
  background-color:transparent!important;
  background-image:var(--ui205)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  border:0!important;
  box-shadow:none!important;
}
#prepScreen .v2501BossSection{
  background-color:transparent!important;
  background-image:var(--ui206)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  border:0!important;
  box-shadow:none!important;
}
#prepScreen .bossSupportCard{
  background-color:transparent!important;
  background-image:var(--ui207)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  border:0!important;
  box-shadow:none!important;
}
#prepScreen .v2501ItemSection{
  background-color:transparent!important;
  background-image:var(--ui208)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  border:0!important;
  box-shadow:none!important;
}
#prepScreen .v2501CautionPanel{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  background-color:transparent!important;
  background-image:var(--ui209)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  border:0!important;
  box-shadow:none!important;
  padding:12px 14px!important;
  margin:8px 0!important;
  color:#3b2b50!important;
  text-shadow:none!important;
  font-weight:900!important;
}
#prepScreen .v2501ReadyBanner{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(100%,560px)!important;
  min-height:50px!important;
  margin:4px auto 8px!important;
  background-image:var(--ui210)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  color:#4a285a!important;
  text-shadow:0 1px 0 rgba(255,255,255,.82)!important;
  font-weight:1000!important;
  font-size:18px!important;
}

/* 既存のv25.0.0から来る重複バナーがあっても1個に見せる */
#prepScreen .v2500ReadyBanner{display:none!important;}
#prepScreen .v2500CautionPanel{display:none!important;}

/* 文字の視認性を固定 */
#prepScreen .v2501StageInfoPanel *,
#prepScreen .v2501LeaderSection *,
#prepScreen .v2501TeamSection *,
#prepScreen .v2501BossSection *,
#prepScreen .v2501ItemSection *,
#prepScreen .v2501DifficultySection *{
  text-shadow:none!important;
}
#prepScreen .v2501StageInfoPanel h3,
#prepScreen .v2501LeaderSection h3,
#prepScreen .v2501TeamSection h3,
#prepScreen .v2501BossSection h3,
#prepScreen .v2501ItemSection h3,
#prepScreen .v2501DifficultySection h3,
#prepScreen .v2501StageInfoPanel b{
  color:#201645!important;
  font-weight:1000!important;
}
#prepScreen .v2501StageInfoPanel .helper,
#prepScreen .v2501LeaderSection .helper,
#prepScreen .v2501TeamSection .helper,
#prepScreen .v2501BossSection .helper,
#prepScreen .v2501ItemSection .helper,
#prepScreen .v2501DifficultySection .helper{
  color:#44385e!important;
  font-weight:900!important;
}

/* スマホでボタンが大きすぎる場合の調整 */
@media (max-width: 430px){
  button.v2501BackBtn,
  #prepBack,#mapBackHome,#ratingBack,#collectionBack,#bossBack,#profileBack,#highScoreBack,
  #missionBack,#loginBonusBack,#presentBoxBack,#awakenBack,#itemBack,#trainingBack,
  button.toTitle,
  button.v2501HomeBtn,#prepToHome,.toHome{
    min-width:92px!important;
    min-height:44px!important;
    font-size:12px!important;
    padding:0 10px!important;
  }
  .screen:not(#titleScreen) .topbar,.homeTopbar,.mapTopbar{
    padding:11px 12px!important;
    border-radius:22px!important;
  }
  #prepScreen .difficultyBtn{
    min-height:74px!important;
  }
}
