/*
 * Page de reecriture. Elle reprend la grille de `text.css` ; ce fichier ne
 * couvre que ce qui lui est propre.
 *
 * PULSATION, JAMAIS CLIGNOTEMENT. Un clignotement franc au-dela de trois
 * alternances par seconde est un risque documente pour les personnes
 * photosensibles (WCAG 2.3.1), et une animation qui se repete doit pouvoir etre
 * mise en pause (WCAG 2.2.2) - il n'y a pas de commande pour cela ici. La
 * pulsation attire l'oeil sans jamais eteindre le bouton, s'arrete au premier
 * clic, et disparait si le systeme demande moins de mouvement.
 */

.rw-pulse:not(:disabled) {
  animation: rw-pulse 2.2s ease-in-out infinite;
}

@keyframes rw-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.45); }
  50% { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
}

/*
 * L'encadre qui propose la suite. Il n'apparait qu'APRES un resultat : le
 * visiteur a vu son propre texte reecrit avant de lire une offre, ce qui est
 * toute la difference entre un essai qui convertit et une porte fermee.
 */
.rw-more {
  margin: 1.4rem 0 0;
  padding: 1.1rem 1.2rem;
  border: 1px solid var(--a-500);
  border-radius: 12px;
  background: rgba(34, 197, 94, 0.06);
}

.rw-more-head {
  margin: 0 0 0.4rem;
  font-weight: 650;
  color: var(--a-500);
}

.rw-more-body {
  margin: 0 0 0.9rem;
  font-size: 0.94rem;
  line-height: 1.55;
}

/* Le resultat n'est pas modifiable : on le montre comme un texte, pas comme un
   champ vide qui inviterait a ecrire dedans. */
#rwOutput[readonly] {
  background: rgba(255, 255, 255, 0.02);
}

@media (prefers-reduced-motion: reduce) {
  .rw-pulse:not(:disabled) { animation: none; }
}

/*
 * Le bloc « fichier » des abonnes, dans l'encadre reseau de la page texte.
 * Masque par defaut (attribut hidden) : il n'apparait que lorsqu'une session
 * d'abonne active est connue. Tout en classes — la politique de securite
 * ignore les attributs style=.
 */
.rw-file {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--line);
}
.rw-file-head { margin: 0 0 0.3rem; font-size: 0.9rem; }
.rw-file-sub { margin: 0 0 0.8rem; font-size: 0.82rem; color: var(--text-3); line-height: 1.55; }
.rw-file-row { display: flex; gap: 0.7rem; align-items: center; flex-wrap: wrap; }
.rw-file-row input[type="file"] { font-size: 0.85rem; color: var(--text-2); max-width: 100%; }
.rw-file-status { min-height: 1.2rem; margin: 0.6rem 0 0; font-size: 0.85rem; }
.rw-file-status.is-ok { color: var(--accent); }
.rw-file-status.is-warn { color: var(--rose-500); }
