/* Apertura de Radar como app (09/11/2026). Ver assets/radar/splash.js para la secuencia.
   --k escala todos los tiempos: 1 = completa (2,1 s), .6 = breve (1,26 s). Solo transform y opacity. */
html.rx-boot,html.rx-boot body{background:#071a3a}
html.rx-boot body>:not(.rx-splash){opacity:0;transform:translateY(14px)}
html.rx-reveal body>:not(.rx-splash){transition:opacity .5s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}

.rx-splash{--k:1;--e:cubic-bezier(.2,.7,.2,1);--e2:cubic-bezier(.6,0,.2,1);position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#071a3a;color:#fff;overflow:hidden;touch-action:none;transition:opacity calc(450ms * var(--k)) var(--e2)}
.rx-splash--brief{--k:.6}
.rx-splash>*{grid-area:1/1;align-self:center;justify-self:center}

/* Fase 1 · encendido: destello pequeño que crece y cede el sitio al logo. */
.rx-splash__core{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(120,232,255,.95) 0,rgba(31,120,255,.55) 26%,rgba(31,107,255,0) 68%);opacity:0;transform:scale(.25);animation:rx-core calc(1100ms * var(--k)) var(--e) both;will-change:transform,opacity}
@keyframes rx-core{0%{opacity:0;transform:scale(.25)}32%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.9)}}

/* Fase 3 · activación: halo radial detrás de la V. */
.rx-splash__halo{width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(31,107,255,.5) 0,rgba(31,107,255,.18) 38%,rgba(7,26,58,0) 70%);opacity:0;transform:scale(.6);animation:rx-halo calc(700ms * var(--k)) calc(1100ms * var(--k)) var(--e) forwards;will-change:transform,opacity}
@keyframes rx-halo{0%{opacity:0;transform:scale(.6)}40%{opacity:.95;transform:scale(1.05)}100%{opacity:.55;transform:scale(1)}}

/* El logo: pulso en la activación, retroceso en la revelación. */
.rx-splash__mark{display:block;overflow:visible;filter:drop-shadow(0 0 18px rgba(31,140,255,.35));animation:rx-pulse calc(560ms * var(--k)) calc(1100ms * var(--k)) var(--e) backwards;transition:transform calc(450ms * var(--k)) var(--e2),opacity calc(450ms * var(--k)) var(--e2);will-change:transform}
@keyframes rx-pulse{0%{transform:scale(1)}45%{transform:scale(1.045)}100%{transform:scale(1)}}

/* Silueta: la V se insinúa en el encendido (y no desaparece del todo respecto al icono nativo). */
.rx-sil{opacity:.16;animation:rx-sil calc(600ms * var(--k)) calc(120ms * var(--k)) var(--e) both}
@keyframes rx-sil{0%{opacity:.16}55%{opacity:.34}100%{opacity:.08}}

/* Fase 2 · construcción: trazo luminoso que recorre la V y relleno que la llena detrás. */
.rx-trace{stroke-dasharray:1;stroke-dashoffset:1;animation:rx-trace calc(750ms * var(--k)) calc(350ms * var(--k)) var(--e2) both,rx-trace-rest calc(500ms * var(--k)) calc(1150ms * var(--k)) var(--e) forwards}
.rx-trace--glow{opacity:.9}
@keyframes rx-trace{to{stroke-dashoffset:0}}
@keyframes rx-trace-rest{to{opacity:.35}}
.rx-outer{opacity:0;animation:rx-fill calc(520ms * var(--k)) calc(680ms * var(--k)) var(--e) both}
@keyframes rx-fill{to{opacity:1}}
.rx-inner{opacity:0;transform:translateY(2px);transform-box:fill-box;transform-origin:center;animation:rx-inner calc(380ms * var(--k)) calc(850ms * var(--k)) var(--e) both}
@keyframes rx-inner{to{opacity:1;transform:none}}
.rx-sheen{transform:translateX(-26px) skewX(-18deg);animation:rx-sheen calc(560ms * var(--k)) calc(1000ms * var(--k)) var(--e2) both}
@keyframes rx-sheen{to{transform:translateX(40px) skewX(-18deg)}}

/* Rótulo: RADAR / RADAR ADMIN. */
.rx-splash__label{margin:0;transform:translateY(118px);font:700 13px/1 "Barlow Condensed",Manrope,system-ui,-apple-system,sans-serif;letter-spacing:.34em;text-indent:.34em;color:#bcd3ff;text-transform:uppercase;animation:rx-label calc(420ms * var(--k)) calc(1250ms * var(--k)) var(--e) backwards;transition:opacity calc(300ms * var(--k)) var(--e2)}
@keyframes rx-label{from{opacity:0;transform:translateY(126px)}}

/* Fase 4 · revelación. */
.rx-splash.is-out{opacity:0;pointer-events:none}
.rx-splash.is-out .rx-splash__mark{transform:translateY(-10px) scale(.92);opacity:0}
.rx-splash.is-out .rx-splash__label,.rx-splash.is-out .rx-splash__halo{opacity:0}

/* Movimiento reducido: la V ya construida, sin trazos ni pulsos; solo un fundido. */
.rx-splash--reduced *,.rx-splash--reduced{animation:none!important}
.rx-splash--reduced{transition-duration:320ms}
.rx-splash--reduced .rx-splash__core{display:none}
.rx-splash--reduced .rx-splash__halo{opacity:.5;transform:none}
.rx-splash--reduced .rx-outer,.rx-splash--reduced .rx-inner{opacity:1;transform:none}
.rx-splash--reduced .rx-trace{opacity:.3;stroke-dashoffset:0}
.rx-splash--reduced .rx-sheen{display:none}
.rx-splash--reduced .rx-sil{opacity:.08}
.rx-splash--reduced.is-out .rx-splash__mark{transform:none}
@media (prefers-reduced-motion:reduce){html.rx-boot body>:not(.rx-splash){transform:none}html.rx-reveal body>:not(.rx-splash){transition-duration:.3s}}
