/* Loaded before legacy styles. A dedicated warmup boot cannot expose the old
 * surface while navigation, design tokens and the arena shell initialize. */
html[data-aim-studio-boot="pending"],
html[data-aim-studio-boot="error"] {
  background: #07131d;
  color-scheme: dark;
}
html[data-aim-studio-boot="pending"] body > :not(#aim-studio-boot),
html[data-aim-studio-boot="error"] body > :not(#aim-studio-boot) {
  visibility: hidden !important;
}
html[data-aim-studio-boot="pending"]::before,
html[data-aim-studio-boot="error"]::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 2147483645;
  background: #07131d;
}
html[data-aim-studio-boot="pending"]::after {
  content: "AIM-Check wird vorbereitet";
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  display: grid;
  place-items: center;
  padding: 24px;
  color: #a9bccb;
  font: 500 16px/1.5 system-ui, sans-serif;
}
html[data-aim-studio-boot-mounted]::after { content: none; }
#aim-studio-boot {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: grid;
  place-content: center;
  gap: 12px;
  padding: 24px;
  box-sizing: border-box;
  background: var(--pv-bg-deep, #07131d);
  color: var(--pv-muted, #a9bccb);
  font: 500 16px/1.5 var(--wl-font-family, system-ui, sans-serif);
  text-align: center;
  opacity: 1;
  transition: opacity 160ms ease-out;
}
#aim-studio-boot[data-state="leaving"] { opacity: 0; pointer-events: none; }
#aim-studio-boot button {
  justify-self: center;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--pv-line, #294858);
  border-radius: var(--pv-radius-sm, 8px);
  background: var(--pv-surface, #102433);
  color: var(--pv-text, #e7f1f7);
  font: inherit;
  cursor: pointer;
}
#aim-studio-boot button:focus-visible { outline: 2px solid var(--pv-cyan, #00d9e5); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { #aim-studio-boot { transition: none; } }
