/* Entry artwork only. app.js owns readiness, fallback and dismissal. */
.entry-status.entry-loader {
  display: grid;
  place-items: center;
  gap: 0;
  background: var(--paper);
  opacity: 1;
  transition: opacity 240ms ease 180ms;
}
.entry-status.entry-loader[hidden] { display: none; }
.entry-status.entry-loader::before { content: none; }
.entry-loader-logo {
  display: block;
  width: clamp(136px, 13vw, 184px);
  height: auto;
  overflow: visible;
}
.entry-loader-lettering { fill: var(--ink); }
.entry-loader-star-position {
  transform-origin: 171.5px 223px;
  transition: transform 240ms cubic-bezier(.2,.75,.25,1);
}
.entry-loader.is-animating .entry-loader-star-position {
  transform: translate(-24px, -45px) scale(.92);
}
.entry-loader-star {
  fill: var(--accent);
  transform-box: fill-box;
  transform-origin: center;
  transition: fill 180ms ease;
}
.entry-loader.is-animating:not(.is-complete) .entry-loader-star { fill: var(--ink); }
.entry-status.entry-loader.is-complete { opacity: 0; }
.entry-loader.is-complete .entry-loader-star-position { transform: none; }
@media (prefers-reduced-motion: reduce) {
  .entry-status.entry-loader { display: none !important; transition: none; }
  .entry-loader-star-position, .entry-loader-star { transform: none !important; transition: none; }
}
