/* Fallback tokens for the standalone loading veil.
   These cover values not guaranteed by atelier.css; loader rules below consume
   them only through var(). */
:root{
  --shimmer-copper:var(--ember,#C4742B);
  --shimmer-overlay:var(--paper,#F8F7F4);
  --shimmer-text:var(--ink,#131311);
  --shimmer-line-muted:var(--line,rgba(19,19,17,.09));
  --shimmer-fade-duration:240ms;
  --shimmer-pulse-duration:1200ms;
  --shimmer-progress-duration:1200ms;
  --shimmer-ease:cubic-bezier(.2,.7,.2,1);
  --shimmer-rule-height:1px;
  --shimmer-rule-width:min(18rem,56vw);
  --shimmer-gap:.875rem;
  --shimmer-word-size:clamp(1.35rem,4vw,2rem);
  --shimmer-letterspace:.18em;
  --shimmer-z:2147483000;
}

.shimmer-veil{
  position:fixed;
  inset:0;
  z-index:var(--shimmer-z);
  display:grid;
  place-items:center;
  pointer-events:none;
  background:var(--shimmer-overlay);
  color:var(--shimmer-text);
  opacity:1;
  transition:opacity var(--shimmer-fade-duration) var(--shimmer-ease);
}

.shimmer-veil.is-leaving{opacity:0}

.shimmer-mark{
  display:grid;
  justify-items:center;
  gap:var(--shimmer-gap);
  font-family:var(--display);
  font-size:var(--shimmer-word-size);
  font-weight:600;
  letter-spacing:var(--shimmer-letterspace);
  line-height:1;
  text-transform:uppercase;
}

.shimmer-dot{
  color:var(--shimmer-copper);
  animation:shimmer-pulse var(--shimmer-pulse-duration) var(--shimmer-ease) infinite;
}

.shimmer-rule{
  width:var(--shimmer-rule-width);
  height:var(--shimmer-rule-height);
  overflow:hidden;
  background:var(--shimmer-line-muted);
  transform:translateZ(0);
}

.shimmer-rule i{
  display:block;
  width:100%;
  height:100%;
  background:var(--shimmer-copper);
  transform:scaleX(0);
  transform-origin:0 50%;
  transition:transform var(--shimmer-progress-duration) var(--shimmer-ease);
}

.shimmer-veil.is-window-loaded .shimmer-rule i{transform:scaleX(1)}

@keyframes shimmer-pulse{
  0%,100%{opacity:1}
  50%{opacity:.36}
}

@media (prefers-reduced-motion:reduce){
  .shimmer-veil{transition:none}
  .shimmer-dot{animation:none}
  .shimmer-rule i{transition:none}
}

@media print{
  .shimmer-veil{display:none}
}
