.loading{align-items:center;gap:var(--space-default,1rem);padding:var(--space-large,2rem);flex-direction:column;justify-content:center;display:flex}.loading--small{gap:var(--space-small,.5rem);padding:var(--space-default,1rem)}.loading--large{gap:var(--space-large,2rem);padding:var(--space-xlarge,3rem)}.loading--fullscreen{height:100vh}.loading__message{color:var(--almost-white,#fff);text-align:center;margin:0;font-weight:500}.loading--small .loading__message{font-size:var(--font-size-small,.875rem)}.loading--large .loading__message{font-size:var(--font-size-large,1.125rem)}.loading__spinner{position:relative}.loading__spinner--small{width:2rem;height:2rem}.loading__spinner--medium{width:3rem;height:3rem}.loading__spinner--large{width:4rem;height:4rem}.loading__spinner-circle{border:.25rem solid var(--border-color-light,#e1e5e9);border-top:.25rem solid var(--accent-color,#007bff);border-radius:50%;width:100%;height:100%;animation:1s linear infinite spin}.loading__spinner--small .loading__spinner-circle{border-width:.125rem}.loading__spinner--large .loading__spinner-circle{border-width:.375rem}.loading__dots{align-items:center;gap:.5rem;display:flex}.loading__dots--small{gap:.25rem}.loading__dots--large{gap:.75rem}.loading__dot{background-color:var(--accent-color,#007bff);border-radius:50%;width:.5rem;height:.5rem;animation:1.4s ease-in-out infinite both bounce}.loading__dots--small .loading__dot{width:.375rem;height:.375rem}.loading__dots--large .loading__dot{width:.75rem;height:.75rem}.loading__dot:first-child{animation-delay:-.32s}.loading__dot:nth-child(2){animation-delay:-.16s}.loading__pulse{position:relative}.loading__pulse--small{width:2rem;height:2rem}.loading__pulse--medium{width:3rem;height:3rem}.loading__pulse--large{width:4rem;height:4rem}.loading__pulse-ring{border:.125rem solid var(--accent-color,#007bff);opacity:1;border-radius:50%;width:100%;height:100%;animation:2s cubic-bezier(0,.2,.8,1) infinite pulse;position:absolute;top:0;left:0}.loading__pulse-ring:nth-child(2){animation-delay:.5s}.loading__pulse-ring:nth-child(3){animation-delay:1s}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes pulse{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(1)}}
