/* Route loader: full-viewport cover shown between pages (see RouteLoader.tsx). */
.route-loader {
  position: fixed; inset: 0; z-index: 60;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px;
  width: 100%; height: 100%;
  background: var(--cream);
  pointer-events: all;
}
.route-loader-word {
  font-family: var(--font-display); font-size: clamp(2.25rem, 6vw, 3.5rem); line-height: 1;
  letter-spacing: -0.02em; color: var(--plum);
}
.route-loader-bar {
  position: relative; width: 120px; height: 2px; overflow: hidden;
  background: var(--sand-200); border-radius: 2px;
}
.route-loader-bar::after {
  content: ""; position: absolute; inset: 0; width: 40%;
  background: var(--rose); border-radius: inherit;
  animation: route-loader-slide 1.1s var(--ease) infinite;
}
@keyframes route-loader-slide {
  from { transform: translateX(-100%); }
  to { transform: translateX(250%); }
}
