/*
 * Phase 2 — Lot CSS 2AW
 * Module : points stables des exercices respiratoires
 * Extraction stricte du bloc nf-v343d-points-stables-css.
 * Aucune règle de navigation et aucun JavaScript modifiés.
 */

/* Périmètre strict : cohérence 5·5 et player carré safe. Pas de moteur, pas d'audio, pas de navigation. */
#screen-coherence_55 .nf-v38-stage,
#screen-carre_rythme_safe .nf-crs-stage{ text-align:center!important; }

#screen-coherence_55 #nf-v38-phase,
#screen-carre_rythme_safe #nf-crs-phase{
  display:block!important;
  width:100%!important;
  min-height:38px!important;
  line-height:1.05!important;
  margin:14px auto 4px!important;
  text-align:center!important;
  font-family:var(--font-ui)!important;
  font-style:normal!important;
  font-size:1.7rem!important;
  font-weight:800!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
  color:var(--nf-copper)!important;
  transform:none!important;
  white-space:nowrap!important;
}
#screen-coherence_55.nf-v343d-inhale #nf-v38-phase,
#screen-carre_rythme_safe.nf-v343d-inhale #nf-crs-phase{ color:var(--nf-green,#4A7B5C)!important; }
#screen-coherence_55.nf-v343d-exhale #nf-v38-phase,
#screen-carre_rythme_safe.nf-v343d-exhale #nf-crs-phase{ color:var(--nf-copper)!important; }
#screen-coherence_55.nf-v343d-pause #nf-v38-phase,
#screen-carre_rythme_safe.nf-v343d-pause #nf-crs-phase{ color:var(--nf-ink)!important; }

/* On cache le compteur technique original, car il provoque des réécritures et visuellement il crée de la friction. */
#screen-coherence_55 #nf-v38-count,
#screen-carre_rythme_safe #nf-crs-count{
  position:absolute!important;
  width:1px!important;height:1px!important;
  overflow:hidden!important;clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;opacity:0!important;pointer-events:none!important;
}

#screen-coherence_55 .nf-v343d-subtitle,
#screen-carre_rythme_safe .nf-v343d-subtitle{
  min-height:20px;
  margin:0 auto 16px;
  text-align:center;
  font-family:var(--font-ui);
  font-size:.92rem;
  line-height:1.25;
  color:var(--nf-ink-mid);
}
#screen-coherence_55 .nf-v343d-cycle,
#screen-carre_rythme_safe .nf-v343d-cycle{
  width:min(310px,86%);
  margin:4px auto 18px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:0;
  text-align:center;
  position:relative;
}
#screen-carre_rythme_safe .nf-v343d-cycle{ width:min(330px,88%); gap:0; }
/* V34.3e : ligne statique entre les points uniquement. Elle ne progresse pas, donc pas de désynchronisation possible. */
#screen-coherence_55 .nf-v343d-cycle::before,
#screen-carre_rythme_safe .nf-v343d-cycle::before{
  content:'';
  position:absolute;
  left:7px;
  right:7px;
  top:6px;
  height:1px;
  background:rgba(42,37,32,.22);
  z-index:0;
}
#screen-coherence_55 .nf-v343d-step,
#screen-carre_rythme_safe .nf-v343d-step{
  position:relative;
  z-index:1;
}
#screen-coherence_55 .nf-v343d-step,
#screen-carre_rythme_safe .nf-v343d-step{
  min-width:56px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:4px;
  color:rgba(42,37,32,.42);
  font-family:var(--font-ui);
  font-size:.78rem;
  line-height:1.08;
}
#screen-carre_rythme_safe .nf-v343d-step{ min-width:50px; }
#screen-coherence_55 .nf-v343d-dot,
#screen-carre_rythme_safe .nf-v343d-dot{
  width:13px;height:13px;border-radius:50%;
  background:rgba(42,37,32,.28);
  box-shadow:none;
  transition:background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
#screen-coherence_55 .nf-v343d-step.active,
#screen-carre_rythme_safe .nf-v343d-step.active{ font-weight:700; color:var(--nf-copper); }
#screen-coherence_55 .nf-v343d-step.active .nf-v343d-dot,
#screen-carre_rythme_safe .nf-v343d-step.active .nf-v343d-dot{
  background:var(--nf-copper);
  transform:scale(1.18);
  box-shadow:0 0 0 5px rgba(196,103,66,.10);
}
#screen-coherence_55 .nf-v343d-step.inhale.active,
#screen-carre_rythme_safe .nf-v343d-step.inhale.active{ color:var(--nf-green,#4A7B5C); }
#screen-coherence_55 .nf-v343d-step.inhale.active .nf-v343d-dot,
#screen-carre_rythme_safe .nf-v343d-step.inhale.active .nf-v343d-dot{
  background:var(--nf-green,#4A7B5C);
  box-shadow:0 0 0 5px rgba(74,123,92,.10);
}
#screen-coherence_55 .nf-v343d-step .nf-v343d-sec,
#screen-carre_rythme_safe .nf-v343d-step .nf-v343d-sec{
  font-weight:600;
  opacity:.95;
}

/* Synchronisation visuelle des formes, sans toucher au timer ni au son. */
#screen-coherence_55 .nf-v38-orb{
  animation:none!important;
  transform:scale(.88);
  transition:transform 4.85s linear, box-shadow 4.85s linear!important;
  will-change:transform;
}
#screen-coherence_55 .nf-v38-orb::before{ animation:none!important; }
#screen-coherence_55.nf-v343d-inhale .nf-v38-orb{
  transform:scale(1.16)!important;
  box-shadow:rgba(0,0,0,.35) -8px -10px 24px inset,rgba(217,119,87,.62) 0 0 78px!important;
}
#screen-coherence_55.nf-v343d-exhale .nf-v38-orb{
  transform:scale(.86)!important;
  box-shadow:rgba(0,0,0,.35) -8px -10px 24px inset,rgba(217,119,87,.36) 0 0 38px!important;
}
#screen-coherence_55 .nf-v38-orb.paused{ transition:transform .35s ease!important; }

#screen-carre_rythme_safe .nf-crs-square{
  animation:none!important;
  will-change:transform;
}
#screen-carre_rythme_safe.nf-v343d-inhale .nf-crs-square{ transform:scale(1.16)!important; }
#screen-carre_rythme_safe.nf-v343d-exhale .nf-crs-square{ transform:scale(.84)!important; }
#screen-carre_rythme_safe.nf-v343d-pause .nf-crs-square{ transform:scale(1.00)!important; }

/* La barre de progression respiratoire mobile est volontairement supprimée : seuls les points indiquent la phase. */
#screen-coherence_55 .nf-v343d-cycle-line,
#screen-carre_rythme_safe .nf-v343d-cycle-line{ display:none!important; }
