/* ==========================================================================
   PANDA MEME BOMBERMAN — SCREEN LAYOUTS & OVERLAYS
   Lobby, HUD, Mobile Controls, Pause, Settings, Results, Guide
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Canvas & Game Container
   -------------------------------------------------------------------------- */
html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  background-color: var(--bg-app);
  font-family: var(--font-body);
  color: var(--text-primary);
  -webkit-font-smoothing: antialiased;
}

#game-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 1;
  touch-action: none;
}

#mobile-controls, #top-controls, button {
  touch-action: none;
  -webkit-touch-callout: none;
}
input, textarea, [contenteditable="true"] {
  -webkit-user-select: text;
  user-select: text;
}
/* Keep dialog content scrollable; manipulation prevents double-tap zoom. */
.arcade-modal-backdrop {
  touch-action: pan-y;
}

/* Ambient Animated Game Background */
body::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 20%, rgba(239, 68, 68, 0.16), transparent 60%),
              radial-gradient(circle at 85% 85%, rgba(34, 211, 238, 0.12), transparent 50%),
              radial-gradient(circle at 15% 80%, rgba(250, 204, 21, 0.10), transparent 50%);
  pointer-events: none;
  z-index: 2;
}


.reduced-motion .arcade-btn-pulse,
.reduced-motion .badge-bomb,
.reduced-motion .waiting-notice,
.reduced-motion .guide-slide {
  animation: none;
}

@media (prefers-reduced-motion: reduce) {
  .arcade-btn-pulse, .badge-bomb, .waiting-notice, .guide-slide {
    animation: none;
  }
}

#art-loading { position: fixed; inset: 0; z-index: 5000; display: flex; align-items: center; justify-content: center; color: var(--color-gold); font: 800 24px var(--font-display); background: #0b2826; padding: 24px; text-align: center; }
#art-loading::before { content: ''; width: 80px; height: 80px; background: url('/avatars/06_laughing.png') center / contain no-repeat; margin-right: 20px; }
