/* A single visitor control keeps CSS and JS motion in sync. */
.motion-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border:1px solid #efe3cd66;border-radius:8px;background:transparent;color:var(--cream);padding:0}
.motion-toggle:hover{background:#efe3cd15}
.motion-toggle svg{width:16px;height:16px;fill:currentColor}
.motion-toggle .motion-play{display:none}
.motion-toggle[aria-pressed=true] .motion-play{display:block}
.motion-toggle[aria-pressed=true] .motion-pause{display:none}
.footer-dice{animation:footer-dice-float 7s ease-in-out infinite}
.cover-center .sticker-foil,.footer-dice .sticker-foil{animation:sticker-idle-shine 8s ease-in-out infinite}
.cover-center .sticker-foil{animation-delay:1.25s}
.sticker.is-gleaming>.sticker-foil{animation:sticker-shine 1.4s ease-in-out both}
.keychain-rotor{animation-delay:var(--keychain-start,0s)}
[data-motion-art].motion-waiting,[data-motion-art].motion-waiting *,
.page-hidden [data-motion-art],.page-hidden [data-motion-art] *{animation-play-state:paused!important}
@keyframes footer-dice-float{0%,100%{transform:translateY(0) rotate(8deg)}50%{transform:translateY(-10px) rotate(3deg)}}
@keyframes sticker-idle-shine{0%,8%{background-position:180% 50%;opacity:0}10%{opacity:.92}28%{background-position:-80% 50%;opacity:.92}30%,100%{background-position:-80% 50%;opacity:0}}
html[data-motion=paused]{scroll-behavior:auto}
html[data-motion=paused] *,html[data-motion=paused] *::before,html[data-motion=paused] *::after{animation-play-state:paused!important;transition:none!important}
html[data-motion=paused] .cover-center{animation:none!important;opacity:1;transform:none}
html[data-motion=paused] .reveal{opacity:1!important;transform:none!important}
html[data-motion=paused] .name-edge,html[data-motion=paused] .sticker-foil{display:none}
html[data-motion=paused] .keychain-swing{animation:none!important;transform:none}
html[data-motion=paused] .keychain-scene:not(.is-manual) .keychain-rotor{animation:none!important;transform:rotateY(0deg)}
html[data-motion=paused] .countdown-star.is-static{opacity:.8;transform:none}
html[data-motion=paused] .flame-art{transform:none!important;will-change:auto!important}
@media(max-width:760px){.site-header{gap:10px}.motion-toggle{flex-basis:36px;width:36px;height:38px}}
/* Without JavaScript, retain the operating system's reduced-motion fallback. */
@media(prefers-reduced-motion:reduce){html:not([data-motion]){scroll-behavior:auto}html:not([data-motion]) *,html:not([data-motion]) *::before,html:not([data-motion]) *::after{animation:none!important;transition:none!important}html:not([data-motion]) .name-edge,html:not([data-motion]) .sticker-foil{display:none}}
