/* Neutral loading identity shared by the free reader and every PK profile. */
.zx-preload,.zx-scan,.loader-overlay{background:radial-gradient(ellipse at 50% 46%,#121212 0%,#070707 60%,#050505 100%)!important;color:#f5f5f5;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.zx-preload{gap:18px}
.zx-preload__orb,.loader-ring{width:64px!important;height:64px!important;position:relative}
.zx-preload__ring,.loader-ring::before{inset:0!important;border:2px solid #ffffff16!important;border-top-color:#f1f1f1!important;border-right-color:#858585!important;border-radius:50%;animation:zenix-neutral-spin 1.1s linear infinite!important}
.zx-preload__core,.loader-ring::after{width:40px!important;height:40px!important;box-sizing:border-box;border:1px solid #ffffff24!important;border-radius:50%;background:#151515!important;box-shadow:0 4px 18px #0005!important;animation:none!important;transform:none!important}
.loader-ring::after{inset:12px!important;background:#151515 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f5f5f5' d='M9 6v12l9-6z'/%3E%3C/svg%3E") center/22px 22px no-repeat!important}
.zx-preload__core svg{width:22px;height:22px;color:#f5f5f5;margin-left:2px}
.zx-preload__track{width:min(160px,52vw);height:2px;background:#ffffff16;border-radius:99px}
.zx-preload__bar{background:linear-gradient(90deg,#555,#ddd,#777)!important;animation:zx-preload-shimmer 1.5s ease-in-out infinite}
.zx-preload__txt,.loader-text{font:600 13px/1.5 system-ui,sans-serif!important;letter-spacing:.015em!important;color:#e3e3e3!important;animation:none!important}
.loader-ring{margin-bottom:20px}
.loader-status,.zx-scan__msg{font:400 11px/1.5 system-ui,sans-serif!important;color:#969696!important;letter-spacing:.015em}
.zx-scan::before{content:"";width:40px;height:40px;border:2px solid #ffffff16;border-top-color:#f1f1f1;border-right-color:#858585;border-radius:50%;animation:zenix-neutral-spin 1.1s linear infinite}
/* Buffering stays non-blocking. Hidden overlays remain hidden. */
.loader-overlay.buffering{background:rgba(0,0,0,.35)!important;pointer-events:none}
.loader-overlay.buffering .loader-ring{width:48px!important;height:48px!important;margin-bottom:0}
.loader-overlay.buffering .loader-ring::after{width:28px!important;height:28px!important;inset:10px!important;background-size:16px 16px!important}
@keyframes zenix-neutral-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.zx-preload__ring,.loader-ring::before,.zx-scan::before,.zx-preload__bar{animation:none!important}}
