/* コンテンツのクリック・タップ・スクロールを妨げないオーバーレイ */
#snjg-overlay {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  height: 100dvh;
  overflow: hidden;
  pointer-events: none !important;
  z-index: 9999;
  contain: layout style paint;
}
#snjg-overlay, #snjg-overlay * {
  pointer-events: none !important;
  user-select: none;
  -webkit-user-select: none;
}
#snjg-overlay .snjg-ghost {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  line-height: 0;
  opacity: 0;
  transform-origin: center center;
  transition-property: transform, opacity;
  transition-duration: 16s, 1.4s;
  transition-timing-function: ease-in-out, ease;
  will-change: transform;
}
#snjg-overlay .snjg-ghost img {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  box-shadow: none;
  max-width: none;
  filter: drop-shadow(0 2px 3px rgba(78, 65, 118, 0.12));
  animation: snjg-bob var(--snjg-bob-time, 4.8s) ease-in-out infinite alternate;
}
@keyframes snjg-bob {
  from { transform: translate3d(0, -5px, 0) rotate(-5deg); }
  to   { transform: translate3d(0, 6px, 0) rotate(5deg); }
}
@media (prefers-reduced-motion: reduce) {
  #snjg-overlay { display: none !important; }
}
