/* The controls keep their original anchors. Feedback belongs to the inner artwork. */
:root{
 --control-follow:120ms;--control-release:240ms;
 --control-ease:cubic-bezier(.18,.76,.22,1);
 --control-settle:cubic-bezier(.2,1.08,.34,1);
}
:root[data-motion=full]{--control-follow:140ms;--control-release:300ms;--control-settle:cubic-bezier(.18,1.12,.34,1)}
.control-glyph{
 translate:var(--control-x,0px) var(--control-y,0px);
 scale:var(--control-pressure,1)!important;
 transform:none!important;
 transition:translate var(--control-release) var(--control-settle),scale 130ms var(--control-ease)!important;
}
.is-control-hover>.control-glyph{transition-duration:var(--control-follow),130ms!important}
.is-control-pressed{--control-pressure:.955}
.is-control-pressed>.control-glyph{transition-duration:80ms,80ms!important}
.nav-item:hover,.nav-item:active,.filter:hover,.filter:active,
.catalog-back:hover,.catalog-back:active,.about-back:hover,.about-back:active,.about-back:focus-visible{
 transform:none!important;
}
.filter-option:hover,.filter-option:active,.catalog-filter-option:hover,.catalog-filter-option:active{transform:none!important}
.nav-item::after,.filter-option::after,.catalog-filter-option::after{
 transform-origin:var(--control-line-exit,right);
 transition:transform 280ms var(--control-ease),opacity 180ms var(--control-ease)!important;
}
.nav-item:hover::after,.nav-item:focus-visible::after,
.filter-option:hover::after,.filter-option:focus-visible::after,
.catalog-filter-option:hover::after,.catalog-filter-option:focus-visible::after{
 transform-origin:var(--control-line-origin,left);transform:scaleX(1);
}
.filter-option::after,.catalog-filter-option::after{opacity:.48}
.filter-option[aria-pressed=true]::after,.catalog-filter-option[aria-pressed=true]::after,
.filter-option:focus-visible::after,.catalog-filter-option:focus-visible::after{opacity:1}
.nav-item:focus-visible,.filter:focus-visible,.arrow:focus-visible{box-shadow:none}
body:not(.admin-page) .primary:hover{transform:none}

@keyframes control-page-in{from{opacity:0}to{opacity:1}}

/* The private editor stays still; feedback uses its existing ink and borders. */
.admin-page .work-item,.admin-page .media-row,.admin-page .order-row,
.admin-page .row-actions button,.admin-page .library-item{
 transition:background-color 180ms var(--control-ease),border-color 180ms var(--control-ease),box-shadow 180ms var(--control-ease);
}
.admin-page input:not([type=file]):not([type=checkbox]):not([type=radio]):focus,
.admin-page textarea:focus{border-color:var(--ink)}
.admin-page .media-row:hover,.admin-page .order-row:hover,
.admin-page .media-row:focus-within,.admin-page .order-row:focus-within,
.admin-page .row-actions button:hover:not(:disabled),
.admin-page .library-item:hover{border-color:var(--ink)}
.admin-page .media-row:focus-within,.admin-page .order-row:focus-within{box-shadow:inset 2px 0 0 var(--ink)}
.admin-page .asset-library[open]{animation:control-dialog-in 210ms var(--control-ease) both}
.admin-page .asset-library[open]::backdrop{animation:control-page-in 170ms ease-out both}
@keyframes control-dialog-in{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}

@media(prefers-reduced-motion:reduce){
 .control-glyph{translate:none!important;scale:1!important;transition:none!important}
 .nav-item::after,.filter-option::after,.catalog-filter-option::after{transition:none!important}
 .admin-page .asset-library[open],.admin-page .asset-library[open]::backdrop{animation:none}
}
