/* The first frame exists before React, fonts and route chunks arrive. */
html { background:#0c171d; }
html[data-theme=light] { background:#f4f1e8; }
.boot-splash { position:fixed; inset:0; z-index:1000; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; color:var(--muted,#a1b7bc); background:var(--bg,#0c171d); font:500 14px/1.5 system-ui,sans-serif; transition:opacity 180ms ease-out; pointer-events:none; }
html[data-theme=light] .boot-splash { background:var(--bg,#f4f1e8); color:var(--muted,#5d706d); }
.boot-splash__art { position:relative; display:grid; place-items:center; width:116px; height:116px; border-radius:50%; background:radial-gradient(circle,var(--accent-soft,#49bfb014),transparent 72%); }
.boot-splash__emblem { width:48px; height:52px; background:var(--accent,#49bfb0); mask:url('./art/interface/fikr-emblem-mask-256.png') center/58px 58px no-repeat; animation:boot-breathe 3.2s ease-in-out infinite; }
.boot-splash__orbit { position:absolute; inset:7px; border:1px solid #49bfb026; border-radius:50%; }
.boot-splash__orbit::before { content:''; position:absolute; inset:-1px; border:1.5px solid transparent; border-top-color:var(--accent,#49bfb0); border-radius:50%; animation:boot-orbit 3.2s linear infinite; }
.boot-splash--closing { opacity:0; }
@keyframes boot-orbit { to { transform:rotate(360deg); } }
@keyframes boot-breathe { 0%,100% { opacity:.72; } 50% { opacity:1; } }
html[data-motion=reduced] .boot-splash,html[data-motion=reduced] .boot-splash *,html[data-motion=reduced] .boot-splash *::before { animation:none!important; transition:none!important; }
@media(prefers-reduced-motion:reduce) { .boot-splash,.boot-splash *,.boot-splash *::before { animation:none!important; transition:none!important; } }
