/* Motion explains changes; browsing controls never loop or delay a task. */
html[data-gg-motion=on] .gg-reveal{animation:gg-arrive 420ms cubic-bezier(.23,1,.32,1) both;animation-delay:var(--gg-delay,0ms)}
html[data-gg-motion=on]:not([data-gg-input=keyboard]) dialog[open]{animation:gg-dialog-in 220ms cubic-bezier(.23,1,.32,1)}
html[data-gg-motion=on]:not([data-gg-input=keyboard]) dialog::backdrop{animation:gg-backdrop-in 180ms ease-out}
html[data-gg-motion=on] :is(.gg-shop-cta,.primary,.subtle-btn,.gg-save-mood,.gg-directory-toggle,.gg-palette-options button,.add){transition:transform 140ms cubic-bezier(.23,1,.32,1),background-color 160ms ease,color 160ms ease}
html[data-gg-motion=on]:not([data-gg-input=keyboard]) :is(.gg-shop-cta,.primary,.subtle-btn,.gg-save-mood,.gg-directory-toggle,.gg-palette-options button,.add):active{transform:scale(.97)}
html[data-gg-motion=on] .gg-shop-cta-arrow{transition:transform 180ms cubic-bezier(.23,1,.32,1)}
html[data-gg-motion=on] :is(.style-edit-image img,.gg-mood-design img){transition:transform 240ms cubic-bezier(.23,1,.32,1)}
@media(hover:hover) and (pointer:fine){html[data-gg-motion=on] .gg-shop-cta:hover .gg-shop-cta-arrow{transform:translate(2px,-2px)}}
html[data-gg-motion=paused] *,html[data-gg-motion=paused] *::before,html[data-gg-motion=paused] *::after{animation-play-state:paused!important}
html[data-gg-motion=off] *,html[data-gg-motion=off] *::before,html[data-gg-motion=off] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-gg-motion=off] .gg-reveal{opacity:1!important;transform:none!important}
html[data-gg-input=keyboard] :is(button,a,dialog){animation:none!important;transition:none!important}
@keyframes gg-arrive{from{transform:translateY(12px)}to{transform:translateY(0)}}
@keyframes gg-dialog-in{from{opacity:.6;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes gg-backdrop-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}html *,html *::before,html *::after{animation:none!important;transition:none!important}.gg-reveal{opacity:1!important;transform:none!important}}
