/* sanak8 OS PWA cold start — logo split reveal before hub (K8-OS-1053). */

.sanak8-pwa-boot-splash.sanak8-entry-opening-overlay {
  z-index: 120;
  background: var(--sana-k8-bleed);
}

.sanak8-pwa-boot-splash {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #050505;
  pointer-events: auto;
  opacity: 1;
  transition: opacity 420ms ease;
}

.sanak8-pwa-boot-splash.is-fading {
  opacity: 0;
  pointer-events: none;
}

.sanak8-pwa-boot-splash.is-removed {
  display: none;
}

.sanak8-pwa-boot-splash__stage {
  position: relative;
  width: min(42vw, 168px);
  height: min(42vw, 168px);
  max-width: 168px;
  max-height: 168px;
}

.sanak8-pwa-boot-splash__curtain {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  overflow: hidden;
  will-change: transform;
}

.sanak8-pwa-boot-splash__curtain--left {
  left: 0;
}

.sanak8-pwa-boot-splash__curtain--right {
  right: 0;
}

.sanak8-pwa-boot-splash__logo {
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  max-width: none;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: scale(0.92);
  opacity: 0;
  animation: sanak8-pwa-boot-logo-in 520ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.sanak8-pwa-boot-splash__curtain--right .sanak8-pwa-boot-splash__logo {
  left: -100%;
}

.sanak8-pwa-boot-splash.is-splitting .sanak8-pwa-boot-splash__curtain--left {
  animation: sanak8-pwa-boot-split-left 680ms cubic-bezier(0.65, 0, 0.35, 1) forwards;
}

.sanak8-pwa-boot-splash.is-splitting .sanak8-pwa-boot-splash__curtain--right {
  animation: sanak8-pwa-boot-split-right 680ms cubic-bezier(0.65, 0, 0.35, 1) forwards;
}

.sanak8-pwa-boot-splash__label {
  position: absolute;
  left: 50%;
  bottom: max(1.75rem, calc(env(safe-area-inset-bottom, 0px) + 1rem));
  transform: translateX(-50%);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(199, 210, 254, 0.72);
  opacity: 0;
  animation: sanak8-pwa-boot-label-in 480ms ease 180ms forwards;
}

@keyframes sanak8-pwa-boot-logo-in {
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes sanak8-pwa-boot-label-in {
  to {
    opacity: 1;
  }
}

@keyframes sanak8-pwa-boot-split-left {
  to {
    transform: translateX(-102%);
  }
}

@keyframes sanak8-pwa-boot-split-right {
  to {
    transform: translateX(102%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sanak8-pwa-boot-splash__logo {
    animation: sanak8-pwa-boot-logo-in-reduced 320ms ease forwards;
  }

  .sanak8-pwa-boot-splash.is-splitting .sanak8-pwa-boot-splash__curtain--left,
  .sanak8-pwa-boot-splash.is-splitting .sanak8-pwa-boot-splash__curtain--right {
    animation: none;
  }

  .sanak8-pwa-boot-splash.is-splitting {
    opacity: 0;
    transition: opacity 280ms ease;
  }

  @keyframes sanak8-pwa-boot-logo-in-reduced {
    to {
      opacity: 1;
      transform: scale(1);
    }
  }
}
