/* ===== Lames en 3D : cadre commun (19/10/2026) =====
   Actif seulement pendant un spectacle (classe is-l3d-joue posée par lames/lames.js), sur grand écran avec souris et sans « réduire les animations ».
   Au repos, rien ne change. Le décor propre à chaque forme est dans lames/el-0X.css. */
@media (min-width: 1001px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference){
  /* Une forme qui a un spectacle ne retourne pas ses pastilles à l'arrivée : le spectacle s'en charge */
  .panel[data-l3d="oui"].is-flip .levels i{animation:none}
  /* Profondeur : les couches de la grande lame vivent dans le même espace 3D */
  .panel.is-l3d-joue .bigblade,.panel.is-l3d-joue .bigblade__field,.panel.is-l3d-joue .demo,.panel.is-l3d-joue .levels,.panel.is-l3d-joue .levels ol,.panel.is-l3d-joue .levels li{transform-style:preserve-3d}
  /* Rivet : il reste plat dans le décor 3D (aucune couche en profondeur, sinon toute la lame serait dessinée dans le décor 3D et son
     texte crénelé en densité x2, mesuré le 19/10/2026). Son volume est dessiné à plat par rivet3d.js, comme la caméra le voit. */
  /* Surface de la lame pendant un spectacle (19/10/2026) :
     1. le grain d'origine (::before en mix-blend-mode soft-light) aplatissait toute la 3D des enfants dans Chromium ;
     2. le contenu au repos était dans le même plan que la surface : caméra presque de face, Chromium découpait des morceaux de
        contenu en diagonale pendant une image (scintillement constaté à la fin de EL-06).
     Donc, pendant le spectacle seulement : couleur et grain passent sur le ::before (fusion du grain dans son propre fond, sans
     mix-blend-mode), reculé de 2 px derrière le contenu. Au repos, rien ne change. */
  .panel.is-l3d-joue .bigblade{background:transparent}
  .panel.is-l3d-joue .bigblade::before{background-color:var(--field, var(--hue));background-image:url("../assets/plates/blade-grain.webp");background-repeat:repeat;background-size:380px auto;background-blend-mode:soft-light;mix-blend-mode:normal;opacity:1;transform:translateZ(-2px)}
  /* Hors défilement, la forme n'a pas de caméra parente : elle porte sa propre perspective */
  .forms:not(.is-scrolly) .panel.is-l3d-joue{perspective:1800px}
  .l3d-calque{position:absolute;inset:0;pointer-events:none;transform-style:preserve-3d}
  /* Pendant un spectacle (et sa pose figée entre deux tours), la forme elle-même ne prend pas le pointeur : dans le contexte 3D,
     son plan l'emportait sur le contenu de la lame revenu au repos (même profondeur) et les clics n'atteignaient plus les boutons
     (ex. le son de la vidéo EL-05). La grande lame et la ligne « Pour vous / Je veux cette forme » restent cliquables. */
  .forms .panels .panel.is-l3d-joue{pointer-events:none}
  .forms .panels .panel.is-l3d-joue:not(.is-voisine) > .bigblade,.forms .panels .panel.is-l3d-joue:not(.is-voisine) > .uses{pointer-events:auto}
}
/* ===== Lames en 3D : cadre commun (fin) ===== */
