/* Route titles remain focus targets for assistive technology, without a box. */
#main :is(h1,h2,h3,h4,h5,h6)[tabindex="-1"]:focus,
#main :is(h1,h2,h3,h4,h5,h6)[tabindex="-1"]:focus-visible {
  outline: none;
}

/* One quiet, brand-only first paint while an account page starts. */
.app-startup {
  min-height: 100svh;
  min-height: 100dvh;
  padding: 24px;
  gap: 18px;
  text-align: center;
}
.app-startup > img { width: 80px; height: 80px; object-fit: contain; }
.startup-progress { display: inline-flex; align-items: center; gap: 7px; }
.startup-progress > i {
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--blue, #124ad9);
  opacity: .3;
  animation: startup-pulse 1.1s ease-in-out infinite;
}
.startup-progress > i:nth-of-type(2) { animation-delay: .14s; }
.startup-progress > i:nth-of-type(3) { animation-delay: .28s; }
.startup-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.app-startup noscript { max-width: 420px; }
@keyframes startup-pulse { 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .startup-progress > i { animation: none; opacity: .65; }
}
