/**
 * Splash screen shown while the app loads
 * 
 * Extracted from index.html (inline <style> that began at line 144).
 * Stylesheet order matters (cascade); index.html links the files in numeric order.
 * See assets/README.md.
 */
#acaSplash{--fg:#0f1b3d;--mut:rgba(15,27,61,.55);position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;overflow:hidden;color:var(--fg);background:#F6F1E7;transition:opacity .5s ease .4s;animation:sp-fail 0s linear 12s forwards}
#acaSplash.dk{--fg:#e7ecff;--mut:rgba(231,236,255,.5);background:#070b1a}
@keyframes sp-fail{to{visibility:hidden;pointer-events:none}}
#acaSplash.out{opacity:0;pointer-events:none}
.sp-d{position:absolute;bottom:-50px;font:600 1.7rem Georgia,serif;opacity:0;animation:sp-float 8s linear infinite}
@keyframes sp-float{0%{transform:translateY(0) rotate(0);opacity:0}15%,85%{opacity:.16}100%{transform:translateY(-115vh) rotate(45deg);opacity:0}}
.sp-aur i{position:absolute;width:62vmax;height:62vmax;border-radius:50%;filter:blur(80px);opacity:.5;animation:sp-drift 16s ease-in-out infinite alternate}
.sp-aur i:nth-child(1){background:#6FA0D6;left:-20vmax;top:-24vmax}
.sp-aur i:nth-child(2){background:#a5b4fc;right:-24vmax;bottom:-26vmax;animation-delay:-5s}
.sp-aur i:nth-child(3){background:#f0abfc;left:22vw;bottom:-42vmax;opacity:.32;animation-delay:-9s}
#acaSplash.dk .sp-aur i{opacity:.42}#acaSplash.dk .sp-aur i:nth-child(1){background:#2f5fd0}#acaSplash.dk .sp-aur i:nth-child(2){background:#6d28d9}
@keyframes sp-drift{to{transform:translate(9vw,7vh) scale(1.15)}}
.sp-grid{position:absolute;inset:0;background:linear-gradient(rgba(120,135,180,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(120,135,180,.14) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000,transparent 68%);mask-image:radial-gradient(circle at 50% 45%,#000,transparent 68%)}
.sp-core{position:relative;text-align:center;padding:0 20px;animation:sp-in .8s cubic-bezier(.2,.9,.3,1) both}
@keyframes sp-in{from{opacity:0;transform:translateY(18px) scale(.96)}}
.sp-orb{position:relative;width:104px;height:104px;margin:0 auto 26px;transition:transform .9s cubic-bezier(.6,0,.2,1),opacity .7s .15s}
.sp-orb::before{content:"";position:absolute;inset:-16px;border-radius:50%;border:1px solid rgba(129,140,248,.55);animation:sp-ring 2.6s ease-out infinite}
@keyframes sp-ring{from{transform:scale(.85);opacity:.9}to{transform:scale(1.9);opacity:0}}
.sp-orb b{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,#6FA0D6,#818cf8,#f0abfc,#fcd34d,#6FA0D6);animation:sp-spin 4s linear infinite,sp-morph 5s ease-in-out infinite}
.sp-orb b:nth-child(2){inset:-14px;filter:blur(24px);opacity:.7}
.sp-orb b:nth-child(3){inset:10px;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.95),rgba(255,255,255,.2) 50%,transparent 70%);animation:none}
@keyframes sp-spin{to{transform:rotate(360deg)}}
@keyframes sp-morph{0%,100%{border-radius:50%}33%{border-radius:44% 56% 52% 48%}66%{border-radius:56% 44% 47% 53%}}
.sp-logo{font:700 2.6rem/1.1 Fraunces,Georgia,'Times New Roman',serif;letter-spacing:-.02em;background:linear-gradient(90deg,var(--fg) 38%,#6FA0D6 50%,var(--fg) 62%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sp-sheen 2.6s linear infinite}
@keyframes sp-sheen{to{background-position:-250% 0}}
.sp-tag{margin:6px 0 26px;font:500 .74rem 'DM Sans',system-ui,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--mut)}
.sp-steps{list-style:none;margin:0 auto;padding:14px 18px;width:min(84vw,290px);display:flex;flex-direction:column;gap:10px;text-align:left;border-radius:16px;border:1px solid rgba(120,135,180,.22);background:rgba(255,255,255,.35);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font:500 .86rem 'DM Sans',system-ui,sans-serif}
#acaSplash.dk .sp-steps{background:rgba(255,255,255,.05)}
.sp-steps li{display:flex;align-items:center;gap:11px;opacity:.38;transition:opacity .35s}
.sp-steps li::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;border:1.5px solid currentColor;opacity:.5}
.sp-steps li.a{opacity:1}.sp-steps li.a::before{background:#6FA0D6;border-color:#6FA0D6;opacity:1;animation:sp-pulse 1s ease-out infinite}
@keyframes sp-pulse{from{box-shadow:0 0 0 0 rgba(111,160,214,.65)}to{box-shadow:0 0 0 10px rgba(111,160,214,0)}}
.sp-steps li.d{opacity:.85}.sp-steps li.d::before{content:"✓";display:grid;place-items:center;font-size:.68rem;font-weight:800;color:#fff;background:linear-gradient(135deg,#6FA0D6,#818cf8);border-color:transparent;opacity:1}
.sp-prog{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(120,135,180,.15)}
.sp-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,#6FA0D6,#818cf8,#f0abfc);box-shadow:0 0 14px rgba(129,140,248,.8)}
.sp-pct{position:absolute;bottom:calc(14px + env(safe-area-inset-bottom,0px));left:0;right:0;text-align:center;font:600 .72rem 'DM Sans',system-ui,sans-serif;letter-spacing:.14em;color:var(--mut);font-variant-numeric:tabular-nums}
#acaSplash.out .sp-orb{transform:scale(16);opacity:0}
#acaSplash.out .sp-logo,#acaSplash.out .sp-tag,#acaSplash.out .sp-steps{opacity:0;transform:translateY(-12px);transition:.35s}
@media(prefers-reduced-motion:reduce){#acaSplash *{animation:none!important}}
