#boot-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  overflow-y: auto;
  background: #050507;
  transition: opacity 200ms ease;
  animation: boot-deadline 2s step-end forwards;
}
#boot-overlay[hidden] { display: none; }
#boot-overlay.is-fading { opacity: 0; pointer-events: none; }
@keyframes boot-deadline { to { visibility: hidden; pointer-events: none; } }
.boot-stage { min-height: 100%; display: grid; place-content: center; justify-items: end; gap: 18px; padding: 20px; }
.terminal-window { width: min(900px, calc(100vw - 40px)); background: #08090c; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; box-shadow: 0 24px 80px #0009; }
.terminal-topbar { display: flex; align-items: center; gap: 8px; padding: 14px 18px; background: #111218; border-bottom: 1px solid var(--border); }
.dot { width: 10px; height: 10px; border-radius: 50%; background: #ff7185; }
.dot:nth-child(2) { background: var(--amber); }
.dot:nth-child(3) { background: var(--green); }
.terminal-title { color: var(--text-dim); font-size: 13px; margin-left: 10px; }
.terminal-body { padding: 24px; }
.boot-output { height: min(260px, 40vh); margin: 0 0 16px; overflow: hidden; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: 14px; line-height: 1.8; }
.boot-line { display: block; }
.prompt-line { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; }
.live-input { color: var(--amber); overflow-wrap: anywhere; }
.cursor { color: var(--cyan); }
.skip-boot { padding: 8px 14px; border: 1px solid var(--border); border-radius: 6px; background: var(--panel); color: var(--text-dim); font: inherit; cursor: pointer; }
.skip-boot:hover { color: var(--cyan); border-color: var(--cyan); }
@media (max-width: 600px) { .terminal-body { padding: 16px; } .boot-output { height: min(300px, 40vh); } }
@media (prefers-reduced-motion: reduce) { #boot-overlay { display: none; } }
