.loader { position: fixed; inset: 0; z-index: 10000; display: none; align-items: center; justify-content: center; background: rgba(255, 255, 255, .8); }
.loader.visible { display: flex; }
.loader__spinner { width: 64px; height: 64px; border-radius: 50%; background: conic-gradient(from 0deg, rgb(4 155 48 / .08), var(--green)); mask: radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px)); animation: loader-spin .9s linear infinite; }
@keyframes loader-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .loader__spinner { animation: none; } }
