.synex-progress{position:relative;width:100%;max-width:28rem}.synex-progress-track{position:relative;height:1.15rem;border-radius:999px;background:color-mix(in srgb,var(--border, rgba(255, 255, 255, .12)) 55%,var(--surface-2, rgba(0, 0, 0, .35)));overflow:hidden}.synex-progress-fill{display:block;height:100%;width:0;border-radius:inherit;background:var(--accent, #3b82f6);transition:width .38s ease}.synex-progress--indeterminate .synex-progress-fill{position:absolute;inset:0 auto 0 0;width:42%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--accent, #3b82f6) 55%,transparent) 0%,var(--accent, #3b82f6) 42%,color-mix(in srgb,#fff 55%,var(--accent, #3b82f6)) 50%,var(--accent, #3b82f6) 58%,color-mix(in srgb,var(--accent, #3b82f6) 55%,transparent) 100%);background-size:200% 100%;transition:none;animation:synex-progress-slide 1.45s ease-in-out infinite,synex-progress-shine 1.1s linear infinite}.synex-progress--running:not(.synex-progress--indeterminate) .synex-progress-fill{background:linear-gradient(90deg,var(--accent, #3b82f6) 0%,color-mix(in srgb,#fff 42%,var(--accent, #3b82f6)) 48%,var(--accent, #3b82f6) 100%);background-size:220% 100%;animation:synex-progress-shine 1.35s linear infinite}.synex-progress--done .synex-progress-fill{background:var(--accent, #3b82f6);animation:none}.synex-progress--error .synex-progress-fill{background:linear-gradient(90deg,var(--danger, #ef4444),#f87171);animation:none}.synex-progress-label{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:0 .65rem;font-size:var(--text-2xs, .72rem);font-weight:var(--weight-bold, 600);line-height:1.2;color:var(--text-muted, rgba(255, 255, 255, .62));text-align:center;pointer-events:none}.synex-progress--running .synex-progress-label,.synex-progress--done .synex-progress-label{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}.synex-progress--error .synex-progress-label{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}@keyframes synex-progress-slide{0%{transform:translate(-105%)}to{transform:translate(245%)}}@keyframes synex-progress-shine{0%{background-position:100% 0}to{background-position:0% 0}}@media(prefers-reduced-motion:reduce){.synex-progress--indeterminate .synex-progress-fill{left:0;right:0;width:100%;transform:none;animation:synex-progress-pulse 1.4s ease-in-out infinite}.synex-progress--running:not(.synex-progress--indeterminate) .synex-progress-fill{animation:synex-progress-pulse 1.4s ease-in-out infinite}@keyframes synex-progress-pulse{0%,to{opacity:.72}50%{opacity:1}}}.synex-action-btn{position:relative}.synex-action-btn-label,.synex-action-btn-busy{display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.synex-action-btn-busy.hidden,.synex-action-btn-label.hidden{display:none}.synex-action-btn-spinner{width:.95em;height:.95em;border:2px solid color-mix(in srgb,currentColor 28%,transparent);border-top-color:currentColor;border-radius:50%;flex-shrink:0;animation:synex-action-btn-spin .7s linear infinite}.synex-action-btn.is-action-busy{cursor:wait;pointer-events:none}@keyframes synex-action-btn-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.synex-action-btn-spinner{animation:synex-action-btn-spin 1.6s linear infinite}}
