/* First-load splash (see boot.js): hidden unless the page is still loading after a moment. */
#ct-boot { display: none; }
html.ct-booting #ct-boot {
  position: fixed; inset: 0; z-index: 100;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px;
  background: #ffffff; font-family: Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;
  opacity: 0; animation: ct-boot-in 0.25s ease 0.35s forwards;
}
html.ct-booting.theme-dark #ct-boot { background: #0a101d; }
html.ct-boot-done #ct-boot { opacity: 1; animation: ct-boot-out 0.3s ease forwards; pointer-events: none; }
html.ct-booting { overflow: hidden; }
#ct-boot img { width: 92px; height: auto; animation: ct-boot-breathe 1.8s ease-in-out infinite; }
#ct-boot .ct-boot-name { font-weight: 800; letter-spacing: 0.04em; font-size: 18px; color: #0b1f4d; }
#ct-boot .ct-boot-name b { color: #24476f; }
#ct-boot .ct-boot-name small { font-weight: 500; font-size: 14px; }
html.theme-dark #ct-boot .ct-boot-name { color: #ffffff; }
html.theme-dark #ct-boot .ct-boot-name b { color: #9dbadb; }
#ct-boot .ct-boot-track { width: min(240px, 70vw); height: 6px; border-radius: 999px; background: rgba(47, 102, 255, 0.15); overflow: hidden; }
#ct-boot .ct-boot-bar { height: 100%; width: var(--ct-progress, 0%); border-radius: inherit; background: linear-gradient(90deg, #24476f, #3f6894); transition: width 0.25s ease; }
#ct-boot .ct-boot-pct { font-size: 13px; color: #5f6a7e; font-variant-numeric: tabular-nums; min-height: 1em; }
html.theme-dark #ct-boot .ct-boot-pct { color: #97a3ba; }
@keyframes ct-boot-in { to { opacity: 1; } }
@keyframes ct-boot-out { to { opacity: 0; } }
@keyframes ct-boot-breathe { 0%, 100% { transform: scale(0.95); } 50% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { #ct-boot img { animation: none; } }
