/* v2.50 — animated progress reflects readiness without invented percentage. */
html.npc-page-loading{background:#030c21!important}
html.npc-page-loading body{visibility:hidden!important}
html.npc-page-loading::before,html.npc-page-loading::after{content:none!important}
#npc-ai-loader{position:fixed;inset:0;z-index:2147483647;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;overflow:auto;padding:20px 14px;box-sizing:border-box;background:radial-gradient(ellipse at 50% 35%,#0a2251 0%,#030c21 62%,#020614 100%);color:#e9f4ff;font-family:system-ui,-apple-system,Segoe UI,sans-serif;text-align:center;visibility:visible!important}
#npc-ai-loader *{box-sizing:border-box}
#npc-ai-loader .npc-brain{display:block;width:min(510px,90vw);max-height:38vh;object-fit:contain;filter:drop-shadow(0 0 22px #1689ff77);animation:npc-brain-glow 2.7s ease-in-out infinite alternate}
#npc-ai-loader .npc-brand{font-size:clamp(25px,5vw,47px);font-weight:850;letter-spacing:.075em;line-height:1.13;margin:2px 0 8px;color:#e9f3ff}
#npc-ai-loader .npc-brand span{background:linear-gradient(90deg,#43d8f8,#168cff,#8b82ff);background-clip:text;-webkit-background-clip:text;color:transparent}
#npc-ai-loader .npc-sub{font-size:clamp(10px,1.6vw,15px);letter-spacing:.15em;color:#b4d0ed}
#npc-ai-loader .npc-cats{font-size:clamp(8px,1.2vw,11px);letter-spacing:.18em;color:#83b6e8;margin-top:15px}
#npc-ai-loader .npc-status{display:flex;align-items:center;justify-content:center;gap:12px;font-size:clamp(12px,2vw,16px);margin:24px 0 15px;color:#e2efff}
#npc-ai-loader .npc-spin{height:19px;width:19px;border:3px solid #17488a;border-top-color:#00e5ff;border-radius:50%;animation:npc-spin 1s linear infinite}
#npc-ai-loader .npc-track{position:relative;width:min(600px,86vw);height:10px;border:1px solid #3675c0;background:#071b3b;border-radius:99px;overflow:hidden;box-shadow:0 0 13px #1d81ec55}
#npc-ai-loader .npc-bar{height:100%;width:35%;background:linear-gradient(90deg,transparent,#128eff,#00f3ff,#f1ffff);border-radius:99px;box-shadow:0 0 14px #0df;animation:npc-indeterminate 1.8s ease-in-out infinite}
#npc-ai-loader .npc-steps{display:flex;justify-content:space-between;gap:12px;width:min(600px,86vw);margin-top:17px;font-size:clamp(9px,1.4vw,12px);color:#93bce5}
#npc-ai-loader .npc-steps span{flex:1}
@keyframes npc-indeterminate{0%{transform:translateX(-110%)}100%{transform:translateX(300%)}}
@keyframes npc-spin{to{transform:rotate(360deg)}}
@keyframes npc-brain-glow{to{filter:drop-shadow(0 0 30px #25baffcc)}}
@media(prefers-reduced-motion:reduce){#npc-ai-loader .npc-bar{animation-duration:4s}#npc-ai-loader .npc-brain{animation:none}}
