.startup-screen {
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 48px 24px;
  background: var(--ui-bg, #000);
}
.startup-content {
  width: min(100%, 360px);
  text-align: center;
}
.startup-mark {
  display: block;
  width: 80px;
  height: 80px;
  margin: 0 auto 28px;
  fill: none;
  stroke-linejoin: round;
  stroke-width: 2;
}
.startup-mark-base {
  fill: #6b4eff;
  fill-opacity: 0.08;
  stroke: #3b2d72;
}
.startup-mark-trace {
  stroke: #b2a1ff;
  stroke-dasharray: 32 68;
  animation: startup-trace 2.8s linear infinite;
}
.startup-brand {
  margin: 0;
  color: var(--ui-text);
  font-size: 44px;
  font-weight: 650;
  line-height: 1.1;
  letter-spacing: -0.035em;
}
.startup-brand span {
  display: block;
  margin-top: 10px;
  color: #c3b6ff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
.startup-status {
  margin: 28px 0 0;
  color: var(--ui-muted);
  font-size: 15px;
  line-height: 1.6;
}
.startup-recovery {
  min-height: 144px;
  padding-top: 24px;
}
.startup-wait {
  margin: 0 0 16px;
  color: var(--ui-muted);
  font-size: 14px;
  line-height: 1.6;
}
.startup-recovery button {
  min-height: 44px;
}
.startup-recovery [hidden] {
  display: none;
}
@keyframes startup-trace {
  to {
    stroke-dashoffset: -100;
  }
}
@media (prefers-reduced-motion: reduce) {
  .startup-mark-trace {
    animation: none;
    stroke-dasharray: none;
  }
}
