/* ═══════════════════════════════════════════
   BOOT SCREEN & SHARED ANIMATIONS
   ═══════════════════════════════════════════ */
#boot {
  position: fixed; inset: 0;
  background: var(--bg);
  z-index: 999;
  display: flex;
  align-items: center; justify-content: center;
  flex-direction: column; gap: 6px;
}
.boot-line {
  font-family: var(--mono); font-size: 13px; color: var(--accent);
  opacity: 0; animation: bootFade .3s forwards; width: 420px;
}
.boot-line .dim { color: var(--text-muted); }
.boot-line .ok { color: #4ade80; }
.boot-line .warn { color: #facc15; }
@keyframes bootFade { to { opacity: 1; } }
#boot-bar-wrap {
  width: 420px; margin-top: 18px;
  height: 2px; background: var(--surface2); border-radius: 2px;
  opacity: 0; animation: bootFade .3s 1.8s forwards;
}
#boot-bar {
  height: 100%; width: 0; background: var(--accent);
  border-radius: 2px; transition: width .8s ease;
}

/* Shared keyframes */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes cursorBlink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}
