/* The discreet boot veil — static HTML painted before any module parses.
   The sweep animates TRANSFORM so it keeps moving on the compositor even
   while the main thread is blocked; measured progress (spike/boot.js)
   replaces it with a real fill. */
#boot { position: fixed; inset: 0; z-index: 40; background: #000;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 14px; font-family: var(--font);
  transition: opacity 0.5s ease; pointer-events: none; }
#boot b { font-size: 13px; font-weight: 700; letter-spacing: 0.34em; color: var(--ink-1); }
#boot span { font-size: 9px; letter-spacing: 0.3em; color: var(--ink-5); }
#bootbar { width: 220px; height: 2px; background: var(--track); overflow: hidden; }
#bootbar i { display: block; height: 100%; width: 40%; background: rgba(var(--amber-rgb), 0.85);
  animation: bootsweep 1.2s ease-in-out infinite; transition: width 0.25s ease; }
#bootbar i.measured { animation: none; }
@keyframes bootsweep { 0% { transform: translateX(-100%); } 100% { transform: translateX(350%); } }
