/* Shared loading cover: match the carousel's translucent connection card. */
html.boot-loading body > :not(.boot-layer):not(script):not(style):not(link) { visibility:hidden!important; }
.boot-layer { --boot-cover:none; position:fixed; inset:0; z-index:2147483000; display:grid; place-items:center; padding:24px; overflow:auto; isolation:isolate; color:#f5fafb; background:#09171f; font:14px/1.55 Inter,Montserrat,system-ui,-apple-system,sans-serif; transition:opacity .23s ease; }
.boot-layer::before { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(140deg,#0c243aaa,#0c2020c9),var(--boot-cover) center/cover; opacity:.65; filter:blur(14px); }
.boot-layer::after { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 20% 20%,#87cfd225,transparent 55%),radial-gradient(ellipse at 90% 95%,#6986ab28,transparent 60%); }
.boot-layer[data-state=ready] { opacity:0; pointer-events:none; }
.boot-card { box-sizing:border-box; width:min(510px,100%); padding:36px; border:1px solid #ffffff70; border-radius:28px; background:linear-gradient(135deg,#e0f1f329,#c6e3e918 45%,#19364475); box-shadow:inset 0 1px 0 #ffffff80,inset 0 -1px 0 #ffffff18,0 24px 70px #0005; backdrop-filter:blur(32px) saturate(1.12); -webkit-backdrop-filter:blur(32px) saturate(1.12); }
.boot-eyebrow { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 28px; font-size:10px; font-weight:650; letter-spacing:.14em; color:#dfeef2; }
.boot-eyebrow span { letter-spacing:.1em; opacity:.66; font-size:9px; }
.boot-card #bootTitle { margin:0 0 12px; font-family:inherit; font-size:clamp(27px,5vw,38px); font-weight:600; line-height:1.15; letter-spacing:-.045em; color:#fff; text-shadow:none; }
.boot-card #bootTitle:focus { outline:none; }
.boot-card #bootText { margin:0; min-height:44px; color:#e1edf2; font:inherit; font-size:13px; line-height:1.65; overflow-wrap:anywhere; }
.boot-progress-row { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:26px 0 10px; font-size:11px; color:#dbe9ee; }
.boot-card #bootPercent { font-variant-numeric:tabular-nums; color:#fff; font-weight:600; }
.boot-card #bootProgress { position:relative; height:8px; overflow:hidden; border:1px solid #ffffff2e; border-radius:20px; background:#04141e65; box-shadow:inset 0 1px 3px #0003; }
.boot-card #bootBar { height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg,#b5e4e8,#f0faff); box-shadow:0 0 12px #c2f2fc55; transition:width .18s ease; }
.boot-layer[data-indeterminate=true] #bootBar { animation:boot-sweep 1.5s ease-in-out infinite; }
.boot-steps { list-style:none; margin:13px 0 24px; padding:0; display:flex; justify-content:space-between; font-size:10px; color:#aec2c9; }
.boot-steps li[data-active=true] { color:#fff; }
.boot-card #bootDetail { margin:0; min-height:40px; color:#c5d5de; font:inherit; font-size:11px; line-height:1.7; overflow-wrap:anywhere; }
.boot-card #bootActions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:22px; }
.boot-card #bootActions[hidden],.boot-card [hidden] { display:none!important; }
.boot-card button,.boot-card a { font:inherit; font-size:12px; line-height:1.5; }
.boot-card #bootRetry { min-height:44px; padding:11px 22px; border:1px solid #fff9; border-radius:11px; background:#f2f8fa; color:#132d39; font-weight:600; cursor:pointer; }
.boot-card #bootHome { padding:10px 12px; color:#eef6fa; text-decoration:none; }
.boot-card #bootHome:hover { text-decoration:underline; }
.boot-card #bootReport { display:block; margin:20px 0 0; padding:4px 0; border:0; background:none; color:#c0d6e1; text-decoration:underline; text-underline-offset:3px; cursor:pointer; font-size:10px; }
.boot-card button:focus-visible,.boot-card a:focus-visible { outline:2px solid #fff; outline-offset:4px; }
@keyframes boot-sweep { 0% { transform:translateX(-105%); } 100% { transform:translateX(415%); } }
@media(max-width:480px) { .boot-layer { padding:18px; } .boot-card { padding:28px 23px; border-radius:24px; } .boot-eyebrow { margin-bottom:24px; } }
@media(prefers-reduced-motion:reduce) { .boot-layer,.boot-card #bootBar { transition:none; } .boot-layer[data-indeterminate=true] #bootBar { animation:none; width:100%!important; opacity:.45; } }
