
/* LORENTS fond v2.0 — mu-plugin lorents-fond.php — charte 2026 « Scene »
   ------------------------------------------------------------------
   Ce qui change par rapport a v1.1 : le champ du kit (quatre halos paves
   verticalement sur 4200 a 6300 px, plus un lineaire pave a 3900) n est plus
   servi. Il reste dans le custom_css du kit 349007, mais la regle ci-dessous
   le neutralise. Tout ce qui eclaire la page vit desormais ICI, et tout est
   ancre a la FENETRE, pas au document.

   Pourquoi : les trois defauts payes en septembre venaient tous du pavage.
   1. Couture sur grand ecran — un rayon en vmax dans un pave en px se
      tranchait au bord du pave (saut de 14 niveaux a 2560 px).
   2. Bandes entre les foyers — entre deux halos le fond retombait au noir nu.
   3. Effet kaki — un brun sombre desature pose contre un violet se lit olive.
   Un calque fixe ne se pave pas : il n a ni bord ni repetition, donc aucun de
   ces trois defauts ne peut revenir, quelle que soit la hauteur de la page ou
   la largeur de l ecran. Et il n y a plus qu une famille de teinte a l ecran
   (l orange de marque), donc plus de voisinage capable de virer olive.

   Compose hors ligne avant pose (scratchpad/fond_calc2.py) :
     clarte      3,8 a 10,4 %
     saturation 11,6 a 36,9 %
     teinte     20,2 a 24,9 deg   (le kaki vit entre 40 et 160)
     saut maximal 0,058 niveau par 0,1 % de hauteur (v1 : 0,17)
     papier #F6F1EC sur le point le plus clair : 15,5:1
     marque #E07A4A sur le point le plus clair :  5,8:1
   ------------------------------------------------------------------ */

/* 1. Le champ du kit est neutralise. Poids d un identifiant (html:not(#id))
   pour passer devant body:not(:has(...)):not(.postid-360741), et !important
   parce que la regle du kit est elle-meme en !important sur chaque ligne. */
html:not(#lrs-f) body{
  background-color:#0B0A09 !important;
  background-image:none !important;
}

/* 2. La couche d ambiance. Fixe, sous tout le contenu, sans interaction. */
.lrs-bgfx{
  position:fixed; inset:0; z-index:-1;
  pointer-events:none; overflow:hidden;
  contain:layout paint;
}

/* 2a. Le lavis chaud et la vignette basse : la page n est jamais un aplat,
   et le bas de chaque ecran se ferme legerement. Pas un second foyer —
   deux lineaires, donc aucune forme visible. */
.lrs-bgfx::before{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg,
      rgba(224,122,74,.030)   0%,
      rgba(224,122,74,.014)  45%,
      rgba(224,122,74,.004) 100%),
    linear-gradient(180deg,
      rgba(7,6,6,0)   50%,
      rgba(7,6,6,.22) 100%);
}

/* 2b. LA source. Une seule, large, tres douce, posee au-dessus du cadre :
   la lumiere tombe d en haut comme sur une scene. Elle derive en 64 s, en
   transform seulement, donc composite par le GPU, sans repeindre la page. */
.lrs-bgfx i{
  position:absolute; display:block;
  border-radius:50%;
  will-change:transform;
  transform:translate3d(0,0,0);
}
.lrs-bgfx i.s{
  left:50%; margin-left:-75vw; top:-46vh;
  width:150vw; height:118vh;
  background:radial-gradient(closest-side,
    rgba(224,122,74,.095),
    rgba(224,122,74,.030) 46%,
    rgba(224,122,74,0) 100%);
  animation:lrsbg-s 64s ease-in-out infinite alternate;
}
@keyframes lrsbg-s{
  0%  {transform:translate3d(-4vw,0,0) scale(1)}
  100%{transform:translate3d(4vw,3vh,0) scale(1.1)}
}

/* 2c. Le grain. Meme motif que celui deja servi par le kit (140 px, bruit
   fractal desature a 5 %), mais l URI est entierement pourcent-encodee et
   SANS guillemets : le minifieur de LiteSpeed a deja perdu un guillemet
   ouvrant sur une copie du kit le 18/09, ce qui tuait 43 Ko de CSS. Sans
   guillemet, ce defaut ne peut pas se produire ici. */
.lrs-bgfx::after{
  content:""; position:absolute; inset:0;
  background-image:url(data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%27140%27%20height=%27140%27%3E%3Cfilter%20id=%27n%27%3E%3CfeTurbulence%20type=%27fractalNoise%27%20baseFrequency=%27.8%27%20numOctaves=%273%27%20stitchTiles=%27stitch%27/%3E%3CfeColorMatrix%20type=%27saturate%27%20values=%270%27/%3E%3C/filter%3E%3Crect%20width=%27140%27%20height=%27140%27%20filter=%27url%28%23n%29%27%20opacity=%27.05%27/%3E%3C/svg%3E);
  background-size:140px 140px;
  background-repeat:repeat;
}

@media (prefers-reduced-motion:reduce){
  .lrs-bgfx i{animation:none !important}
}
