/* logo_vivant.css — 🫧 le dessin du logo qui respire, commun (S173) : Découvrir et la page d'accueil du domaine.
   Sorti tel quel de public/decouvrir/index.html (S161, S170). Moteur : logo_vivant.js. */
/* S161 (6/10/2026) — LE VRAI LOGO QUI RESPIRE (sa demande). Les couches sont découpées dans l'icône de l'app
   (assets/logo/, recomposées elles redonnent l'icône pixel pour pixel). Inspiration : le jaune se dilate, le bleu et le
   marron s'écartent pour le laisser respirer, et le logo monte en s'éloignant de son ombre ; expiration : tout se
   resserre et redescend. Vertical, lent, jamais de rotation. */
/* S170 — l'icône qui respire (maquette V6, réglages d'Anto) : la bille garde EXACTEMENT sa taille au repos (--lv) ;
   la toile WebGL est plus grande (--lv / 0,86) pour qu'elle ait la place de gonfler, centrée, sans pousser la page. */
/* S170 — l'icône qui respire = la maquette V6, à l'identique, mise à l'échelle par --lv (taille de la bille au repos).
   Proportions de la V6 : scène 300 × 360, toile 260 posée à (20, 40), bille = 86 % de la toile (223,6), sol à 26 du bas. */
.logo-vivant{--s:calc(var(--lv,150px) / 223.6);position:relative;display:block;width:calc(300 * var(--s));height:calc(360 * var(--s));margin:0 auto}
.logo-vivant .lv-porteur{position:absolute;left:calc(20 * var(--s));top:calc(40 * var(--s));width:calc(260 * var(--s));height:calc(260 * var(--s));will-change:transform}
.logo-vivant .lv-repli{position:absolute;inset:7%;width:86%;height:86%}
.logo-vivant .lv-toile{position:absolute;inset:0;width:100%;height:100%;visibility:hidden}
.logo-vivant.gl .lv-toile{visibility:visible}.logo-vivant.gl .lv-repli{visibility:hidden}
/* Le sol de la V6, fond foncé : une lueur chaude, qui se resserre et pâlit quand la bille s'envole. */
.logo-vivant .lv-sol{position:absolute;left:24%;right:24%;bottom:calc(26 * var(--s));height:8%;border-radius:50%;
  background:radial-gradient(closest-side,rgb(255 190 110 / .55),rgb(255 140 60 / .18) 60%,transparent)}
