/* Desktop-only launch identity. The website keeps its existing boot screen. */
html[data-desktop] #boot-splash {
  background: #f4f6f8;
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  transition: opacity 420ms ease;
}
html[data-desktop] app-root:not(:empty) ~ #boot-splash {
  opacity: 1;
  visibility: visible;
}
html[data-desktop-ready] app-root:not(:empty) ~ #boot-splash,
html[data-desktop-ready] #boot-splash {
  opacity: 0;
  pointer-events: none;
}
html[data-desktop] .desktop-brand {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.desktop-mark {
  width: 112px;
  height: 132px;
  display: grid;
  place-items: center;
  animation: desktop-ignite 950ms cubic-bezier(.16, 1, .3, 1) both;
}
.desktop-mark img { width: 73px; height: 100px; object-fit: contain; }
.desktop-wordmark {
  color: #424a4d;
  font-family: var(--font-display, 'Poppins', sans-serif);
  font-size: 36px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.03em;
  animation: desktop-wordmark 750ms 180ms cubic-bezier(.16, 1, .3, 1) both;
}
.desktop-wordmark span { color: #ed6b17; }
.desktop-glow {
  position: absolute;
  width: min(55vw, 620px);
  aspect-ratio: 1;
  border-radius: 50%;
  animation: desktop-bloom 1800ms cubic-bezier(.16, 1, .3, 1) both;
}
.desktop-glow-orange {
  background: radial-gradient(circle, rgba(245, 166, 35, .20), transparent 67%);
  transform: translate(-28%, -15%);
  animation: desktop-bloom 1800ms ease both, desktop-orange-drift 18s ease-in-out infinite alternate;
}
.desktop-glow-teal {
  background: radial-gradient(circle, rgba(31, 200, 219, .16), transparent 67%);
  transform: translate(35%, 20%);
  animation: desktop-bloom 1800ms ease both, desktop-teal-drift 22s ease-in-out infinite alternate;
}
.desktop-loading { display: flex; gap: 7px; margin-top: 10px; }
.desktop-loading i {
  width: 5px; height: 5px; border-radius: 50%; background: #0a2540;
  animation: desktop-breathe 1000ms ease-in-out infinite;
}
.desktop-loading i:nth-child(2) { animation-delay: 140ms; }
.desktop-loading i:nth-child(3) { animation-delay: 280ms; }
@keyframes desktop-ignite {
  from { opacity: 0; transform: translateY(16px) scale(.78) rotate(-7deg); }
  65% { opacity: 1; transform: translateY(-3px) scale(1.04) rotate(1deg); }
  to { opacity: 1; transform: translateY(0) scale(1) rotate(0); }
}
@keyframes desktop-wordmark { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes desktop-bloom { from { opacity: 0; } to { opacity: 1; } }
@keyframes desktop-orange-drift { from { transform: translate(-28%, -15%) scale(1); } to { transform: translate(-10%, 5%) scale(1.12); } }
@keyframes desktop-teal-drift { from { transform: translate(35%, 20%) scale(1); } to { transform: translate(14%, -6%) scale(1.15); } }
@keyframes desktop-breathe { 0%, 100% { opacity: .25; transform: scale(.8); } 50% { opacity: .8; transform: scale(1); } }
@media (prefers-reduced-motion: reduce) {
  html[data-desktop] #boot-splash { transition: none; }
  html[data-desktop] #boot-splash * { animation: none; }
}
