/* CyberRedeem — the load splash (owner 2026-10-30): the lockup on black while the page's fonts, first
   pictures and first figures arrive, so nobody sees a half-built page. Loaded first and tiny; the
   page's own stylesheet follows. splash.js lifts it; without script, the backstop at the end does. */
.splash {
  position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; background: #0b0b0b;
  transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), visibility 0s linear 300ms;
  animation: sp-backstop 1ms linear 5s forwards;
}
.sp-lock {
  display: inline-flex; align-items: center; gap: 12px; height: 58px; padding: 0 6px 0 18px;
  border: 2.5px solid #fff; border-radius: 14px; color: #fff;
  font: 700 26px/1 "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: -0.02em;
  opacity: 0; transform: scale(0.96);
  animation: sp-in 420ms cubic-bezier(0.23, 1, 0.32, 1) 60ms forwards;
  transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.sp-tk { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #fff; color: #0b0b0b; }
.sp-tk path { stroke-dasharray: 24; stroke-dashoffset: 24; animation: sp-tick 380ms cubic-bezier(0.23, 1, 0.32, 1) 360ms forwards; }
/* still waiting after the tick: it re-draws, slowly, so the screen visibly works */
.splash.wait .sp-tk path { animation: sp-redraw 1100ms cubic-bezier(0.77, 0, 0.175, 1) infinite; }
.splash.done { opacity: 0; visibility: hidden; pointer-events: none; }
.splash.done .sp-lock { transform: translateY(-8px) scale(0.98); }
.splash.instant { transition: none; }
@keyframes sp-in { to { opacity: 1; transform: none; } }
@keyframes sp-tick { to { stroke-dashoffset: 0; } }
@keyframes sp-redraw { 0% { stroke-dashoffset: 0; } 45% { stroke-dashoffset: -24; } 46% { stroke-dashoffset: 24; } 100% { stroke-dashoffset: 0; } }
@keyframes sp-backstop { to { opacity: 0; visibility: hidden; pointer-events: none; } }
@media (prefers-reduced-motion: reduce) {
  .sp-lock { animation: none; opacity: 1; transform: none; transition: none; }
  .sp-tk path, .splash.wait .sp-tk path { animation: none; stroke-dashoffset: 0; }
}
