/* Available before JavaScript and reused by React's full-page fallbacks. */
.cocotte-loading {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #fff7f7;
}
.cocotte-loading__art {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover; /* Fill the screen; decorative edges may crop, the logo stays central. */
}
.cocotte-loading__progress {
  position: absolute;
  bottom: max(28px, env(safe-area-inset-bottom, 0px));
  width: 26px;
  height: 4px;
  border-radius: 99px;
  background: #df5f0e;
  animation: cocotte-loading-pulse 1.2s ease-in-out infinite;
}
.cocotte-loading__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@keyframes cocotte-loading-pulse {
  50% { opacity: .35; }
}
@media (prefers-reduced-motion: reduce) {
  .cocotte-loading__progress { animation: none; }
}
/* Very narrow windows must retain the whole wordmark. */
@media (max-aspect-ratio: 2/5) {
  .cocotte-loading__art { object-fit: contain; }
}
