/* Hush — la mascotte. Voir hush.js. */
.hush { display: inline-block; line-height: 0; color: var(--hush-ink, #0B0D12); }
.hush svg { width: 100%; height: auto; overflow: visible; }

/* Clignement : toutes les ~4,5 s, chaque Hush à son rythme (délai posé par hush.js). */
.hush-eyes { transform-box: fill-box; transform-origin: center; animation: hush-blink 4.6s infinite; }
@keyframes hush-blink { 0%, 93%, 100% { transform: scaleY(1); } 96% { transform: scaleY(.08); } }
.hush-pupil { transition: transform .12s ease-out; }

/* Entrées douces selon la pose. */
.hush-badge svg { animation: hush-hop 2.4s ease-in-out infinite; }
@keyframes hush-hop { 0%, 70%, 100% { transform: translateY(0); } 80% { transform: translateY(-6%); } 90% { transform: translateY(0); } }
.hush-sleep svg { animation: hush-breathe 3.6s ease-in-out infinite; transform-origin: 40% 70%; }
@keyframes hush-breathe { 50% { transform: scaleY(1.04); } }
.hush-lift svg g[transform] { animation: hush-peek 3.2s ease-in-out infinite; }
@keyframes hush-peek { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }

/* Le mot caviardé d'un titre, couvert par Hush. */
.hush-cover.hush-on { position: relative; display: inline-block; color: transparent; outline: none; cursor: default; }
.hush-cover .hush-lid {
  position: absolute; inset: -0.02em -0.04em; display: flex; align-items: center; justify-content: center;
  background: var(--hush, #7C5CFF); border-radius: 10px; transform-origin: 8% 100%;
  transition: transform .35s cubic-bezier(.3, 1.5, .5, 1);
}
.hush-cover .hush-lid svg { height: 62%; width: auto; overflow: visible; }
.hush-cover.hush-on:hover, .hush-cover.hush-on:focus-visible { color: inherit; }
.hush-cover.hush-on:hover .hush-lid,
.hush-cover.hush-on:focus-visible .hush-lid { transform: translateY(-.26em) rotate(-7deg); }

/* Moins d'animations demandées : Hush reste immobile, les yeux ouverts. */
.hush-calme .hush-eyes, .hush-calme .hush svg, .hush-calme .hush-lift svg g[transform] { animation: none; }
.hush-calme .hush-cover .hush-lid { transition: none; }
@media (prefers-reduced-motion: reduce) {
  .hush-eyes, .hush svg, .hush-lift svg g[transform] { animation: none; }
}

/* Une figure de Hush dans un article (kit presse, Académie). */
.hush-figure { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; margin: 12px 0 20px; }
.hush-figure .hush { width: 260px; max-width: 70%; }
.hush-figure .hush.petit { width: 150px; }

/* L'anonymiseur gratuit : Hush au-dessus du texte codé. */
.anx-hush { width: 120px; margin: 4px 0 10px; }
