/* codefcmb: small, one-time transitions on desktop and mobile. */
:root{--motion-ease:cubic-bezier(.2,.7,.2,1)}
.hero-banner,.top-code-panel,.product-card{animation:none}
.hero-banner::after{display:none}
.motion-ready .motion-pending{opacity:0;transform:translateY(8px)}
.motion-ready .motion-revealed{animation:codefcmb-reveal .34s var(--motion-ease) both}
.motion-delay-1{animation-delay:25ms!important}.motion-delay-2{animation-delay:50ms!important}.motion-delay-3{animation-delay:75ms!important}
.account-menu:not([hidden]),.auth-dialog[open]{animation:codefcmb-pop .16s var(--motion-ease)}
.auth-dialog[open]::backdrop{animation:codefcmb-backdrop .16s ease}
.btn,.card-cta,.player-shortcut,.order-button,.guest-account,.admin-nav{transition:transform .16s var(--motion-ease),background-color .16s ease}
.btn:active,.card-cta:active,.player-shortcut:active,.order-button:active{transform:scale(.98)}
.product-image{transition:transform .18s var(--motion-ease)}
@media(hover:hover) and (pointer:fine){.product-card:hover .product-image{transform:translateY(-3px)}.admin-nav:hover{transform:translateX(2px)}}
.motion-tab-hidden *,.motion-tab-hidden *::before,.motion-tab-hidden *::after{animation-play-state:paused!important}
@keyframes codefcmb-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes codefcmb-pop{from{opacity:0;transform:translateY(4px) scale(.99)}to{opacity:1;transform:none}}
@keyframes codefcmb-backdrop{from{opacity:0}to{opacity:1}}
@keyframes codefcmb-fade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.motion-ready .motion-pending{transform:none}.motion-ready .motion-revealed,.account-menu:not([hidden]),.auth-dialog[open],.auth-dialog[open]::backdrop{animation:codefcmb-fade .16s ease-out both!important}.motion-delay-1,.motion-delay-2,.motion-delay-3{animation-delay:0s!important}.btn,.card-cta,.player-shortcut,.order-button,.guest-account,.admin-nav,.product-image{transition:none!important}html{scroll-behavior:auto}}
