/* Public-page motion only; never loaded into the block editor or previews. */
:root {
  --minsos-page-fade: 180ms;
  --minsos-entrance: 320ms;
  --minsos-entrance-delay: 60ms;
  --minsos-entrance-distance: 8px;
  --minsos-motion-ease: cubic-bezier(.22, 1, .36, 1);
  --minsos-opening-duration: 1800ms;
}

.minsos-opening { display: none; }

@media (prefers-reduced-motion: no-preference) {
  .minsos-opening.is-opening {
    display: grid;
    place-items: center;
    position: fixed;
    inset: 0;
    z-index: 99998;
    pointer-events: none;
  }
  .minsos-opening::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--wp--preset--color--paper);
  }
  .minsos-opening.is-docking::before {
    animation: minsos-opening-unveil var(--minsos-opening-duration) ease both;
  }
  .minsos-opening img {
    width: min(180px, 42vw);
    height: auto;
    position: relative;
    transform-origin: top left;
  }
  .minsos-opening-active .minsos-logo img { visibility: hidden; }
  body:has(:focus-visible) .minsos-opening { display: none; }
  /* Progressive enhancement: no link interception or artificial load delay. */
  @view-transition { navigation: auto; }

  ::view-transition-old(root) {
    animation: minsos-page-out var(--minsos-page-fade) ease both;
  }
  ::view-transition-new(root) {
    animation: minsos-page-in var(--minsos-page-fade) ease both;
  }
  ::view-transition { pointer-events: none; }

  .minsos-header { view-transition-name: minsos-header; }
  .minsos-book-control .wp-block-button__link { view-transition-name: minsos-book; }
  #wpadminbar { view-transition-name: minsos-adminbar; }

  /* Keep shared controls crisp, without morphing their position between pages. */
  ::view-transition-group(minsos-header),
  ::view-transition-group(minsos-book),
  ::view-transition-group(minsos-adminbar) { animation-duration: 0s; }
  ::view-transition-old(minsos-header),
  ::view-transition-old(minsos-book),
  ::view-transition-old(minsos-adminbar) { display: none; }
  ::view-transition-new(minsos-header),
  ::view-transition-new(minsos-book),
  ::view-transition-new(minsos-adminbar) { animation: none; }

  .minsos-hero .wp-block-cover__inner-container :is(h1, p, .wp-block-buttons) {
    animation: minsos-hero-enter var(--minsos-entrance) var(--minsos-motion-ease) backwards;
  }
  .minsos-hero .wp-block-cover__inner-container p {
    animation-delay: var(--minsos-entrance-delay);
  }
  .minsos-hero .wp-block-cover__inner-container .wp-block-buttons {
    animation-delay: calc(var(--minsos-entrance-delay) + 20ms);
  }
}

@keyframes minsos-page-out { to { opacity: 0; } }
@keyframes minsos-opening-unveil {
  0%, 20% { opacity: 1; }
  75%, 100% { opacity: 0; }
}
@keyframes minsos-page-in { from { opacity: 0; } }
@keyframes minsos-hero-enter {
  from { opacity: 0; translate: 0 var(--minsos-entrance-distance); }
  to { opacity: 1; translate: 0 0; }
}
