/* うららん 運勢ガチャ画面（洞窟・動画背景） */

.app-dark {
  background: #000;
  color: #fff;
}

/* 動画背景レイヤー */
.vl {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;  /* 動画 intrinsic size がメタデータロード前に親を膨張させないための保険 */
}
.vl video { width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: cover; }

.tl {
  position: absolute;
  inset: 0;
  z-index: 95;
  pointer-events: none;
  display: none;
  overflow: hidden;  /* 同上 */
}
.tl video { width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: cover; }
.tl.on { display: block; pointer-events: all; }

/* 上部白帯ポイントバー */
.top-strip {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  background: #fff;
}

/* タップ可能なステージ全体 */
.s-cave {
  position: absolute;
  inset: 0;
  z-index: 5;
  cursor: pointer;
}

/* 占い師カード（上部中央） */
.c-teller {
  position: absolute;
  top: 100px;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 10;
  pointer-events: none;
  opacity: 0;
  animation: fadeIn .8s ease .3s forwards;
}
@keyframes fadeIn { to { opacity: 1; } }

.c-date {
  font-size: 11px;
  color: rgba(255, 255, 255, .35);
  letter-spacing: 1px;
  margin-bottom: 14px;
}
.c-photo {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  overflow: hidden;
  border: 2.5px solid rgba(255, 215, 150, .3);
  box-shadow: 0 0 24px rgba(212, 165, 116, .15);
  margin-bottom: 10px;
}
.c-photo img { width: 100%; height: 100%; object-fit: cover; }

.c-name-area {
  background: rgba(0, 0, 0, .35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 12px;
  padding: 8px 20px;
  text-align: center;
  pointer-events: all;
}
.c-name {
  font-family: 'Noto Serif JP', serif;
  font-size: 16px;
  color: rgba(255, 255, 255, .9);
  font-weight: 500;
  margin-bottom: 3px;
}
.c-label {
  font-size: 10px;
  color: rgba(255, 255, 255, .4);
  margin-bottom: 6px;
}
.c-change {
  display: inline-block;
  font-size: 10px;
  color: var(--gold);
  background: rgba(212, 165, 116, .1);
  border: 1px solid rgba(212, 165, 116, .25);
  border-radius: 12px;
  padding: 3px 12px;
  cursor: pointer;
  font-family: inherit;
  text-decoration: none;
}

/* 中央の光（泉） */
.sg {
  position: absolute;
  left: 50%;
  top: 54%;
  transform: translate(-50%, -50%);
  width: 150px;
  height: 90px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(255, 215, 150, .2), rgba(255, 215, 150, .05) 40%, transparent 70%);
  animation: spump 3s ease-in-out infinite;
  pointer-events: none;
}
@keyframes spump {
  0%, 100% { opacity: .3; transform: translate(-50%, -50%) scale(1); }
  50%      { opacity: .8; transform: translate(-50%, -50%) scale(1.12); }
}

/* 下部プロンプト */
.c-prompt-wrap {
  position: absolute;
  top: 68%;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 10;
  pointer-events: none;
}
.c-prompt {
  display: inline-block;
  font-family: 'Noto Serif JP', serif;
  font-size: 15px;
  font-weight: 400;
  color: rgba(255, 255, 255, .8);
  letter-spacing: 3px;
  background: rgba(0, 0, 0, .4);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  padding: 10px 24px;
  border-radius: 24px;
  animation: promptPulse 3s ease-in-out infinite;
}
@keyframes promptPulse {
  0%, 100% { opacity: .55; }
  50%      { opacity: 1; }
}

/* タップ無効化中の表示 */
.s-cave.pulling { pointer-events: none; }

/* このページのフッタナビは暗背景の上に乗るので、視認性のため
   既存の白いタブバーをそのまま使う（feat-common.css のまま） */
