@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap');

/* ═══ Flappy Bird — design system jeux.html ═══ */
.jeu-v-wrap { max-width: 480px; margin: 0 auto; }

#game-content { overflow: hidden; }

.jvflappy-shell {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Utility */
.jvflappy-shell .hidden { display: none !important; }

/* ── Playfield ── */
.jvflappy-playfield {
  position: relative;
  width: min(100%, clamp(300px, 72vw, 360px));
  aspect-ratio: 22 / 25;
  margin: 0 auto;
  border-radius: 18px;
  overflow: hidden;
  border: 3px solid #e6c84c;
  box-shadow: 0 0 28px rgba(230,200,76,.18), inset 0 0 20px rgba(0,0,0,.24);
  background: #1a1a2e;
  touch-action: none;
  overscroll-behavior: contain;
  -webkit-user-select: none;
  user-select: none;
}

#jvflappy-canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

/* ── In-canvas score HUD ── */
.jvflappy-score-hud {
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-family: 'Press Start 2P', monospace;
  font-size: 24px;
  line-height: 1;
  text-shadow: 2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000;
  z-index: 2;
  pointer-events: none;
}

/* ── Overlay plein écran ── */
.jvflappy-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  background: var(--cd, #fff);
  overflow: hidden;
}

/* Scroll sur le contenu interne, pas sur l'overlay lui-même */
.jvflappy-overlay > .snk-screen {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.jvflappy-overlay.hidden { display: none; }

/* Contenu centré verticalement */
.jvflappy-overlay .snk-screen {
  justify-content: center;
  align-items: center;
  padding-top: 14px;
  padding-bottom: 14px;
  width: 100%;
  min-height: 100%;
  box-sizing: border-box;
}

/* ── Overlay card content ── */
.jvflappy-overlay-icon {
  font-size: 34px;
  margin-bottom: 8px;
}

.jvflappy-overlay-title {
  margin: 0 0 8px;
  color: #e6c84c;
  font-family: 'Press Start 2P', monospace;
  font-size: 15px;
  line-height: 1.3;
  text-shadow: 3px 3px 0 #2a5d2a, -1px -1px 0 #2a5d2a;
}

.jvflappy-overlay-score {
  margin: 0 0 14px;
  font-size: 11px;
  line-height: 1.55;
  color: var(--tx2);
}

.jvflappy-overlay-actions {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* ── Responsive ── */
@media (max-width: 560px) {
  .jeu-v-wrap { max-width: 430px; }
  .jvflappy-playfield { width: min(100%, 332px); }
  .jvflappy-score-hud { font-size: 22px; }
  .jvflappy-overlay-title { font-size: 13px; }
}

@media (max-width: 420px) {
  .jeu-v-wrap { max-width: none; }
  .jvflappy-playfield { width: min(100%, 316px); }
}
