/* DevOps infinity loader. Animation never delays page readiness. */
/* A root transform makes fixed overlays use the document height. */
html:has(.devops-infinity) { animation: none; }
.preloader-overlay {
  position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center;
  width: 100%; height: 100dvh; background: #f4f6fa; overflow: hidden; opacity: 0; visibility: hidden;
  pointer-events: none; transition: opacity .3s ease, visibility 0s linear .3s;
}
.preloader-overlay::before, .preloader-overlay::after, .preloader-container::before { content: none; }
.preloader-overlay.visible { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .3s ease; }
.preloader-overlay.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.preloader-container {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 24px; width: min(84vw, 360px); max-width: 360px; box-sizing: border-box; padding: 24px; color: #243650; text-align: center;
  min-height: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
}
.preloader-container.rtl { direction: rtl; }
.preloader-container.ltr { direction: ltr; }
.devops-infinity { display: block; width: 100%; height: auto; overflow: visible; }
.devops-infinity use { stroke-width: 12; stroke-linecap: round; stroke-linejoin: round; }
.devops-loop-track { stroke: #dce4f0; }
.devops-loop-color { stroke: url(#devops-loop-gradient); opacity: .45; }
.devops-loop-flow { stroke-dasharray: 21 79; animation: devops-loop-travel 2.8s linear infinite; }
.devops-loop-flow-blue { stroke: #426de0; }
.devops-loop-flow-teal { stroke: #27b6c7; animation-delay: -.933333s; }
.devops-loop-flow-violet { stroke: #9275df; animation-delay: -1.866667s; }
.preloader-wordmark { display: flex; flex-direction: column; gap: 8px; }
.preloader-wordmark strong { font-family: Poppins, sans-serif; font-size: 1.3rem; font-weight: 600; letter-spacing: .04em; color: #243650; }
.preloader-wordmark span { font-family: Poppins, sans-serif; font-size: .75rem; letter-spacing: .04em; color: #64748b; }
.preloader-container .loading-text { font-family: Vazirmatn, Poppins, sans-serif; font-size: .85rem; color: #64748b; }
@keyframes devops-loop-travel { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -100; } }
@media (prefers-reduced-motion: reduce) {
  .devops-loop-flow { animation: none; }
  .devops-loop-flow-teal { stroke-dashoffset: -33.333; }
  .devops-loop-flow-violet { stroke-dashoffset: -66.666; }
  .devops-loop-color { display: none; }
  .preloader-overlay { transition: none; }
}
