.isLoading { background-color: rgba(0, 0, 0, 0) !important; background-image: linear-gradient( -45deg, rgba(var(--foreground-rgb), 0) 0, rgba(var(--foreground-rgb), 0.1) 50%, rgba(var(--foreground-rgb), 0) 100% ) !important; background-size: 800% 800% !important; color: rgba(0, 0, 0, 0) !important; border-color: rgba(0, 0, 0, 0) !important; border-radius: var(--border-radius) !important; user-select: none; cursor: wait; animation: loading 3s infinite ease-out !important; } .isLoading * { visibility: hidden !important; } .isLoading:empty::after, .isLoading *:empty::after { content: '\00a0'; } @keyframes loading { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } .isValidating { animation: flicker 2s infinite ease-out; } @keyframes flicker { 0% { opacity: 0.1; } 50% { opacity: 1; } 100% { opacity: 0.1; } }