/* Le liseré lumineux d'une analyse en cours (src/lueur.js), d'après la carte « Colored, Glowing Edge » de
   Superdesign (codepen simeydotme/RNWoPRj) donnée par Henri le 27/10/2026 : un maillage de dégradés vu dans
   la seule bordure, masqué par un cône qui tourne, et une lueur sur le bord. Sobre (Henri : « too much ! plus
   sobre comme l'exemple »), puis renforcé (28/10 : « augmente l'effet IA quand je clique sur une parcelle ») : liseré de
   2 px, secteurs plus larges, lueur plus franche dedans et un halo court dehors ; toujours pas de voile au centre. Pas de violet (règle d'Henri) :
   bleus, cyans, vert, jaune, corail. Une surcouche fixe, recalée à chaque image sur le cadre qui analyse
   (la fiche, la feuille du téléphone, le panneau du foncier) : elle ne défile pas avec lui, n'est pas rognée
   par lui et ne prend jamais le pointeur. */
.lu { position: fixed; z-index: 80; pointer-events: none; opacity: 0; transition: opacity .75s ease-in-out; contain: layout style; }
.lu.on { opacity: 1; transition: opacity .3s ease-out; }
.lu > i, .lu-cone > i { position: absolute; inset: 0; border-radius: inherit; }
/* le liseré : le maillage, dans la seule bordure d'1,5 px, aux secteurs du cône */
.lu-cone { position: absolute; inset: 0; border-radius: inherit;
  -webkit-mask-image: conic-gradient(from var(--lu-deg, 45deg) at center, #000 32%, transparent 46%, transparent 54%, #000 68%);
  mask-image: conic-gradient(from var(--lu-deg, 45deg) at center, #000 32%, transparent 46%, transparent 54%, #000 68%); }
.lu-bord {
  border: 2px solid transparent;
  background:
    radial-gradient(at 80% 55%, hsl(212 100% 66%) 0, transparent 50%) border-box,
    radial-gradient(at 69% 34%, hsl(349 100% 72%) 0, transparent 50%) border-box,
    radial-gradient(at 8% 6%, hsl(136 90% 62%) 0, transparent 50%) border-box,
    radial-gradient(at 41% 38%, hsl(192 100% 58%) 0, transparent 50%) border-box,
    radial-gradient(at 86% 85%, hsl(186 100% 60%) 0, transparent 50%) border-box,
    radial-gradient(at 82% 18%, hsl(46 100% 58%) 0, transparent 50%) border-box,
    radial-gradient(at 51% 4%, hsl(12 100% 66%) 0, transparent 50%) border-box,
    linear-gradient(hsl(205 100% 66%) 0 100%) border-box;
  -webkit-mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0) border-box;
  -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) padding-box exclude, linear-gradient(#000 0 0) border-box;
}
/* la lueur : un trait clair et son halo, dedans et dehors, au secteur étroit du cône */
.lu-halo {
  --lu-c: 40deg 85% 78%;
  box-shadow: inset 0 0 0 1.5px hsl(var(--lu-c) / 1), inset 0 0 6px 0 hsl(var(--lu-c) / .55), inset 0 0 18px 0 hsl(var(--lu-c) / .28), inset 0 0 36px 2px hsl(var(--lu-c) / .12),
    0 0 6px 0 hsl(var(--lu-c) / .45), 0 0 18px 2px hsl(var(--lu-c) / .22);
  -webkit-mask-image: conic-gradient(from var(--lu-deg, 45deg) at center, #000 5%, transparent 16%, transparent 84%, #000 95%);
  mask-image: conic-gradient(from var(--lu-deg, 45deg) at center, #000 5%, transparent 16%, transparent 84%, #000 95%);
  mix-blend-mode: plus-lighter;
}
html:not([data-theme="sombre"]):not([data-theme="dark"]) .lu-halo { --lu-c: 205deg 95% 55%; mix-blend-mode: normal; }
/* mouvement réduit : le liseré seul, fixe, qui s'allume puis s'éteint */
@media (prefers-reduced-motion: reduce) { .lu-halo { display: none; } .lu-cone { -webkit-mask-image: none; mask-image: none; } }
@media print { .lu { display: none !important; } }
