/* ScrambleDeck デッキ構築画面スタイル。
   カードの見た目(.card と .layer-*)は battle.css を流用し、ここでは画面レイアウトと
   デッキ画面固有の部品(バッジ・デッキ一覧・色ドット)だけを定義する。
   battle.css の body(flex中央寄せ)を打ち消すため .deck-page で上書きする。 */

body.deck-page {
  display: block;                 /* battle.css の flex中央寄せを解除し、通常の縦フローに戻す */
  min-height: 100vh;
  padding: 0;
  color: var(--text-light);
}

/* ── 上部バー ───────────────────────────────────────────────────────── */
.deck-topbar {
  position: sticky;               /* スクロールしても上に貼り付く */
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: clamp(8px, 2vw, 16px) clamp(12px, 3vw, 28px);
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
}
.deck-title {
  margin: 0;
  font-size: clamp(16px, 3vw, 24px);
}
.deck-back {
  color: var(--text-light);
  text-decoration: none;
  font-size: clamp(13px, 2.4vw, 18px);
  padding: 6px 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.12);
}
.deck-back:hover { background: rgba(255, 255, 255, 0.25); }

.deck-save-btn {
  padding: clamp(8px, 1.6vh, 12px) clamp(16px, 3vw, 26px);
  border: none;
  border-radius: 10px;
  background: var(--mine-color);
  color: var(--text-light);
  font-size: clamp(14px, 2.4vw, 18px);
  font-weight: bold;
  cursor: pointer;
}
.deck-save-btn:hover:not(:disabled) { background: #2f8fe6; }
.deck-save-btn:disabled { opacity: 0.4; cursor: not-allowed; }

/* ── 全体レイアウト：カード一覧(左) ＋ デッキ(右) ───────────────────────
   広い画面は横並び、狭い画面(モバイル)は縦積みに切り替える。 */
.deck-layout {
  display: flex;
  align-items: flex-start;
  gap: clamp(12px, 2vw, 28px);
  padding: clamp(12px, 2.5vw, 28px);
}
.deck-pool { flex: 1 1 auto; min-width: 0; }
.deck-current {
  flex: 0 0 auto;
  width: clamp(200px, 26vw, 300px);
  position: sticky;               /* デッキ内容はスクロールに追従して見えたまま */
  top: clamp(56px, 10vh, 88px);
  background: rgba(0, 0, 0, 0.45);
  border-radius: 12px;
  padding: clamp(12px, 1.6vw, 18px);
}
@media (max-width: 720px) {
  .deck-layout { flex-direction: column; }
  .deck-current { width: 100%; position: static; order: -1; } /* モバイルはデッキを上に */
}

.deck-section-title {
  margin: 0 0 12px;
  font-size: clamp(14px, 2.4vw, 18px);
  opacity: 0.85;
}

/* ── カード一覧グリッド ─────────────────────────────────────────────── */
.deck-pool-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(clamp(96px, 12vw, 130px), 1fr));
  gap: clamp(8px, 1.4vw, 16px);
}
/* 一覧内のカードは掴む対象ではないのでクリック用カーソルにする（battle.css は grab）。 */
.deck-pool-grid .card { cursor: pointer; width: 100%; }

/* これ以上追加できないカードは暗くして押せないと分かるようにする（クリックは canAdd で弾く）。 */
.pool-card.maxed { filter: brightness(0.45); }
.pool-card.maxed:hover { transform: none; filter: brightness(0.45); }

/* 採用枚数バッジ：カード右上に丸で重ねる。 */
.card-count-badge {
  position: absolute;
  top: 4%;
  right: 6%;
  min-width: 1.8em;
  height: 1.8em;
  padding: 0 0.3em;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--mine-color);
  color: var(--text-light);
  font-size: 8cqw;                /* カード幅連動（battle.css の .card と同じ container 内） */
  font-weight: bold;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
  pointer-events: none;
}

/* ── デッキ内容パネル ───────────────────────────────────────────────── */
.deck-counter {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 8px;
}
.deck-counter-value { font-size: clamp(28px, 5vw, 40px); font-weight: 900; }
.deck-counter-max   { font-size: clamp(14px, 2.4vw, 18px); opacity: 0.7; }

.deck-colors {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  min-height: 20px;
}
.deck-color-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.5);
}
.dot-green { background: var(--mana-green); }
.dot-white { background: var(--mana-white); }
.dot-red   { background: var(--mana-red); }
.dot-blue  { background: var(--mine-color); }
.dot-black { background: #444; }
.deck-color-count { font-size: 13px; opacity: 0.75; margin-left: 4px; }
.deck-color-count.over { color: #ff8a8a; opacity: 1; font-weight: bold; }

.deck-status {
  margin: 0 0 12px;
  font-size: clamp(12px, 2vw, 15px);
  min-height: 1.2em;
  opacity: 0.85;
}
.deck-status.ok    { color: #8fe38f; opacity: 1; }
.deck-status.error { color: #ff8a8a; opacity: 1; font-weight: bold; }

/* 採用カード一覧：1行1種類、枚数付き。クリックで1枚戻す。 */
.deck-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 50vh;
  overflow-y: auto;
}
.deck-empty { opacity: 0.6; font-size: 13px; text-align: center; padding: 12px 0; }
.deck-row {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 6px 8px;
  border: none;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-light);
  font-size: clamp(12px, 2vw, 15px);
  cursor: pointer;
  text-align: left;
}
.deck-row:hover { background: rgba(255, 80, 80, 0.25); } /* 戻す操作＝赤系でホバー */
.deck-row-cost {
  flex: 0 0 auto;
  min-width: 1.6em;
  text-align: center;
  font-weight: bold;
  opacity: 0.8;
}
.deck-row-name  { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.deck-row-count { flex: 0 0 auto; font-weight: bold; }
.deck-row-remove { flex: 0 0 auto; width: 18px; height: 18px; opacity: 0.8; }
