/* R110: optimized artwork only; neutral loading/error paint, never old emoji. */
.cm-catalog-art {
  display: inline-block;
  position: relative;
  inline-size: auto;
  block-size: auto;
  line-height: inherit;
  vertical-align: baseline;
  flex: 0 0 auto;
  pointer-events: none;
  user-select: none;
}
.cm-catalog-art.cm-catalog-art-fill { inline-size: 100%; block-size: 100%; vertical-align: 0; }
.cm-catalog-art > .cm-catalog-art-sizer { visibility: hidden; font: inherit; line-height: inherit; }
.cm-catalog-art > .cm-catalog-art-image {
  display: block;
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  max-inline-size: 100%;
  max-block-size: 100%;
  object-fit: contain;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  box-shadow: none;
  pointer-events: none;
}
.cm-catalog-art > .cm-catalog-art-fallback {
  display: flex;
  position: absolute;
  inset: 0;
  align-items: center;
  justify-content: center;
  font-size: inherit;
  line-height: inherit;
  pointer-events: none;
}
.cm-catalog-art[data-cm-art-state="loading"] > .cm-catalog-art-image { opacity: 0; }
.cm-catalog-art > .cm-catalog-art-fallback::after {
  content: "";
  display: block;
  inline-size: .7em;
  block-size: .7em;
  border: 1px solid currentColor;
  border-radius: .18em;
  background: currentColor;
  opacity: .2;
}
.cm-catalog-art[data-cm-art-state="loading"] > .cm-catalog-art-fallback { opacity: .32; }
.cm-catalog-art[data-cm-art-state="ready"] > .cm-catalog-art-fallback { display: none; }
.cm-catalog-art[data-cm-art-state="error"] > .cm-catalog-art-image,
.cm-catalog-art[data-cm-art-failed="true"] > .cm-catalog-art-image { display: none; }
