/* Lanceur · lumière au survol « Lumière ambiante » (héros + bento). Calques créés et animés par lumiere.js ;
   seuls transform et opacity changent pendant l'animation. */

/* ---------- Héros : aurore de fond ---------- */
.glow-follow { position: absolute; inset: 0; z-index: -2; pointer-events: none; overflow: hidden; }
.lu-g { position: absolute; left: 0; top: 0; pointer-events: none; will-change: transform, opacity; transform: translate3d(50vw, 380px, 0); }

/* ---------- Surfaces éclairées : formulaire, fenêtre, cartes du bento ---------- */
.lu-surf { position: relative; isolation: isolate; }
.lu-ring, .lu-wash { position: absolute; pointer-events: none; border-radius: inherit; opacity: 0; }
/* liseré de 1 px : le calque n'est visible que sur la bordure (masque) */
.lu-ring {
  inset: -1px; padding: 1px; z-index: 3; overflow: hidden;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude;
}
/* lueur intérieure, sous le contenu */
.lu-wash { inset: 0; z-index: -1; overflow: hidden; }
.lu-b { position: absolute; left: 0; top: 0; border-radius: 50%; will-change: transform; transform: translate3d(-9999px, 0, 0); }
/* fenêtre du launcher : même arrondi que .lc-win ; rien en plein écran */
.lc-tilt > .lu-ring { border-radius: calc(12px * var(--lc-s, 1) + 1px); }
.launcher-slot.lc-full .lu-ring { display: none; }
