/* Decorative, click-through pixel arrows only on genuinely overflowing mobile
   surfaces. They do not change the arcade artwork or the desktop layout. */
.mobile-swipe-hint {
  display: none;
  position: fixed;
  z-index: 45;
  width: 32px;
  height: 11px;
  pointer-events: none;
  user-select: none;
  color: #ffe15b;
  opacity: 0;
  visibility: hidden;
  transition: opacity 180ms linear, visibility 0s linear 180ms;
  filter: drop-shadow(0 1px 0 #000b);
  contain: layout style;
}

.mobile-swipe-hint__arrows {
  display: block;
  width: 32px;
  height: 11px;
  fill: currentColor;
  image-rendering: pixelated;
  opacity: .5;
  animation: mobile-swipe-pixel-blink 2.4s steps(2, end) infinite;
  animation-play-state: paused;
}

@media (max-width: 750px) {
  .mobile-tip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(8px, 2vw, 12px);
    padding: 14px clamp(10px, 3vw, 16px);
    background: #09090d;
    font-size: clamp(9px, 2.6vw, 11px);
    line-height: 1.25;
    letter-spacing: .045em;
  }
  .mobile-tip__copy { min-width: 0; white-space: nowrap; }
  .mobile-tip__arrows {
    display: block;
    flex: 0 0 64px;
    width: 64px;
    height: 22px;
    pointer-events: none;
  }
  .mobile-swipe-hint { display: block; }
  .mobile-swipe-hint--inline {
    position: static;
    z-index: auto;
    width: 64px;
    height: 22px;
    color: #ffe500;
    --swipe-blink-low: .7;
    --swipe-blink-high: 1;
    --swipe-still-opacity: 1;
  }
  .mobile-swipe-hint--inline .mobile-swipe-hint__arrows {
    width: 64px;
    height: 22px;
  }
  .mobile-swipe-hint[data-state="visible"] {
    visibility: visible;
    opacity: var(--swipe-hint-opacity, 0);
    transition: opacity 180ms linear, visibility 0s;
  }
  .mobile-swipe-hint[data-state="visible"] .mobile-swipe-hint__arrows {
    animation-play-state: running;
  }
}

@keyframes mobile-swipe-pixel-blink {
  0%, 100% { opacity: var(--swipe-blink-low, .35); }
  50% { opacity: var(--swipe-blink-high, .65); }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-swipe-hint { transition: none; }
  .mobile-swipe-hint__arrows { animation: none; opacity: var(--swipe-still-opacity, .55); }
}
