.touch-load-status{position:fixed;z-index:1000;top:calc(env(safe-area-inset-top,0px) + 16px);left:50%;transform:translateX(-50%);padding:12px 20px;border:1px solid #b99a58;border-radius:28px;background:#102e3b;color:#fff;font-size:14px;box-shadow:0 4px 20px #0003;pointer-events:none;opacity:0;white-space:nowrap}
.touch-loading .touch-load-status,.touch-pulling .touch-load-status{opacity:1}
.touch-loading .touch-load-status{top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 28px;border-radius:18px}
.touch-loading .touch-load-status::before{content:'';display:block;width:36px;height:36px;margin:0;border:3px solid #ffffff40;border-top-color:#d9b875;border-radius:50%;vertical-align:-2px;animation:touch-spin .8s linear infinite}
.touch-loading::before{content:'';position:fixed;z-index:1001;top:0;left:0;height:3px;width:35%;background:#d9b875;animation:touch-progress 1.3s ease-in-out infinite}
.touch-loading::after{content:'';position:fixed;inset:0;z-index:999;background:#04172266;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}
.touch-premium .touch-image-loading{background:linear-gradient(100deg,#24404c 25%,#36535e 45%,#24404c 65%);background-size:250% 100%;animation:touch-shimmer 1.5s ease-in-out infinite}
@keyframes touch-spin{to{transform:rotate(360deg)}}
@keyframes touch-progress{from{transform:translateX(-100%)}to{transform:translateX(390%)}}
@keyframes touch-shimmer{to{background-position:-150% 0}}
@media(prefers-reduced-motion:reduce){.touch-loading::before,.touch-loading .touch-load-status::before,.touch-premium .touch-image-loading{animation:none}}
