/* The splash screen, written by development/plans/splash-rollout/launch.mjs: edit there, not here.
   The pre-paint script turns it on in the installed app (or with ?splash) and takes it away. It starts
   as the launch image left off: the mark, 120 pt, in the middle of the screen on the system's page
   colour (iOS picks the launch image by the system's appearance, not the app's saved theme). Then
   the mark makes its move, a glint crosses, and the splash fades into the app. Longhands only:
   Vite's minifier turns an animation shorthand without a name into `animation: none`. The mark's
   <svg> is 0 × 0 in the markup, so without this style (offline, a blocked file) nothing shows. */
#splash { display: none; }
.splash #splash { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center; background: #05070c; touch-action: none; }
@media (prefers-color-scheme: light) { .splash #splash { background: #f4f6fa; } }
#splash svg { width: 120px; height: 120px; translate: 0 calc(-1 * var(--splash-lift, 0px)); }
#splash :where(g[class], .trace) { transform-box: view-box; animation-duration: 560ms; animation-timing-function: cubic-bezier(0.45, 0, 0.25, 1); animation-delay: 60ms; animation-fill-mode: both; }
#splash .gl { animation-name: splash-glint; animation-duration: 640ms; }
@keyframes splash-glint { to { transform: translateX(2000px); } }
#splash .trace { opacity: 0; }
#splash .p1 { transform-origin: 584px 302px; }
#splash .trace { animation-name: splash-pu-t; animation-duration: 640ms; animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); }
#splash .p1 { animation-name: splash-pu-s; animation-duration: 640ms; }
@keyframes splash-pu-t { 0% { stroke-dashoffset: 0.1; opacity: 0; } 8% { opacity: 1; } 86% { opacity: 1; } 100% { stroke-dashoffset: -1; opacity: 0; } }
@keyframes splash-pu-s { 54% { transform: scale(1); } 68% { transform: scale(1.5); } }
.splash-out #splash { opacity: 0; pointer-events: none; transition: opacity 320ms ease; }
.splash-out #splash svg { scale: 1.08; transition: scale 320ms cubic-bezier(0.3, 0, 0.2, 1); }
@media (prefers-reduced-motion: reduce) {
  #splash :where(g[class], .trace) { animation: none; }
  .splash-out #splash { transition-duration: 200ms; }
  .splash-out #splash svg { scale: none; }
}
