/* Styles de la scène (overlay + aperçu éditeur) */
.stage { position: relative; overflow: hidden; transform-origin: 0 0; user-select: none; }
.stage .grp { position: absolute; display: flex; align-items: center; transform-origin: 0 0; }
.stage .card { display: flex; flex-direction: column; align-items: center; line-height: .95; }
.stage .card img { object-fit: contain; filter: drop-shadow(0 6px 10px rgba(0,0,0,.45)); }
.stage[data-idle="float"] .card img { animation: float 3.2s ease-in-out infinite; animation-delay: inherit; }
.stage[data-idle="pulse"] .card img { animation: pulse 2.4s ease-in-out infinite; animation-delay: inherit; }
.stage .lbl { text-transform: uppercase; white-space: nowrap; margin-top: -10px; letter-spacing: .5px; }
.stage .lbl.sub { margin-top: 2px; }
.stage .txt { position: absolute; white-space: nowrap; text-transform: uppercase; line-height: 1.05; }
.stage .txt.pill { padding: .08em .45em .12em; border-radius: .35em; }
.stage .ph { display: grid; place-items: center; border: 4px dashed rgba(255,255,255,.55); border-radius: 22px; color: #fff; font: 600 20px system-ui, sans-serif; background: rgba(0,0,0,.25); }
@keyframes float { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-9px) } }
@keyframes pulse { 0%,100% { transform: scale(1) } 50% { transform: scale(1.07) } }
