/* Optional motion for reading pages. Content is never hidden by this stylesheet. */
.ivy-scroll-progress{position:fixed;inset:0 0 auto;height:3px;z-index:90;pointer-events:none;overflow:hidden}
.ivy-scroll-progress[hidden]{display:none!important}
.ivy-scroll-progress>span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#244f3e,#829576);transform:scaleX(var(--ivy-scroll-progress,0));transform-origin:left center}

/* Only the non-game root opts in. Printing and reduced motion never enter these rules. */
@media screen and (prefers-reduced-motion:no-preference){
 :is(#ivyr-app,body)[data-ivy-motion=active] dialog[open]{animation:ivy-dialog-reveal .24s cubic-bezier(.2,.7,.3,1)}
 :is(#ivyr-app,body)[data-ivy-motion=active] .ivy-action-link.ivy-motion-shimmer{position:relative}
 :is(#ivyr-app,body)[data-ivy-motion=active] .ivy-action-link.ivy-motion-shimmer::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#fffef938 50%,transparent 65%);background-size:250% 100%;opacity:0;animation:ivy-cta-shimmer 1s ease-out .25s 1}

 @media(hover:hover) and (pointer:fine){
  :is(#ivyr-app,body)[data-ivy-motion=active] :is(.ivy-action-link,.ivy-secondary-link,.ivy-page-jumps a,.note-item,.note-feature,.ivy-footer-directory a,.wn-project-primary a,.diary-photo,.photo-gallery .gallery-open){transition:translate .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease}
  :is(#ivyr-app,body)[data-ivy-motion=active] :is(.ivy-action-link,.ivy-secondary-link,.ivy-page-jumps a,.note-item,.note-feature,.ivy-footer-directory a,.wn-project-primary a,.diary-photo,.photo-gallery .gallery-open):hover{translate:0 -2px}
  :is(#ivyr-app,body)[data-ivy-motion=active] :is(.ivy-action-link,.ivy-page-jumps a,.note-feature,.wn-project-primary a,.diary-photo):hover{box-shadow:0 6px 16px #233d3212}
  /* Observation photos retain their entire frame; only the home cover gently enlarges. */
  :is(#ivyr-app,body)[data-ivy-motion=active] .home-photo img{transition:scale .55s cubic-bezier(.2,.7,.3,1)}
  :is(#ivyr-app,body)[data-ivy-motion=active] .home-photo a:hover img{scale:1.015}
 }
}

@keyframes ivy-dialog-reveal{from{opacity:0;translate:0 8px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
@keyframes ivy-cta-shimmer{0%{background-position:100% 0;opacity:0}20%{opacity:1}80%{opacity:1}100%{background-position:0 0;opacity:0}}

@media print,(prefers-reduced-motion:reduce){.ivy-scroll-progress{display:none!important}}
