/* Hallmark · component: unified startup · theme: Softra · pre-emit critique: P5 H5 E4 S5 R5 V4 */
html[data-app-starting], html[data-app-starting] body { overflow: clip !important; }
#boot-screen {
  --boot-bg: #fff;
  --boot-text: rgba(0, 0, 0, .88);
  --boot-muted: rgba(0, 0, 0, .65);
  --boot-accent: #e22b36;
  --boot-ease: cubic-bezier(.16, 1, .3, 1);
  --boot-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 24px;
  overflow: clip;
  background: var(--boot-bg);
  color: var(--boot-text);
  font-family: var(--boot-font);
  text-align: center;
  opacity: 0;
  animation: softra-reveal 100ms var(--boot-ease) 120ms both;
  transition: background-color 450ms var(--boot-ease), color 450ms var(--boot-ease);
}
html[data-app-theme='dark'] #boot-screen {
  --boot-bg: #0a0a0a;
  --boot-text: rgba(255, 255, 255, .85);
  --boot-muted: rgba(255, 255, 255, .65);
}
html[data-app-starting] #boot-screen:not([hidden]), #boot-screen[data-closing='true']:not([hidden]) { display: flex; }
#boot-screen[hidden] { display: none; }
#boot-screen[data-closing='true'] { opacity: 0; pointer-events: none; }
#boot-screen .boot-logo { width: 120px; height: 120px; flex-shrink: 0; margin: 0 0 20px; }
#boot-screen .boot-logo path { animation: softra-logo 1600ms ease-in-out infinite alternate; }
#boot-screen .boot-logo path:nth-child(2) { animation-delay: 120ms; }
#boot-screen .boot-logo path:nth-child(3) { animation-delay: 240ms; }
#boot-screen .boot-logo path:nth-child(4) { animation-delay: 360ms; }
#boot-screen .boot-logo path:nth-child(5) { animation-delay: 480ms; }
#boot-screen h1 { margin: 0 0 8px; font-size: 24px; line-height: 1.25; font-weight: 600; letter-spacing: -.025em; font-style: normal; color: var(--boot-text); overflow-wrap: anywhere; max-width: 100%; }
#boot-screen h2 { margin: 0; font-size: 14px; line-height: 1.5; font-weight: 400; letter-spacing: .01em; font-style: normal; color: var(--boot-muted); max-width: 100%; }
#boot-screen h1, #boot-screen h2 { transition: color 450ms var(--boot-ease); }
#boot-screen .boot-logo, #boot-screen h1, #boot-screen h2 { animation: softra-arrive 420ms var(--boot-ease) both; }
#boot-screen h1 { animation-delay: 90ms; }
#boot-screen h2 { animation-delay: 150ms; }
#boot-actions { max-width: 360px; }
#boot-actions:empty { display: none; }
#boot-status { position: absolute; top: min(calc(75% + 50px), calc(100% - 24px)); transform: translateY(-50%); left: 24px; right: 24px; color: var(--boot-muted); opacity: .85; font-size: 12px; line-height: 1.5; font-weight: 400; transition: color 450ms var(--boot-ease); }
#boot-actions p { margin: 24px 0 0; }
#boot-screen[data-welcome='true'] #boot-status { font-size: 14px; animation: softra-arrive 650ms var(--boot-ease) 350ms both; }
#boot-actions button { min-height: 44px; margin-top: 16px; white-space: nowrap; }
#boot-actions button:focus-visible { outline: 2px solid var(--boot-text); outline-offset: 4px; }
@keyframes softra-logo { from { opacity: .3; } to { opacity: 1; } }
@keyframes softra-reveal { from { opacity: 0; } to { opacity: 1; } }
@keyframes softra-arrive { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  #boot-screen, #boot-screen h1, #boot-screen h2, #boot-status { transition: none; }
  #boot-screen .boot-logo path { animation: none; }
  #boot-screen .boot-logo, #boot-screen h1, #boot-screen h2 { animation: none; }
  #boot-screen[data-welcome='true'] #boot-status { animation: none; }
  #boot-screen { animation: none; opacity: 1; }
}
