/* Motion enhances the existing content; it never gates visibility. */
.reading-thread{position:fixed;inset:0 0 auto;height:3px;z-index:25;pointer-events:none;transform-origin:left;transform:scaleX(var(--reading-progress,0));background:linear-gradient(90deg,#789575,#e7a580,#bba1bd)}
.site-header nav{position:relative;padding-block:9px}.nav-thread{position:absolute;bottom:0;left:0;width:var(--nav-width,0px);height:3px;border-radius:4px;background:#ad714e;transform:translateX(var(--nav-x,0px));transition:transform .4s cubic-bezier(.2,.8,.2,1),width .4s;pointer-events:none}.site-header nav a[aria-current="location"]{color:#975d3d}
.motion-enabled .ui-image{position:relative;transform:translateY(var(--screen-lift,0px));transition:transform .5s cubic-bezier(.2,.75,.2,1);box-shadow:0 10px 24px #283e3410}
.motion-enabled .creature-landscape .encounter img{transform:translate(var(--encounter-x,0px),var(--encounter-y,0px)) rotate(var(--encounter-tilt,0deg));transition:transform .55s cubic-bezier(.16,1,.3,1),filter .55s}.motion-enabled .creature-landscape .encounter.encounter-near img{filter:drop-shadow(0 18px 8px #42534436)}
.motion-enabled .habitat-detail{translate:0 var(--habitat-drift,0px);transition:translate .5s ease-out}
@media(hover:none){.motion-enabled .ui-image{box-shadow:0 8px 20px #283e3414}}
.motion-paused .reading-thread,.motion-paused .nav-thread{transition:none}.motion-paused .ui-image,.motion-paused .ui-shot figcaption,.motion-paused .color-token>span,.motion-paused .color-token strong,.motion-paused .color-token code,.motion-paused .flow-step,.motion-paused .sample-action,.motion-paused .creature-landscape .encounter img{transform:none!important;animation:none!important;transition:none!important}.motion-paused .flow-arrow:after{animation:none!important;opacity:0}.motion-paused .habitat-detail{translate:none;transition:none}.motion-paused .ui-image:after{opacity:0}.motion-paused .design-system:before{transition:none}
@media(prefers-reduced-motion:reduce){.reading-thread,.nav-thread{transition:none}.motion-enabled .ui-image,.motion-enabled .ui-shot figcaption,.motion-enabled .color-token>span,.motion-enabled .color-token strong,.motion-enabled .color-token code,.motion-enabled .flow-step,.motion-enabled .sample-action,.motion-enabled .creature-landscape .encounter img{transform:none!important;transition:none!important;animation:none!important}.motion-enabled .flow-arrow:after{animation:none!important;opacity:0}.motion-enabled .habitat-detail{translate:none;transition:none}.design-system:before{transition:none}.ui-image:after{display:none}}

/* Small, in-place gestures; artwork never turns into a popup or control. */
.motion-enabled .creature-landscape .encounter{animation:creature-breathe var(--idle-duration,5.5s) ease-in-out var(--idle-delay,0s) infinite;animation-play-state:paused}
.motion-enabled .bestiary-section.ambient-visible .encounter{animation-play-state:running}
.motion-enabled .encounter-trail path{animation:trail-drift 24s linear infinite;animation-play-state:paused}
.motion-enabled .bestiary-section.ambient-visible .encounter-trail path{animation-play-state:running}
.motion-enabled .hero-orbit{animation:orbit-sway 12s ease-in-out infinite;animation-play-state:paused}
.motion-enabled .art-spark,.motion-enabled .stage-star{animation:star-breathe 5s ease-in-out infinite;animation-play-state:paused;transform-origin:center}
.motion-enabled .spark-two{animation-delay:-2.4s}.motion-enabled .cat-stage:nth-child(2) .stage-star{animation-delay:-1.7s}.motion-enabled .cat-stage:nth-child(3) .stage-star{animation-delay:-3.2s}
.motion-enabled .ambient-visible .hero-orbit,.motion-enabled .ambient-visible .art-spark,.motion-enabled .ambient-visible .stage-star{animation-play-state:running}
.motion-enabled .heading-arrived{animation:heading-settle .7s cubic-bezier(.16,1,.3,1) both}
.motion-enabled .chapter-picture>img{transition:scale .65s cubic-bezier(.16,1,.3,1)}
.motion-enabled .button>span:last-child,.motion-enabled .text-link{transition:translate .25s ease}
@media(hover:hover) and (pointer:fine){
 .motion-enabled .world-chapter:hover .chapter-picture>img{scale:1.025}
 .motion-enabled .button:not([aria-disabled=true]):hover>span:last-child{translate:3px -2px}
 .motion-enabled .text-link:hover{translate:3px 0}
}
@keyframes creature-breathe{0%,100%{translate:0 0}50%{translate:0 -3px}}
@keyframes trail-drift{to{stroke-dashoffset:-104}}
@keyframes orbit-sway{0%,100%{rotate:-2deg}50%{rotate:3deg}}
@keyframes star-breathe{0%,100%{scale:.94;opacity:.65;rotate:-5deg}50%{scale:1.08;opacity:1;rotate:6deg}}
@keyframes heading-settle{from{translate:0 12px}to{translate:0 0}}
.motion-hidden .encounter,.motion-hidden .encounter-trail path,.motion-hidden .hero-orbit,.motion-hidden .art-spark,.motion-hidden .stage-star{animation-play-state:paused!important}
.motion-paused .encounter,.motion-paused .encounter-trail path,.motion-paused .hero-orbit,.motion-paused .art-spark,.motion-paused .stage-star,.motion-paused .heading-arrived{animation:none!important;translate:none;rotate:none;scale:none}
.motion-paused .chapter-picture>img,.motion-paused .button>span:last-child,.motion-paused .text-link{scale:none!important;translate:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){
 .motion-enabled .encounter,.motion-enabled .encounter-trail path,.motion-enabled .hero-orbit,.motion-enabled .art-spark,.motion-enabled .stage-star,.motion-enabled .heading-arrived{animation:none!important;translate:none;rotate:none;scale:none}
 .motion-enabled .chapter-picture>img,.motion-enabled .button>span:last-child,.motion-enabled .text-link{scale:none!important;translate:none!important;transition:none!important}
}
