/* ロジック用の追加スタイル（既存CSSは変更しない）。 */

/* 獲得済みスタンプは見返し可能を示すカーソル */
.quizrally_spot.qr-collected {
  cursor: pointer;
}

/* Added 演出：新規獲得スタンプを一度だけ強調 */
@keyframes qrAddedPop {
  0% { transform: scale(0.6); opacity: 0; }
  60% { transform: scale(1.15); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}
.quizrally_spot.qr-added .stamp_img {
  animation: qrAddedPop 0.7s ease-out both;
}
.quizrally_spot.qr-added::after {
  content: "Added!";
  position: absolute;
  top: -0.6em;
  right: -0.4em;
  padding: 0.1em 0.5em;
  font-size: 0.7rem;
  font-weight: bold;
  color: #fff;
  background: #c0392b;
  border-radius: 1em;
  animation: qrAddedPop 0.7s ease-out both;
  pointer-events: none;
}
.quizrally_spot { position: relative; }

/* ポップアップ・コンポーネントを index 上に差し込むオーバーレイ */
.qr-overlay {
  position: fixed;
  inset: 0;
  z-index: 10200;
  background: rgba(0, 0, 0, 0.55);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 24px 0 40px;
}
.qr-overlay_inner {
  margin: auto;
}

/* 交換済み賞品ボタン：交換済みバッジ＋トーンダウン（btnoff と併用される） */
.present_exchange_btnwrap.qr-exchanged { position: relative; }
.present_exchange_btnwrap.qr-exchanged .qr-exchanged-badge {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 2;
  padding: 2px 10px;
  border-radius: 999px;
  background: #c0392b;
  color: #fff;
  font-size: 12px;
  line-height: 1.6;
  white-space: nowrap;
  pointer-events: none;
}

/* クイズ等のオーバーレイ表示中も言語切替ボタンを押せるよう前面へ（overlay=10200 の上）。 */
body.qr-overlay-open .lang_wrap {
  z-index: 10300;
}
