:root{--ts-load-bg:rgba(8,12,20,.78);--ts-load-panel:#0d1524;--ts-load-line:#263653;--ts-load-text:#f7f4ee;--ts-load-muted:#9aa7bc;--ts-load-accent:#ff6a00}.ts-loading-layer{position:fixed;inset:0;z-index:9999;background:var(--ts-load-bg);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .18s ease}.ts-loading-layer.active{opacity:1;pointer-events:auto}.ts-loading-card{width:min(520px,100%);background:linear-gradient(180deg,#111d30,#0b1321);border:1px solid var(--ts-load-line);border-radius:18px;padding:24px;box-shadow:0 28px 90px rgba(0,0,0,.45)}.ts-loading-top{display:flex;gap:16px;align-items:center}.ts-loading-spinner{width:44px;height:44px;border-radius:50%;border:3px solid #24324b;border-top-color:var(--ts-load-accent);animation:ts-spin .85s linear infinite;flex:none}@keyframes ts-spin{to{transform:rotate(360deg)}}.ts-loading-kicker{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--ts-load-accent);font-weight:800}.ts-loading-title{font-size:20px;line-height:1.15;color:var(--ts-load-text);font-weight:800;margin-top:4px}.ts-loading-sub{color:var(--ts-load-muted);font-size:12px;line-height:1.5;margin-top:4px}.ts-loading-steps{display:grid;gap:8px;margin-top:20px}.ts-loading-step{display:flex;align-items:center;gap:10px;color:#728098;font-size:11px;transition:color .2s ease}.ts-loading-step i{width:8px;height:8px;border-radius:50%;border:1px solid #53617a;flex:none}.ts-loading-step.current{color:var(--ts-load-text)}.ts-loading-step.current i{background:var(--ts-load-accent);border-color:var(--ts-load-accent);box-shadow:0 0 16px rgba(255,106,0,.65)}.ts-loading-step.done{color:#a9b7cb}.ts-loading-step.done i{background:#4f79bd;border-color:#4f79bd}.ts-loading-foot{margin-top:18px;padding-top:14px;border-top:1px solid var(--ts-load-line);font-size:10px;line-height:1.5;color:#7f8ba0}.ts-loading-foot strong{color:#b7c3d5}@media(max-width:640px){.ts-loading-layer{align-items:flex-end;padding:12px}.ts-loading-card{border-radius:16px;padding:18px;margin-bottom:max(4px,env(safe-area-inset-bottom))}.ts-loading-spinner{width:36px;height:36px}.ts-loading-title{font-size:17px}.ts-loading-sub{font-size:11px}.ts-loading-steps{margin-top:14px;gap:6px}.ts-loading-step{font-size:10px}.ts-loading-foot{margin-top:12px;padding-top:10px}}@media(prefers-reduced-motion:reduce){.ts-loading-spinner{animation-duration:1.8s}.ts-loading-layer{transition:none}}