/* gate.css — 金扉（課金ボタンのビジュアル）
 * 透過 WebP（src/assets/bg/gate_gold_600 / _1200）を <img> で置くボタン部品。js/gate.js が組む。
 * 押した瞬間に白い天界へ切り替わる＝レイヤー上昇（設計図 §0）。遷移先は既存の導線に接続し、無ければ heaven.html（ダミー）。
 */
.gate {
  display: grid;
  justify-items: center;
  gap: 10px;
  width: min(72vw, 260px);
  margin: 0 auto;
  padding: 0;
  border: 0;
  background: none;
  color: var(--gold-light);
  text-decoration: none;
  cursor: pointer;
  font: inherit;
}
.gate .gate-img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 8px 24px rgba(212, 175, 55, 0.25)) drop-shadow(0 0 48px rgba(240, 215, 140, 0.18));
  transition: filter 0.25s, transform 0.25s;
}
.gate:hover .gate-img,
.gate:focus-visible .gate-img {
  filter: drop-shadow(0 10px 28px rgba(212, 175, 55, 0.40)) drop-shadow(0 0 72px rgba(240, 215, 140, 0.35));
  transform: translateY(-2px) scale(1.01);
}
.gate .gate-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.6em 1.4em;
  border: 1px solid var(--gold);
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.08em;
  background: rgba(4, 7, 15, 0.55);
}
.gate .gate-sub { font-size: 0.8rem; color: var(--fg-muted); text-align: center; }
body[data-zone="heaven"] .gate .gate-label { background: rgba(255, 255, 255, 0.6); color: #6b5316; }

/* 押した瞬間の白いフェード（レイヤー上昇） */
.gate-flash {
  position: fixed; inset: 0; z-index: 9999;
  background: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.45s ease-in;
}
.gate-flash.on { opacity: 1; }
