.ti-globe-loader { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.9rem; color:var(--ti-accent); text-align:center; }
.ti-globe-loader[hidden] { display:none; }
.ti-loading-globe { display:block; flex:none; width:clamp(160px,18vw,176px); max-width:100%; height:auto; aspect-ratio:1; overflow:hidden; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }
.ti-loading-drawing { animation:ti-globe-cycle 4s linear infinite; }
.ti-loading-stroke { stroke-dasharray:100; stroke-dashoffset:100; animation:ti-globe-draw 4s ease-out infinite; }
.ti-loading-grid { opacity:.25; stroke-width:.55; animation-name:ti-globe-grid; }
.ti-loading-land { stroke-width:1.05; animation-name:ti-globe-land; }
.ti-loading-label { color:var(--ti-muted); font:500 .9rem/1.5 ui-sans-serif,system-ui,sans-serif; }
.ti-page-loading { display:none; position:fixed; inset:0; z-index:1000; padding:2rem; background:var(--ti-bg); pointer-events:none; }
html.ti-page-pending .ti-page-loading { display:flex; animation:ti-loading-reveal .12s both; }
@keyframes ti-globe-draw {
  0% { stroke-dashoffset:100; }
  24%,100% { stroke-dashoffset:0; }
}
@keyframes ti-globe-grid {
  0%,18% { stroke-dashoffset:100; }
  48%,100% { stroke-dashoffset:0; }
}
@keyframes ti-globe-land {
  0%,36% { stroke-dashoffset:100; }
  74%,100% { stroke-dashoffset:0; }
}
@keyframes ti-globe-cycle { 0%,90% { opacity:1; } 100% { opacity:0; } }
@keyframes ti-loading-reveal { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) {
  .ti-loading-drawing,.ti-loading-stroke { animation:none; }
  .ti-loading-stroke { stroke-dashoffset:0; }
  html.ti-page-pending .ti-page-loading { animation:none; }
}
@media(forced-colors:active) {
  .ti-globe-loader { color:CanvasText; }
  .ti-loading-label { color:CanvasText; }
  .ti-page-loading { background:Canvas; }
}
