/* Zone du ping-pong. Les ecrans communs (accueil, rebours, HUD score, fin,
   classement) viennent de jeu.css ; ici, la table et son HUD propre (vies a
   gauche, logo a droite ; le score du socle est au centre). */
.pp-jeu { position: fixed; inset: 0; z-index: 1; background: #13233f center / cover no-repeat; touch-action: none; }
.pp-jeu[hidden] { display: none; }
.pp-jeu::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 50%, rgba(255, 255, 255, .06) 0%, rgba(0, 0, 0, .15) 60%, rgba(0, 0, 0, .45) 100%); pointer-events: none; }
.pp-canvas { position: absolute; inset: 0; display: block; touch-action: none; cursor: none; font-family: var(--police, Arial, Helvetica, sans-serif); }
.pp-hud { position: absolute; top: 18px; left: 14px; right: 14px; display: flex; justify-content: space-between; align-items: flex-start; z-index: 16; pointer-events: none; color: var(--jeu-hud-texte, #ffffff); text-shadow: 0 3px 7px rgba(0, 0, 0, .65); }
.pp-vies { font-size: clamp(18px, 5vw, 24px); font-weight: 900; letter-spacing: 3px; line-height: 1; }
.pp-vies-libelle { display: block; font-size: 11px; letter-spacing: 2px; margin-bottom: 4px; opacity: .8; }
.pp-vie { color: #ffffff; }
.pp-vie-perdue { color: rgba(255, 255, 255, .25); }
.pp-vie-perte { display: inline-block; animation: pp-perte .45s ease-out; }
@keyframes pp-perte { 0% { transform: scale(1.8); color: #ff4d6d; } 40% { transform: scale(.7); } 100% { transform: scale(1); } }
.pp-logo { max-width: 96px; max-height: 44px; object-fit: contain; }
.pp-logo[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .pp-vie-perte { animation: none; } }
