/* Shared motion: keep layout stable and preserve native links and controls. */
:root{--motion-fast:160ms;--motion-medium:260ms;--motion-ease:cubic-bezier(.22,1,.36,1)}
.desktop-nav a{position:relative;isolation:isolate;transition:color var(--motion-fast),translate var(--motion-fast) var(--motion-ease)}
.desktop-nav a:before{content:"";position:absolute;inset:5px -11px;border-radius:9px;background:color-mix(in srgb,var(--accent) 9%,transparent);opacity:0;scale:.92;z-index:-1;pointer-events:none;transition:opacity var(--motion-fast),scale var(--motion-medium) var(--motion-ease)}
.desktop-nav a:focus-visible:before{opacity:1;scale:1}
:is(.button,.asset-download,.package-link,.header-control,.menu-toggle,.preview-switcher button,.filter-options button,.platform-tabs button,.changelog-more button){transition:translate var(--motion-medium) var(--motion-ease),scale var(--motion-fast),background-color var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast),box-shadow var(--motion-medium)}
:is(.button,.asset-download,.package-link,.header-control,.menu-toggle,.preview-switcher button,.filter-options button,.platform-tabs button,.changelog-more button):not(:disabled):active{scale:.97;translate:0 1px}
:is(.feature-card,.catalog-card,.release-card){transition:translate var(--motion-medium) var(--motion-ease),border-color var(--motion-fast),box-shadow var(--motion-medium)}
:is(.feature-icon,.benefit-icon,.catalog-cover>img,.catalog-cover>.icon,.button>.icon,.asset-download>.icon,.header-control>.icon){transition:transform 320ms var(--motion-ease)}
:is(.help-navigation a,.help-toc a,.help-pager a,.footer-column>a,.mobile-nav a){transition:color var(--motion-fast),background-color var(--motion-fast),translate var(--motion-medium) var(--motion-ease)}
.catalog-card summary,.help-group summary{transition:color var(--motion-fast),background-color var(--motion-fast)}
.catalog-card summary:focus-visible,.help-group summary:focus-visible{color:var(--accent)}
@media(hover:hover) and (pointer:fine){
 .desktop-nav a:hover:before{opacity:1;scale:1}
 .desktop-nav a:hover{translate:0 -1px}
 :is(.button,.asset-download,.package-link,.changelog-more button):not(:disabled):hover{translate:0 -3px;box-shadow:0 9px 22px color-mix(in srgb,var(--accent) 15%,transparent)}
 :is(.feature-card,.catalog-card):hover{translate:0 -5px;box-shadow:0 14px 32px #29272212}
 .release-card:hover{translate:0 -2px;border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
 .feature-card:hover .feature-icon,.local-first-benefit:hover .benefit-icon{transform:translateY(-3px) rotate(-4deg)}
 .catalog-card:hover .catalog-cover>img{transform:translateY(-4px) scale(1.025)}
 .catalog-card:hover .catalog-cover>.icon{transform:translateY(-4px)}
 .button:hover>.icon,.asset-download:hover>.icon{transform:translateY(2px)}
 .header-control:hover>.icon{transform:rotate(-12deg)}
 :is(.help-navigation a,.help-toc a,.footer-column>a,.mobile-nav a):hover{translate:3px 0;color:var(--accent)}
 :is(.preview-switcher button,.filter-options button,.platform-tabs button):hover{translate:0 -2px}
 .catalog-card summary:hover,.help-group summary:hover{color:var(--accent)}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation:none!important;transition:none!important}
 .desktop-nav a,.button,.asset-download,.package-link,.header-control,.menu-toggle,.preview-switcher button,.filter-options button,.platform-tabs button,.changelog-more button,.feature-card,.catalog-card,.release-card,.help-navigation a,.help-toc a,.footer-column>a,.mobile-nav a{translate:none!important;scale:none!important}
 .feature-icon,.benefit-icon,.catalog-cover>img,.catalog-cover>.icon,.button>.icon,.asset-download>.icon,.header-control>.icon{transform:none!important}
}
