/* css/parcours.css — parcours d'accueil du nouveau joueur (js/parcours.js, 2026-10-21).
   Deux choses seulement : (1) le REPÈRE sur l'objet à atteindre ; (2) la SOURDINE de l'interface pendant le
   parcours (body.pv-on) — on masque, on ne retire rien : tout revient à la fin. Aucune refonte de style (une
   autre session restyle les interfaces) : la consigne elle-même réutilise #onboard-tip. */

/* ---------- repère (anneau pulsant à l'écran, flèche au bord si la cible est hors champ) ---------- */
#pv-mark { position: fixed; left: 0; top: 0; width: 0; height: 0; z-index: 24; pointer-events: none; will-change: transform; }
#pv-mark.hidden { display: none; }
#pv-mark .pv-ring {
  position: absolute; left: calc(var(--pv-r, 40px) * -1); top: calc(var(--pv-r, 40px) * -1);
  width: calc(var(--pv-r, 40px) * 2); height: calc(var(--pv-r, 40px) * 2); box-sizing: border-box;
  border: 3px solid var(--pn-gain, #ffd24a); border-radius: 50%;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, .35), 0 0 16px 3px var(--pn-gain, #ffd24a);
  animation: pvPulse 1.3s ease-in-out infinite;
}
#pv-mark .pv-arrow { display: none; position: absolute; left: -16px; top: -16px; width: 32px; height: 32px; transform: rotate(var(--pv-a, 0rad)); }
#pv-mark .pv-arrow::before {
  content: ''; position: absolute; left: 6px; top: 2px; border-left: 24px solid var(--pn-gain, #ffd24a);
  border-top: 14px solid transparent; border-bottom: 14px solid transparent; filter: drop-shadow(0 0 4px rgba(0, 0, 0, .7));
  animation: pvNudge 0.9s ease-in-out infinite;
}
#pv-mark.pv-edge .pv-ring { display: none; }
#pv-mark.pv-edge .pv-arrow { display: block; }
@keyframes pvPulse { 0%, 100% { transform: scale(.88); opacity: .95; } 50% { transform: scale(1.08); opacity: .55; } }
@keyframes pvNudge { 0%, 100% { translate: 0 0; } 50% { translate: 5px 0; } }
@media (prefers-reduced-motion: reduce) { #pv-mark .pv-ring, #pv-mark .pv-arrow::before { animation: none; } }

/* ---------- choix d'arme : la carte de consigne se cale SOUS les cartes de l'atelier (js/parcours.js) ---------- */
body.pv-pick #onboard-tip { top: var(--pv-pick-top, 190px) !important; }

/* ---------- sourdine pendant le parcours : seul l'essentiel reste à l'écran ---------- */
body.pv-on #killfeed,
body.pv-on #pq-quests,
body.pv-on #oog-hud,
body.pv-on #eg-hud,
body.pv-on #flash-mission,
body.pv-on #heli-notice,
body.pv-on #pearl-hud,
body.pv-on #event-card,
body.pv-on #quest-toast,
body.pv-on #gps-toasts { display: none !important; }
body.pv-on #tc-hint { display: none !important; }   /* l’aide des sticks répète les étapes 1-2 sur mobile */

/* ---------- la carte de consigne (#onboard-tip) en thème « arcade » ----------
   popup-queue.css lui impose l'entrée `pnIn` (translateY seul, `both`) qui ÉCRASE le translateX(-50%) de la
   carte : elle restait calée à droite du centre (x = 50 %) et recouvrait le classement. Tant que le didacticiel
   était éteint (CFG.TUTO.popups false), personne ne la voyait. On rend l'entrée centrée (pnInC) — sauf en
   portrait mobile, où la carte est volontairement calée à gauche (transform: none). */
html body.ui-arcade:not(.vportrait) #onboard-tip { animation-name: pnInC !important; }
