/* iSenda · animación de entrada al panel (después de iniciar sesión).
   Una senda luminosa se dibuja de abajo hacia arriba, marca 1.ª visita, regreso y 3.ª visita,
   y llega a la casa. Dura menos de 4 s (equipo.js espera 4 s). */
.entry-transition.es-v2{
  --es-deep:#0b2a4a;
  background:
    radial-gradient(circle at 50% 18%,rgba(45,212,191,.16),transparent 42%),
    radial-gradient(circle at 50% 100%,rgba(14,165,233,.28),transparent 55%),
    linear-gradient(160deg,#0b2a4a 0%,#0f3560 55%,#123f73 100%);
  color:#fff;
}
.es-v2 .es-glow{position:absolute;border-radius:50%;filter:blur(60px);opacity:0}
.es-v2 .es-glow-a{width:340px;height:340px;top:-60px;right:-80px;background:rgba(56,189,248,.35)}
.es-v2 .es-glow-b{width:300px;height:300px;bottom:-80px;left:-60px;background:rgba(45,212,191,.3)}
.es-v2 .es-backtrail{position:absolute;inset:0;width:100%;height:100%;opacity:0}

.es-v2 .es-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform-origin:50% 40%}
.es-v2 .es-path{width:min(400px,92vw);height:min(560px,78vh);overflow:visible}
.es-v2 .es-track{opacity:.16}
.es-v2 .es-line,.es-v2 .es-line-glow{stroke-dasharray:1;stroke-dashoffset:1}
.es-v2 .es-line-glow{opacity:.75}
.es-v2 .es-stop,.es-v2 .es-label,.es-v2 .es-home{opacity:0;transform-box:fill-box;transform-origin:center}
.es-v2 .es-ring{transform-box:fill-box;transform-origin:center;opacity:0}
.es-v2 .es-label text{fill:#e0f2fe;font:700 13px 'DM Sans',system-ui,sans-serif;letter-spacing:.2px}
.es-v2 .es-orb{opacity:0}
.es-v2 .es-home-burst{transform-box:fill-box;transform-origin:center;opacity:0}

.es-v2 .es-final{position:absolute;left:0;right:0;bottom:12vh;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 16px;opacity:0;transform:translateY(14px)}
.es-v2 .es-logo{width:46px;height:46px;margin-bottom:6px}
.es-v2 .entry-message{margin:0}
.es-v2 .entry-message span{color:#5eead4;letter-spacing:3px}
.es-v2 .entry-message strong{color:#fff}
.es-v2 .entry-loading{color:#bae6fd;margin-top:12px}
.es-v2 .entry-loading span{border-color:rgba(255,255,255,.25);border-top-color:#2dd4bf}

/* Línea de tiempo (s): 0 fondo · 0.3–2.5 senda · 0.3/1.2/2.08 hitos · 2.5 casa · 2.75 cierre · 3.2 cargando */
.es-v2.is-playing .es-glow{animation:esFade 1.2s ease forwards}
.es-v2.is-playing .es-backtrail{animation:esBack 1.6s ease forwards}
.es-v2.is-playing .es-line,.es-v2.is-playing .es-line-glow{animation:esDraw 2.2s linear .3s forwards}
.es-v2.is-playing .es-orb{animation:esOrb 2.35s linear .3s forwards}
.es-v2.is-playing .es-stop-1{animation:esPop .45s cubic-bezier(.2,.9,.3,1.4) .25s forwards}
.es-v2.is-playing .es-stop-2{animation:esPop .45s cubic-bezier(.2,.9,.3,1.4) 1.15s forwards}
.es-v2.is-playing .es-stop-3{animation:esPop .45s cubic-bezier(.2,.9,.3,1.4) 2.03s forwards}
.es-v2.is-playing .es-stop-1 .es-ring{animation:esRing .9s ease-out .35s}
.es-v2.is-playing .es-stop-2 .es-ring{animation:esRing .9s ease-out 1.25s}
.es-v2.is-playing .es-stop-3 .es-ring{animation:esRing .9s ease-out 2.13s}
.es-v2.is-playing .es-label-1{animation:esLabelR .4s ease .4s forwards}
.es-v2.is-playing .es-label-2{animation:esLabelL .4s ease 1.3s forwards}
.es-v2.is-playing .es-label-3{animation:esLabelR .4s ease 2.18s forwards}
.es-v2.is-playing .es-home{animation:esPop .5s cubic-bezier(.2,.9,.3,1.5) 2.45s forwards}
.es-v2.is-playing .es-home-burst{animation:esBurst 1.1s ease-out 2.55s}
.es-v2.is-playing .es-stage{animation:esStageOut .55s cubic-bezier(.4,0,.2,1) 2.85s forwards}
.es-v2.is-playing .es-final{animation:esFinalIn .5s ease 2.95s forwards}
.es-v2.is-playing .entry-loading{animation:esFade .3s ease 3.3s forwards;opacity:0}

@keyframes esFade{to{opacity:1}}
@keyframes esBack{to{opacity:.08}}
@keyframes esDraw{to{stroke-dashoffset:0}}
@keyframes esOrb{0%{opacity:0}6%{opacity:1}92%{opacity:1}100%{opacity:0}}
@keyframes esPop{0%{opacity:0;transform:scale(.3)}100%{opacity:1;transform:scale(1)}}
@keyframes esRing{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(2.6)}}
@keyframes esLabelR{0%{opacity:0;transform:translateX(-10px)}100%{opacity:1;transform:none}}
@keyframes esLabelL{0%{opacity:0;transform:translateX(10px)}100%{opacity:1;transform:none}}
@keyframes esBurst{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}
@keyframes esStageOut{to{opacity:.22;transform:translateY(-6vh) scale(.82)}}
@keyframes esFinalIn{to{opacity:1;transform:none}}

@media(max-height:650px){.es-v2 .es-path{height:70vh}.es-v2 .es-final{bottom:6vh}}
@media(prefers-reduced-motion:reduce){
  .es-v2.is-playing *{animation:none!important}
  .es-v2 .es-line,.es-v2 .es-line-glow{stroke-dashoffset:0}
  .es-v2 .es-stop,.es-v2 .es-label,.es-v2 .es-home,.es-v2 .es-glow{opacity:1}
  .es-v2 .es-stage{opacity:.22;transform:translateY(-6vh) scale(.82)}
  .es-v2 .es-final,.es-v2 .entry-loading{opacity:1;transform:none}
}
