/* Natural product-object imagery, with consistent breathing room and no color tint. */
.builtin-icon[data-icon-id] {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-origin: content-box;
  background-clip: content-box;
  object-fit: contain;
}
.icon-load-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #eef1f4;
  color: #525e6c;
  font-size: 13px;
  line-height: 1.6;
}
.icon-load-status[hidden], .icon-load-status button[hidden] { display: none; }
.icon-load-status button {
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid #c9d0d9;
  border-radius: 9px;
  background: white;
  color: #29333f;
  font-weight: 600;
  white-space: nowrap;
}
.asset-art {
  /* A reserved image row keeps intrinsic PNG/photo sizes away from the text.
     The top inset also leaves the status badge its own clear space. */
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 152px;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 152px;
  padding: 26px 0 2px;
  margin-bottom: 14px;
  background: none;
}
.asset-art > img,
.asset-art.photo > img {
  flex: 0 1 124px;
  width: 124px;
  height: 124px;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 124px;
  padding: 0;
  object-fit: contain;
  filter: none;
}
.asset-name { font-weight: 600; }
.asset-open { padding: 20px; }
.asset-badge { border: 0; border-radius: 999px; color: #505d4a; background: #f1f3ef; padding: 5px 9px; }
.asset-card:hover .asset-art img { transform: none; }
.cover-preview { background: #f5f6f8; padding: 18px; }
.cover-preview .editor-main-image { height: 176px; padding: 8px; }
.cover-object-grid { gap: 10px; max-height: 292px; }
.cover-object-grid > button { background: #f5f6f8; border-radius: 17px; padding: 8px 7px 10px; }
.cover-object-grid > button > img { width: 100%; height: 82px; padding: 5px; }
.cover-object-grid > button > span { font-weight: 500; }
.cover-object-grid > button.selected { background: #f0f3f0; border-color: #697f61; }
.object-category-tabs { display: flex; align-items: center; gap: 5px; max-width: 100%; overflow-x: auto; padding: 2px 0 10px; scrollbar-width: thin; }
.object-category-tabs button { flex: none; border-radius: 999px; background: #eef0f3; padding: 7px 11px; color: #5e6570; font-size: 13px; white-space: nowrap; }
.object-category-tabs button.active { background: #30353d; color: white; }
.wish-photo { padding: 5px; }
.summary-decoration { filter: none; }
.detail-hero > img { padding: 12px; background: #f5f6f8; }
.analysis-item-dialog-list { display: grid; gap: 6px; }
.analysis-item-dialog-list > button { display: grid; grid-template-columns: 48px minmax(0,1fr) 16px; gap: 12px; align-items: center; width: 100%; text-align: left; padding: 12px 0; border-bottom: 1px solid #e9ecf0; }
.analysis-item-dialog-list img { width: 48px; height: 50px; object-fit: contain; }
.analysis-item-dialog-list strong { display: block; font-size: 16px; font-weight: 500; color: #282c32; overflow-wrap: anywhere; }
.analysis-item-dialog-list small { color: #6a7079; font-size: 14px; }
.analysis-item-dialog-list b { color: #8a9099; font-weight: 400; }
@media (max-width:760px) {
  .asset-open { padding: 18px 15px 20px; }
  .asset-art { flex-basis: 124px; height: 124px; padding: 26px 0 2px; margin-bottom: 12px; }
  .asset-art > img,
  .asset-art.photo > img { flex-basis: 96px; width: 96px; height: 96px; max-height: 96px; }
  .asset-card { border-radius: 26px; }
  .asset-name { font-size: 17px; }
  .asset-secondary { margin-top: 6px; }
  .card-bottom { padding-top: 20px; }
  .cover-preview .editor-main-image { height: 144px; width: 160px; padding: 6px; }
  .cover-object-grid > button > img { height: 78px; }
  .object-category-tabs button { font-size: 14px; padding-inline: 13px; }
}
