/* LetsGiro splash — OPZIONE 5
   Solo avvio PWA/standalone. Sfondo bianco, nessuna ombra. */

.app-splash{
  display:none;
}

html.pwa-splash-launch .app-splash{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
  opacity:1;
  visibility:visible;
}

.app-splash-stage{
  position:relative;
  width:min(44vw,220px);
  aspect-ratio:1;
  display:flex;
  align-items:center;
  justify-content:center;
}

.app-splash-logo{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  transform-origin:50% 50%;
  /* Nessuna ombra: il fondo bianco dell'immagine si fonde con lo splash. */
}

.app-splash-ring{
  position:absolute;
  z-index:1;
  left:50%;
  top:50%;
  width:100%;
  height:100%;
  border:2px solid #64d1d4;
  border-radius:50%;
  opacity:0;
  transform:translate(-50%,-50%) scale(.45);
  pointer-events:none;
}

html.pwa-splash-launch .app-splash.is-running .app-splash-logo{
  animation:lgCompassOrient 720ms cubic-bezier(.22,.61,.36,1) both;
}

html.pwa-splash-launch .app-splash.is-running .app-splash-ring{
  animation:lgCompassPulse 760ms cubic-bezier(.2,.7,.25,1) 650ms both;
}

html.pwa-splash-launch .app-splash.is-leaving{
  animation:lgSplashLeave 360ms ease-out both;
}

@keyframes lgCompassOrient{
  0%{transform:rotate(0deg)}
  18%{transform:rotate(-11deg)}
  38%{transform:rotate(8deg)}
  56%{transform:rotate(-5deg)}
  72%{transform:rotate(3deg)}
  88%{transform:rotate(-1deg)}
  100%{transform:rotate(0deg)}
}

@keyframes lgCompassPulse{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.45);
  }
  12%{opacity:.9}
  100%{
    opacity:0;
    transform:translate(-50%,-50%) scale(7.5);
  }
}

@keyframes lgSplashLeave{
  from{opacity:1;visibility:visible}
  to{opacity:0;visibility:hidden}
}

@media (prefers-reduced-motion:reduce){
  html.pwa-splash-launch .app-splash.is-running .app-splash-logo,
  html.pwa-splash-launch .app-splash.is-running .app-splash-ring{
    animation:none;
  }
}
