/* RI_SPLASH_V1 - Intro independiente de Radio Impulsa */
#ri-splash {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(135deg, #0759a8 0%, #031d3d 48%, #000 100%);
  color: #fff;
  opacity: 1;
  transition: opacity .6s ease;
}
#ri-splash[hidden] { display: none; }
#ri-splash.ri-splash-leaving { opacity: 0; pointer-events: none; }
#ri-splash::before,
#ri-splash::after {
  content: "";
  position: absolute;
  width: min(78vw, 680px);
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(80px);
  opacity: .2;
  z-index: -1;
}
#ri-splash::before { top: -35%; left: -18%; background: #168cff; }
#ri-splash::after { right: -22%; bottom: -40%; background: #0070d9; }
.ri-splash-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(90vw, 620px);
  text-align: center;
}
.ri-splash-logo-wrap {
  position: relative;
  display: grid;
  place-items: center;
  width: clamp(190px, 43vw, 330px);
  aspect-ratio: 1;
}
.ri-splash-logo-wrap::before {
  content: "";
  position: absolute;
  inset: 8%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(44,157,255,.52), rgba(10,98,190,.16) 45%, transparent 72%);
  filter: blur(16px);
  animation: riSplashGlow .75s ease both;
}
.ri-splash-logo {
  position: relative;
  z-index: 2;
  width: 82%;
  height: 82%;
  object-fit: contain;
  filter: drop-shadow(0 14px 25px rgba(0,0,0,.42));
  animation: riSplashZoom .75s cubic-bezier(.34,1.56,.64,1) both;
}
.ri-splash-eq {
  position: absolute;
  right: 6%;
  bottom: 18%;
  z-index: 3;
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 32px;
  opacity: .78;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,.35));
  animation: riSplashFadeUp .5s ease .35s both;
}
.ri-splash-eq i {
  display: block;
  width: 4px;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(180deg, #d9efff, #168cff);
  transform-origin: bottom;
  animation: riSplashEq 1.05s ease-in-out infinite alternate;
}
.ri-splash-eq i:nth-child(2) { height: 24px; animation-delay: -.7s; }
.ri-splash-eq i:nth-child(3) { height: 18px; animation-delay: -.35s; }
.ri-splash-eq i:nth-child(4) { height: 28px; animation-delay: -.9s; }
.ri-splash-eq i:nth-child(5) { height: 15px; animation-delay: -.15s; }
.ri-splash-eq.is-paused i { animation-play-state: paused; }
.ri-splash-wave {
  position: absolute;
  inset: 15%;
  border: 2px solid rgba(133,206,255,.72);
  border-radius: 50%;
  animation: riSplashWave 2.2s ease-out infinite;
}
.ri-splash-wave:nth-child(2) { animation-delay: .45s; }
.ri-splash-wave:nth-child(3) { animation-delay: .9s; }
.ri-splash-title {
  margin: .6rem 0 0;
  font: 800 clamp(2rem, 6vw, 3.65rem)/1.05 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .035em;
  text-shadow: 0 4px 18px rgba(0,0,0,.42);
  animation: riSplashFadeUp .5s ease .5s both;
}
.ri-splash-tagline {
  margin: .65rem 0 0;
  color: #d9efff;
  font: 500 clamp(.95rem, 2.8vw, 1.3rem)/1.35 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .08em;
  animation: riSplashFadeUp .5s ease .7s both;
}
.ri-splash-audio-status {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: .85rem;
  color: #d9efff;
  font: 600 .82rem/1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .03em;
}
.ri-splash-audio-dot { width: 9px; height: 9px; border-radius: 50%; background: #facc15; box-shadow: 0 0 0 0 rgba(250,204,21,.65); animation: riSplashAudioPulse 1.3s infinite; }
.ri-splash-audio-status.is-ready .ri-splash-audio-dot { background: #4ade80; box-shadow: 0 0 10px rgba(74,222,128,.8); animation: none; }
.ri-splash-audio-status.is-playing .ri-splash-audio-dot { background: #38bdf8; box-shadow: 0 0 10px rgba(56,189,248,.8); animation: riSplashAudioPulse .8s infinite; }
.ri-splash-audio-status.is-blocked .ri-splash-audio-dot { background: #fb923c; box-shadow: 0 0 10px rgba(251,146,60,.7); animation: none; }
.ri-splash-skip {
  margin-top: .75rem;
  padding: .65rem 1.2rem;
  border: 1px solid rgba(217,239,255,.62);
  border-radius: 999px;
  background: rgba(3,29,61,.38);
  color: #fff;
  font: 600 .9rem/1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .04em;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
  animation: riSplashFadeUp .5s ease .9s both;
}
.ri-splash-skip:hover,
.ri-splash-skip:focus-visible {
  border-color: #fff;
  background: rgba(22,140,255,.48);
  transform: translateY(-1px);
}
.ri-splash-skip:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@keyframes riSplashZoom { 0% { transform: scale(.15); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
@keyframes riSplashGlow { 0% { transform: scale(.3); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
@keyframes riSplashFadeUp { 0% { transform: translateY(16px); opacity: 0; } 100% { transform: translateY(0); opacity: 1; } }
@keyframes riSplashWave { 0% { transform: scale(.7); opacity: .72; } 100% { transform: scale(2.2); opacity: 0; } }
@keyframes riSplashAudioPulse { 0%,100% { transform: scale(.85); opacity: .7; } 50% { transform: scale(1.18); opacity: 1; } }
@keyframes riSplashEq { 0% { transform: scaleY(.35); opacity: .55; } 100% { transform: scaleY(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  #ri-splash, .ri-splash-logo, .ri-splash-logo-wrap::before, .ri-splash-wave, .ri-splash-eq, .ri-splash-eq i, .ri-splash-title, .ri-splash-tagline, .ri-splash-audio-status, .ri-splash-audio-dot, .ri-splash-skip { animation: none; transition-duration: .2s; }
}
