/* Production Library — World Desk composition from the approved UI System. */
.library-world-desk {
  --anp-bg-deep: var(--anp-concept-bg-deep);
  --anp-bg: var(--anp-concept-bg);
  --anp-surface-1: var(--anp-concept-surface-1);
  --anp-surface-2: var(--anp-concept-surface-2);
  --anp-surface-3: var(--anp-concept-surface-3);
  --anp-border-subtle: var(--anp-concept-border);
  --anp-border: var(--anp-concept-border);
  --anp-border-strong: var(--anp-concept-border-strong);
  --anp-text-primary: var(--anp-concept-text);
  --anp-text-muted: var(--anp-concept-muted);
  --anp-text-disabled: var(--anp-concept-dim);
  --anp-success: var(--anp-concept-success);
  --anp-warning: var(--anp-concept-warning);
  --anp-brand-blue: var(--anp-concept-blue);
  --anp-brand-cyan: var(--anp-concept-cyan);
  --library-desk-sidebar: 252px;
  --library-desk-inspector: 302px;
  --library-desk-tray-height: 76px;
  grid-template-areas:
    "appbar appbar appbar"
    "sources workspace inspector"
    "tray tray inspector";
  grid-template-columns: var(--library-desk-sidebar) minmax(0, 1fr) var(--library-desk-inspector);
  grid-template-rows: 68px minmax(0, 1fr) var(--library-desk-tray-height);
  background:
    radial-gradient(circle at 62% 0%, color-mix(in srgb, var(--anp-brand-blue) 10%, transparent), transparent 34%),
    linear-gradient(140deg, var(--anp-bg-deep), var(--anp-bg));
}

.library-desk-appbar {
  grid-area: appbar;
  position: relative;
  z-index: 40;
  display: grid;
  grid-template-columns: var(--library-desk-sidebar) minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--anp-space-3);
  min-width: 0;
  padding: var(--anp-space-2) var(--anp-space-3);
  border-bottom: 1px solid var(--anp-border-subtle);
  background: color-mix(in srgb, var(--anp-surface-1) 90%, transparent);
  backdrop-filter: blur(18px);
}

.library-desk-brand {
  display: flex;
  align-items: center;
  gap: var(--anp-space-2);
  min-width: 0;
  height: 52px;
  padding-inline: var(--anp-space-2);
  text-decoration: none;
}
.library-desk-brand-mark { display: block; width: 34px; height: 34px; object-fit: contain; }
.library-desk-brand > span { display: grid; }
.library-desk-brand b { color: var(--anp-text-primary); font-size: var(--anp-text-sm); line-height: 1.3; letter-spacing: .12em; }
.library-desk-brand small { color: var(--anp-text-secondary); font-size: var(--anp-text-xs); line-height: 1.3; font-weight: 800; letter-spacing: .11em; }

.library-desk-workspaces {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: var(--anp-space-1);
  min-width: 0;
  padding: var(--anp-space-1);
  border: 1px solid var(--anp-border-subtle);
  border-radius: 14px 8px 15px 9px;
  background: var(--anp-bg-deep);
}

.library-desk-workspaces a,
.library-desk-workspaces button,
.library-desk-account {
  min-height: var(--anp-hit-target);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--anp-space-2);
  box-sizing: border-box;
  padding: 0 var(--anp-space-4);
  border: 1px solid transparent;
  border-radius: var(--anp-radius-tab-cut);
  background: transparent;
  color: var(--anp-text-secondary);
  font: 750 var(--anp-text-xs)/1 var(--anp-font-ui);
  text-decoration: none;
  cursor: pointer;
}

.library-desk-workspaces a:hover,
.library-desk-workspaces button:hover,
.library-desk-account:hover { color: var(--anp-text-primary); background: var(--anp-surface-2); }

.library-desk-workspaces .active {
  border-color: var(--anp-border-strong);
  background: var(--anp-surface-2);
  color: var(--anp-text-primary);
  box-shadow: inset 0 -2px var(--anp-text-secondary);
}

.library-desk-workspaces span {
  min-width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  padding-inline: 4px;
  border-radius: var(--anp-radius-round);
  background: var(--anp-surface-3);
  color: var(--anp-text-primary);
  font-size: var(--anp-text-xs);
}

.library-desk-appbar-actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--anp-space-2); }
.library-desk-appbar .library-environment-badge { border: 0; background: transparent; }
.library-desk-appbar .library-environment-badge i { width: 8px; height: 8px; border-radius: 50%; background: var(--anp-success); box-shadow: 0 0 14px color-mix(in srgb, var(--anp-success) 70%, transparent); }
.library-desk-account { border-color: var(--anp-border-subtle); background: var(--anp-surface-1); }
.library-desk-account .library-avatar { width: 28px; height: 28px; flex-basis: 28px; }

.library-world-desk[data-library-context="asset"] { grid-template-rows: 68px minmax(0, 1fr) var(--library-desk-tray-height); }
.library-world-desk[data-library-context="asset"] .library-desk-appbar,
.library-desk-appbar.has-asset-navigation {
  grid-template-columns: 188px minmax(0, 1fr) auto auto;
  grid-template-rows: 52px;
  align-content: center;
}
.library-desk-appbar.has-asset-navigation > .library-desk-brand { grid-column: 1; grid-row: 1; }
.library-desk-appbar > .library-detail-navigation {
  grid-column: 2;
  grid-row: 1;
  grid-template-columns: auto auto minmax(240px, 40%);
  grid-template-rows: var(--anp-hit-target);
  grid-template-areas: "route sections search";
  column-gap: var(--anp-space-2);
  row-gap: 0;
  justify-content: start;
  width: 100%;
  margin: 0;
  padding: 0;
}
.library-desk-appbar > .library-detail-navigation::before { content: none; }
.library-desk-appbar > .library-detail-navigation .library-detail-back-icon { background: var(--anp-surface-2); }
.library-desk-appbar > .library-detail-navigation .library-detail-sections { gap: var(--anp-space-1); }
.library-desk-appbar > .library-detail-navigation .library-detail-sections a { padding-inline: var(--anp-space-2); }
.library-desk-appbar > .library-detail-navigation .library-detail-search { grid-column: 3; }
.library-world-desk[data-library-context="asset"] .library-desk-workspaces,
.library-desk-appbar.has-asset-navigation > .library-desk-workspaces { grid-column: 3; grid-row: 1; }
.library-world-desk[data-library-context="asset"] .library-desk-appbar-actions,
.library-desk-appbar.has-asset-navigation > .library-desk-appbar-actions { grid-column: 4; grid-row: 1; }
.library-world-desk[data-library-context="asset"] .library-desk-appbar-actions .library-environment-badge { display: none; }

/* The asset navigation is the primary control row. At laptop widths it owns
   the centre lane instead of competing with the global workspace switcher. */
@media (max-width: 1599px) {
  .library-desk-appbar.has-asset-navigation {
    grid-template-columns: 188px minmax(0, 1fr) auto;
  }
  .library-desk-appbar.has-asset-navigation > .library-desk-workspaces { display: none; }
  .library-desk-appbar.has-asset-navigation > .library-desk-appbar-actions { grid-column: 3; }
}

.library-world-desk > .library-sidebar { grid-area: sources; }
.library-world-desk > .library-workspace { grid-area: workspace; }
.library-world-desk > .library-inspector { grid-area: inspector; }

.library-world-desk .library-sidebar {
  min-height: 0;
  border-right-color: var(--anp-border-subtle);
  background: color-mix(in srgb, var(--anp-bg-deep) 88%, var(--anp-surface-1));
  box-shadow: none;
}

.library-desk-overline,
.library-asset-index-heading .library-desk-overline {
  display: block;
  padding: var(--anp-space-5) calc(var(--anp-space-3) * 2) var(--anp-space-2);
  color: var(--anp-text-muted);
  font: 800 var(--anp-text-xs)/1 var(--anp-font-ui);
  letter-spacing: .14em;
}

.library-world-desk .library-sidebar > nav { padding: 0 var(--anp-space-3) var(--anp-space-3); }
.library-world-desk .library-nav-group { margin: 0; }
.library-world-desk .library-nav-parent,
.library-world-desk .library-sidebar nav .library-nav-children .sub {
  height: 66px;
  min-height: 66px;
  gap: var(--anp-space-3);
  padding: var(--anp-space-2) var(--anp-space-3);
  border: 1px solid transparent;
  border-radius: var(--anp-radius-nav-cut);
}
.library-world-desk .library-nav-parent > svg,
.library-world-desk .library-nav-children .sub > svg,
.library-world-desk .library-sidebar nav > a > svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.library-world-desk .library-nav-parent.is-current,
.library-world-desk .library-sidebar nav .library-nav-children .sub.active {
  border-color: var(--anp-border-subtle);
  background: var(--anp-surface-2);
  box-shadow: inset 3px 0 var(--anp-text-secondary);
}
.library-world-desk .library-sidebar nav .library-nav-parent.is-current,
.library-world-desk .library-sidebar nav .library-nav-children .sub.active { border-color: var(--anp-border-strong); box-shadow: inset 3px 0 var(--anp-text-secondary); }
.library-more-work { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.library-world-desk .library-nav-children { display: grid; gap: var(--anp-space-1); margin-top: var(--anp-space-1); }
.library-world-desk .library-sidebar nav .library-nav-children .sub { padding-left: var(--anp-space-3); }
.library-world-desk .library-nav-parent > span,
.library-world-desk .library-nav-children .sub > span { display: grid; gap: 2px; flex: 1; }
.library-world-desk .library-nav-parent strong,
.library-world-desk .library-nav-children strong { color: var(--anp-text-primary); font-size: var(--anp-text-sm); }
.library-world-desk .library-nav-parent small,
.library-world-desk .library-nav-children small { color: var(--anp-text-muted); font-size: var(--anp-text-xs); }
.library-world-desk .library-sidebar nav b { min-width: 32px; min-height: 28px; display: grid; place-items: center; padding: 0 var(--anp-space-2); border: 1px solid var(--anp-border-subtle); background: var(--anp-bg-deep); color: var(--anp-text-secondary); font-size: var(--anp-text-xs); }

.library-world-desk .library-my-assets {
  min-height: 58px;
  margin: var(--anp-space-3) var(--anp-space-1) 0;
  padding: var(--anp-space-2) var(--anp-space-3);
  border: 1px solid var(--anp-border-subtle);
  border-radius: var(--anp-radius-nav-cut);
  background: color-mix(in srgb, var(--anp-surface-1) 72%, var(--anp-bg-deep));
}
.library-world-desk .library-my-assets > span { min-width: 0; display: grid; flex: 1; gap: 2px; }
.library-world-desk .library-my-assets strong { color: var(--anp-text-primary); font-size: var(--anp-text-sm); }
.library-world-desk .library-my-assets small { color: var(--anp-text-muted); font-size: var(--anp-text-xs); }
.library-world-desk .library-my-assets:hover { border-color: var(--anp-border-strong); background: var(--anp-surface-2); }
.library-world-desk .library-my-assets.active {
  border-color: var(--anp-text-secondary);
  background: var(--anp-surface-2);
  box-shadow: inset 3px 0 var(--anp-text-secondary);
  color: var(--anp-text-secondary);
}

.library-asset-index { margin-top: var(--anp-space-4); }
.library-asset-index-heading { display: flex; align-items: center; justify-content: space-between; padding-inline: var(--anp-space-1); }
.library-asset-index-heading .library-desk-overline { padding: var(--anp-space-2) var(--anp-space-3); }
.library-asset-index-heading > small { color: var(--anp-text-secondary); font-size: var(--anp-text-xs); }
.library-asset-search {
  min-height: 48px;
  display: flex;
  align-items: center;
  margin: var(--anp-space-1) var(--anp-space-1) var(--anp-space-2);
  border: 1px solid var(--anp-border-subtle);
  border-radius: var(--anp-radius-field-cut);
  background: var(--anp-bg-deep);
}
.library-asset-search:focus-within { border-color: var(--anp-text-secondary); box-shadow: var(--anp-shadow-focus); }
.library-asset-search svg { width: 18px; margin-left: var(--anp-space-3); fill: none; stroke: var(--anp-text-muted); stroke-width: 1.7; }
.library-asset-search input { min-width: 0; flex: 1; height: 100%; padding: 0 var(--anp-space-3); border: 0; outline: 0; background: transparent; color: var(--anp-text-primary); font-size: var(--anp-text-xs); }
.library-asset-list { max-height: 230px; display: grid; gap: 2px; overflow-y: auto; scrollbar-width: thin; }
.library-world-desk .library-asset-list a { min-height: 58px; padding: 7px 9px; border-radius: var(--anp-radius-nav-cut); }
.library-world-desk .library-asset-list a.active { border-color: var(--anp-border-strong); background: var(--anp-surface-2); box-shadow: inset 3px 0 var(--anp-text-secondary); }
.library-asset-swatch { width: 38px; height: 38px; flex: 0 0 38px; border: 1px solid var(--anp-border-strong); border-radius: var(--anp-radius-control-cut); background: linear-gradient(135deg, var(--anp-surface-3), var(--anp-bg)); background-position: center; background-size: cover; }
.library-asset-list a > span:last-child { display: grid; gap: 2px; min-width: 0; }
.library-asset-list strong,
.library-asset-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.library-asset-list strong { color: var(--anp-text-secondary); font-size: var(--anp-text-xs); }
.library-asset-list small { color: var(--anp-text-muted); font-size: var(--anp-text-xs); }
.library-world-desk .library-nav-heading {
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: var(--anp-space-3) 0 var(--anp-space-1);
  padding: 0 var(--anp-space-3);
}
.library-world-desk .library-nav-heading > b {
  min-width: 0;
  min-height: 0;
  display: inline;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--anp-text-muted);
}
.library-my-library-links { display: grid; gap: 2px; }
.library-world-desk .library-my-library-links a {
  min-height: var(--anp-hit-target);
  display: flex;
  align-items: center;
  gap: var(--anp-space-3);
  padding: 0 var(--anp-space-3);
  border: 1px solid transparent;
  border-radius: var(--anp-radius-nav-cut);
  color: var(--anp-text-secondary);
  text-decoration: none;
}
.library-world-desk .library-my-library-links a:hover { border-color: var(--anp-border-subtle); background: var(--anp-surface-1); color: var(--anp-text-primary); }
.library-world-desk .library-my-library-links a.active { border-color: var(--anp-border-strong); background: var(--anp-surface-2); color: var(--anp-text-primary); box-shadow: inset 3px 0 var(--anp-text-secondary); }
.library-world-desk .library-my-library-links svg { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.library-world-desk .library-my-library-links span { min-width: 0; flex: 1; font-size: var(--anp-text-xs); font-weight: 700; }
.library-world-desk .library-my-library-links b { min-width: 28px; min-height: 24px; padding-inline: var(--anp-space-1); }
.library-world-desk .library-sidebar-bottom { margin-top: auto; }

.library-world-desk .library-topbar {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) auto;
  align-items: center;
  gap: var(--anp-space-2);
  min-height: 68px;
  padding: var(--anp-space-2) var(--anp-space-3);
  background: var(--anp-bg-deep);
  border: 0;
}
.library-world-desk[data-library-view="assets"] .library-topbar { grid-template-columns: minmax(0, 1fr) auto; }
.library-world-desk[data-library-view="build"] .library-topbar { grid-template-columns: minmax(0, 1fr) auto; }
.library-mobile-title { display: none; }
.library-query-context {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--anp-space-2);
}
.library-query-context a {
  min-width: 0;
  min-height: var(--anp-hit-target);
  display: inline-flex;
  align-items: center;
  padding: 0 var(--anp-space-3);
  overflow: hidden;
  border: 1px solid var(--anp-border-subtle);
  border-radius: var(--anp-radius-control-cut);
  background: var(--anp-surface-1);
  color: var(--anp-text-primary);
  font: 750 var(--anp-text-xs)/1 var(--anp-font-ui);
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.library-query-context .library-context-pack { max-width: 154px; }
.library-query-context > span { color: var(--anp-text-muted); }
.library-query-context .library-context-back {
  flex: 0 0 auto;
  gap: var(--anp-space-2);
  border-color: var(--anp-border-strong);
  color: var(--anp-text-secondary);
}
.library-context-back svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform: rotate(180deg);
}
.library-world-desk .library-search { min-height: 48px; max-width: none; border-radius: var(--anp-radius-compact-panel-cut); }
.library-world-desk .library-search:focus-within {
  border-color: var(--anp-text-secondary);
  box-shadow: inset 0 0 0 1px var(--anp-text-secondary);
}
.library-find-connected {
  min-height: var(--anp-hit-target);
  display: inline-flex;
  align-items: center;
  gap: var(--anp-space-2);
  padding: 0 var(--anp-space-3);
  border: 1px solid var(--anp-border-subtle);
  border-radius: var(--anp-radius-control-cut);
  background: var(--anp-surface-1);
  color: var(--anp-text-secondary);
  font: 750 var(--anp-text-xs)/1 var(--anp-font-ui);
  text-decoration: none;
  white-space: nowrap;
}
.library-find-connected:hover,
.library-query-context a:hover { border-color: var(--anp-border-strong); color: var(--anp-text-primary); }
.library-find-connected svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.library-sidebar-toggle,
.library-mobile-title,
.library-top-actions { grid-row: 1; }
.library-sidebar-toggle { grid-column: 1; }
.library-top-actions { grid-column: 3; }

@media (min-width: 1280px) {
  .library-world-desk .library-top-actions { display: none; }
  .library-world-desk .library-topbar { display: none; }
}
.library-world-desk .library-top-actions .library-environment-badge,
.library-world-desk .library-top-actions .library-cart,
.library-world-desk .library-top-actions .library-account-control { display: none; }

.library-world-desk .library-tabs {
  min-height: 58px;
  gap: var(--anp-space-1);
  margin: var(--anp-space-1) var(--anp-space-3) var(--anp-space-3);
  padding: var(--anp-space-1);
  border: 1px solid var(--anp-border-subtle);
  border-radius: var(--anp-radius-compact-panel-cut);
  background: color-mix(in srgb, var(--anp-surface-2) 78%, var(--anp-bg-deep));
}
.library-world-desk .library-tabs a { min-height: 44px; padding-inline: var(--anp-space-3); border: 1px solid transparent; border-radius: var(--anp-radius-control-cut); }
.library-world-desk .library-tabs a:hover { border-color: var(--anp-border-subtle); background: var(--anp-surface-3); }
.library-world-desk .library-tabs a.active { border-color: var(--anp-border-strong); background: var(--anp-surface-3); box-shadow: inset 0 -2px var(--anp-text-secondary); }
.library-tabs-search {
  min-width: 240px;
  width: 40%;
  max-width: 40%;
  flex: 0 1 40%;
  margin-left: 0;
  background: var(--anp-surface-1);
}
.library-desk-appbar.has-library-tabs {
  grid-template-columns: 188px minmax(0, 1fr) auto auto;
  grid-template-rows: 52px;
  align-content: center;
}
.library-desk-appbar.has-library-tabs > .library-desk-brand { grid-column: 1; grid-row: 1; }
.library-desk-appbar.has-library-tabs > .library-appbar-tabs {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.library-desk-appbar.has-library-tabs > .library-appbar-tabs::after { content: none; }
.library-desk-appbar.has-library-tabs > .library-appbar-tabs a {
  min-height: var(--anp-hit-target);
  height: var(--anp-hit-target);
  padding-inline: var(--anp-space-2);
  border: 0;
  border-radius: var(--anp-radius-control-cut);
  background: transparent;
  color: var(--anp-text-muted);
  box-shadow: none;
  font-weight: 700;
}
.library-desk-appbar.has-library-tabs > .library-appbar-tabs a::after { content: none; }
.library-desk-appbar.has-library-tabs > .library-appbar-tabs a:hover {
  border: 0;
  background: var(--anp-surface-3);
  color: var(--anp-text-primary);
}
.library-desk-appbar.has-library-tabs > .library-appbar-tabs a.active {
  border: 0;
  background: var(--anp-surface-3);
  color: var(--anp-text-primary);
  box-shadow: inset 0 -2px 0 var(--anp-text-secondary);
  font-weight: 700;
}
.library-desk-appbar.has-library-tabs > .library-appbar-tabs a:focus-visible,
.library-desk-appbar.has-library-tabs > .library-appbar-tabs a.active:focus-visible {
  border: 0;
  outline: 0;
  box-shadow: var(--anp-shadow-focus);
}
.library-desk-appbar.has-library-tabs > .library-desk-workspaces {
  grid-column: 3;
  grid-row: 1;
}
.library-desk-appbar.has-library-tabs > .library-desk-appbar-actions {
  grid-column: 4;
  grid-row: 1;
}
.library-desk-appbar.has-library-tabs .library-desk-appbar-actions .library-environment-badge { display: none; }
.library-desk-appbar.has-library-tabs .library-tabs-search { height: var(--anp-hit-target); }
@media (max-width: 1279px) {
  .library-desk-appbar.has-library-tabs { grid-template-columns: 188px minmax(0, 1fr) auto; }
  .library-desk-appbar.has-library-tabs > .library-desk-workspaces { display: none; }
  .library-desk-appbar.has-library-tabs > .library-desk-appbar-actions { grid-column: 3; }
}
@media (max-width: 1279px) {
  .library-desk-appbar.has-library-tabs { grid-template-columns: 52px minmax(0, 1fr) auto; }
}
.library-world-desk:not([data-library-view="assets"]) .library-tabs a[href*="type=bundle"] { display: none; }
.library-world-desk .library-filterbar { display: none; }
.library-world-desk[data-library-view="assets"] .library-filterbar {
  min-height: 52px;
  display: flex;
  justify-content: flex-end;
  padding: 0 var(--anp-space-3) var(--anp-space-3);
  border-bottom: 0;
}
.library-world-desk[data-library-view="assets"] .library-scope-pills { display: none; }
.library-world-desk .library-scope-pills a { min-height: 40px; }
.library-world-desk .library-scroll-area { padding: var(--anp-space-3); }
.library-detail-navigation {
  position: relative;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(220px, auto) minmax(280px, 1fr);
  grid-template-rows: var(--anp-hit-target) var(--anp-hit-target);
  grid-template-areas:
    "route route"
    "sections search";
  align-items: center;
  column-gap: var(--anp-space-3);
  row-gap: var(--anp-space-3);
  margin-bottom: var(--anp-space-2);
  padding: var(--anp-space-2) var(--anp-space-3);
  border: 0;
  background: transparent;
}
.library-detail-navigation::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: calc(var(--anp-space-2) + var(--anp-hit-target) + var(--anp-space-1));
  right: 0;
  bottom: 0;
  left: 0;
  border: 1px solid var(--anp-border-subtle);
  border-radius: var(--anp-radius-compact-panel-cut);
  background: color-mix(in srgb, var(--anp-surface-2) 72%, var(--anp-bg-deep));
  pointer-events: none;
}
.library-detail-route {
  position: relative;
  z-index: 1;
  grid-area: route;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--anp-space-2);
}
.library-detail-back {
  flex: 0 0 auto;
  width: auto;
  height: var(--anp-hit-target);
  min-height: var(--anp-hit-target);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--anp-space-2);
  padding: 0 var(--anp-space-3);
  border: 1px solid var(--anp-border-strong);
  border-radius: var(--anp-radius-control-cut);
  background: var(--anp-surface-2);
  color: var(--anp-text-secondary);
  font-size: var(--anp-text-xs);
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.library-detail-back-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: grid;
  place-items: center;
  color: currentColor;
  transition: transform var(--anp-duration-fast) var(--anp-ease-standard);
}
.library-detail-back-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transform: translateX(-1px) rotate(180deg); }
.library-detail-breadcrumb {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--anp-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
}
.library-detail-breadcrumb li {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: var(--anp-space-2);
  color: var(--anp-text-muted);
  font-size: var(--anp-text-xs);
  line-height: var(--anp-line-xs);
  white-space: nowrap;
}
.library-detail-breadcrumb li + li::before { content: "›"; color: var(--anp-text-subtle); font-size: var(--anp-text-md); }
.library-detail-breadcrumb a,
.library-detail-breadcrumb strong { overflow: hidden; color: inherit; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.library-detail-breadcrumb strong { color: var(--anp-text-primary); font-weight: 800; }
.library-detail-breadcrumb a:hover { color: var(--anp-text-primary); }
.library-detail-search { position: relative; z-index: 1; grid-area: search; width: 100%; }
.library-detail-sections {
  position: relative;
  z-index: 1;
  grid-area: sections;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--anp-space-1);
  padding-top: 0;
}
.library-detail-sections a {
  min-height: var(--anp-hit-target);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--anp-space-4);
  border-radius: var(--anp-radius-control-cut);
  color: var(--anp-text-muted);
  font-size: var(--anp-text-xs);
  font-weight: 700;
  text-decoration: none;
  transition: background var(--anp-duration-fast) var(--anp-ease-standard), color var(--anp-duration-fast) var(--anp-ease-standard), box-shadow var(--anp-duration-fast) var(--anp-ease-standard);
}
.library-detail-sections a:hover { color: var(--anp-text-primary); background: var(--anp-surface-3); }
.library-detail-sections a.active { color: var(--anp-text-primary); background: var(--anp-surface-3); box-shadow: inset 0 -2px 0 var(--anp-text-secondary); }
.library-detail-sections a:focus-visible { outline: 0; box-shadow: var(--anp-shadow-focus); }
.library-detail-back:hover { border-color: var(--anp-text-secondary); background: var(--anp-surface-3); color: var(--anp-text-primary); }
.library-detail-back:hover .library-detail-back-icon { transform: translateX(-2px); }
.library-detail-back:focus-visible { outline: 0; box-shadow: var(--anp-shadow-focus); }

.library-build-workspace {
  min-height: 100%;
  border: 1px solid var(--anp-border-subtle);
  border-radius: var(--anp-radius-panel-cut);
  background: color-mix(in srgb, var(--anp-surface-1) 70%, var(--anp-bg-deep));
  overflow: hidden;
}

.library-build-workspace-header {
  min-height: 118px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--anp-space-5);
  padding: var(--anp-space-5);
  border-bottom: 1px solid var(--anp-border-subtle);
  background:
    linear-gradient(105deg, color-mix(in srgb, var(--anp-brand-cyan) 8%, transparent), transparent 42%),
    var(--anp-surface-1);
}

.library-build-workspace-header > div:first-child { min-width: 0; }
.library-build-workspace-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: var(--anp-space-2);
}

.library-build-clear {
  flex: 0 0 auto;
  white-space: nowrap;
}

.library-build-overline {
  display: block;
  margin-bottom: var(--anp-space-2);
  color: var(--anp-brand-cyan);
  font: 850 var(--anp-text-xs)/1 var(--anp-font-ui);
  letter-spacing: .13em;
}
.library-build-workspace-header h2 {
  margin: 0;
  color: var(--anp-text-primary);
  font: 650 clamp(1.35rem, 2vw, 1.85rem)/1.15 var(--anp-font-display);
  letter-spacing: -.035em;
}
.library-build-workspace-header p {
  max-width: 680px;
  margin: var(--anp-space-2) 0 0;
  color: var(--anp-text-muted);
  font-size: var(--anp-text-sm);
  line-height: 1.55;
}

.library-build-readiness {
  min-width: 128px;
  min-height: 72px;
  display: grid;
  place-content: center;
  gap: var(--anp-space-1);
  padding: var(--anp-space-3) var(--anp-space-4);
  border: 1px solid var(--anp-border-strong);
  border-radius: var(--anp-radius-control-cut);
  background: var(--anp-bg-deep);
  text-align: center;
}
.library-build-readiness strong { color: var(--anp-text-primary); font: 750 var(--anp-text-xl)/1 var(--anp-font-display); }
.library-build-readiness strong span { color: var(--anp-brand-cyan); }
.library-build-readiness small { color: var(--anp-text-muted); font-size: var(--anp-text-xs); font-weight: 800; letter-spacing: .1em; }

.library-build-groups {
  display: grid;
  gap: var(--anp-space-6);
  padding: var(--anp-space-4);
}
.library-build-group { min-width: 0; }
.library-build-group-header {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--anp-space-3);
  margin-bottom: var(--anp-space-3);
  padding-bottom: var(--anp-space-3);
  border-bottom: 1px solid var(--anp-border-subtle);
}
.library-build-group-header > div { min-width: 0; }
.library-build-group-header h3 {
  margin: 0;
  color: var(--anp-text-primary);
  font: 750 var(--anp-text-sm)/1.2 var(--anp-font-display);
  letter-spacing: -.01em;
}
.library-build-group-header p {
  margin: var(--anp-space-1) 0 0;
  overflow: hidden;
  color: var(--anp-text-muted);
  font-size: var(--anp-text-xs);
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.library-build-group-header span {
  min-width: 28px;
  min-height: 24px;
  display: inline-grid;
  place-items: center;
  padding: 0 var(--anp-space-2);
  border: 1px solid var(--anp-border-subtle);
  border-radius: var(--anp-radius-badge-cut);
  color: var(--anp-text-muted);
  font-size: var(--anp-text-xs);
  font-weight: 800;
}
.library-build-card-grid { align-content: start; align-items: start; }
.library-build-card-grid .build-library-card { align-self: start; }
.library-build-card-grid .grid-library-card.is-model .library-card-media > img {
  object-fit: contain;
}
.library-build-card-grid .build-library-card .library-card-overlay {
  min-height: 52px;
  flex-basis: 52px;
  align-items: center;
  padding-inline: var(--anp-space-3);
}
.library-build-card-grid .build-library-card .library-card-identity h2 {
  margin: 0;
  font-size: var(--anp-text-sm);
  font-weight: 750;
  line-height: 1.25;
}
.library-world-desk .build-library-card .library-card-actions { top: 10px; right: 10px; }
.library-world-desk .build-library-card .library-card-access-badge { top: 10px; left: 10px; }
.library-world-desk .library-card-media > .library-card-file-size {
  position: absolute;
  z-index: 5;
  right: 10px;
  bottom: 10px;
  display: inline-flex;
  width: auto;
  height: auto;
  max-width: none;
  align-items: center;
  place-items: initial;
  min-height: 24px;
  padding: 0 7px;
  border: 1px solid color-mix(in srgb, var(--anp-text-secondary) 38%, var(--anp-border-subtle));
  border-radius: var(--anp-radius-badge-cut);
  background: color-mix(in srgb, var(--anp-bg-deep) 88%, transparent);
  color: var(--anp-text-secondary);
  font-size: var(--anp-text-xs);
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.library-card-build-remove {
  color: var(--anp-text-secondary);
}
.library-card-build-remove:hover,
.library-card-build-remove:focus-visible {
  border-color: var(--anp-danger);
  color: var(--anp-danger);
}

.library-build-empty {
  min-height: 360px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: var(--anp-space-2);
  padding: var(--anp-space-6);
  text-align: center;
}
.library-build-empty > span { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid var(--anp-border-strong); border-radius: var(--anp-radius-control-cut); background: var(--anp-surface-2); color: var(--anp-brand-cyan); }
.library-build-empty svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.library-build-empty strong { color: var(--anp-text-primary); font-size: var(--anp-text-md); }
.library-build-empty p { max-width: 440px; margin: 0; color: var(--anp-text-muted); font-size: var(--anp-text-sm); line-height: 1.55; }
.library-build-empty a { min-height: var(--anp-hit-target); display: inline-flex; align-items: center; margin-top: var(--anp-space-2); padding: 0 var(--anp-space-4); border: 1px solid var(--anp-border-strong); border-radius: var(--anp-radius-control-cut); color: var(--anp-text-primary); font-size: var(--anp-text-xs); font-weight: 800; text-decoration: none; }

.library-cart-preview {
  min-height: 100%;
  border: 1px solid var(--anp-border-subtle);
  border-radius: var(--anp-radius-stage-cut);
  background: color-mix(in srgb, var(--anp-surface-1) 72%, var(--anp-bg-deep));
}
.library-cart-preview-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--anp-space-5);
  padding: var(--anp-space-6);
  border-bottom: 1px solid var(--anp-border-subtle);
}
.library-cart-preview-header > div:first-child { min-width: 0; }
.library-cart-preview-header > div:first-child > span {
  color: var(--anp-text-secondary);
  font-size: var(--anp-text-xs);
  font-weight: 900;
  letter-spacing: .12em;
}
.library-cart-preview-header h1 {
  margin: var(--anp-space-2) 0 var(--anp-space-1);
  color: var(--anp-text-primary);
  font: 600 clamp(24px, 2.4vw, 34px)/1.08 var(--anp-font-display);
  letter-spacing: -.035em;
}
.library-cart-preview-header p {
  max-width: 74ch;
  margin: 0;
  color: var(--anp-text-muted);
  font-size: var(--anp-text-xs);
  line-height: 1.55;
}
.library-cart-preview-total {
  min-width: 112px;
  min-height: 72px;
  display: grid;
  place-content: center;
  flex: 0 0 auto;
  padding: var(--anp-space-2) var(--anp-space-4);
  border: 1px solid var(--anp-border-subtle);
  border-radius: var(--anp-radius-panel-cut);
  background: var(--anp-surface-2);
  text-align: center;
}
.library-cart-preview-total small { color: var(--anp-text-muted); font-size: var(--anp-text-xs); font-weight: 900; letter-spacing: .1em; }
.library-cart-preview-total strong { color: var(--anp-text-primary); font-size: var(--anp-text-lg); }
.library-cart-preview-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--anp-space-3);
  padding: var(--anp-space-5);
}
.library-cart-preview-item {
  min-width: 0;
  min-height: 92px;
  display: flex;
  align-items: center;
  gap: var(--anp-space-3);
  padding: var(--anp-space-3);
  border: 1px solid var(--anp-border-subtle);
  border-radius: var(--anp-radius-panel-cut);
  background: var(--anp-surface-2);
}
.library-cart-preview-item.selected { border-color: var(--anp-text-secondary); box-shadow: inset 3px 0 var(--anp-text-secondary); }
.library-cart-preview-copy { min-width: 0; display: grid; flex: 1; gap: 3px; color: inherit; text-decoration: none; }
.library-cart-preview-copy > span { color: var(--anp-text-muted); font-size: var(--anp-text-xs); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.library-cart-preview-copy > strong { overflow: hidden; color: var(--anp-text-primary); font-size: var(--anp-text-sm); text-overflow: ellipsis; white-space: nowrap; }
.library-cart-preview-copy > small { overflow: hidden; color: var(--anp-text-muted); font-size: var(--anp-text-xs); text-overflow: ellipsis; white-space: nowrap; }
.library-cart-preview-price { display: flex; align-items: center; gap: var(--anp-space-2); flex: 0 0 auto; }
.library-cart-preview-price > s { color: var(--anp-text-muted); font-size: var(--anp-text-xs); }
.library-cart-preview-price > strong { color: var(--anp-text-primary); font-size: var(--anp-text-sm); }
.library-cart-preview-remove { margin: 0; }
.library-cart-preview-remove button {
  width: var(--anp-hit-target);
  height: var(--anp-hit-target);
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--anp-radius-control-cut);
  background: transparent;
  color: var(--anp-text-muted);
  cursor: pointer;
}
.library-cart-preview-remove button:hover { border-color: var(--anp-border-strong); color: var(--anp-danger); }
.library-cart-preview-remove svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.library-cart-preview-actions { display: flex; justify-content: flex-end; gap: var(--anp-space-2); padding: 0 var(--anp-space-5) var(--anp-space-5); }
.library-cart-preview-actions a,
.library-cart-preview-empty > a {
  min-height: var(--anp-hit-target);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--anp-space-4);
  border: 1px solid var(--anp-border-strong);
  border-radius: var(--anp-radius-control-cut);
  color: var(--anp-text-primary);
  font-size: var(--anp-text-xs);
  font-weight: 800;
  text-decoration: none;
}
.library-cart-preview-actions .primary,
.library-cart-preview-empty > a { border-color: var(--anp-text-secondary); background: var(--anp-text-secondary); color: var(--anp-bg-deep); }
.library-cart-preview-actions a:hover,
.library-cart-preview-empty > a:hover { transform: translateY(-1px); }
.library-cart-preview-empty {
  min-height: 360px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: var(--anp-space-3);
  padding: var(--anp-space-6);
  text-align: center;
}
.library-cart-preview-empty > span { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid var(--anp-border-subtle); border-radius: var(--anp-radius-panel-cut); background: var(--anp-surface-2); color: var(--anp-text-secondary); }
.library-cart-preview-empty svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.library-cart-preview-empty strong { color: var(--anp-text-primary); font-size: var(--anp-text-lg); }
.library-cart-preview-empty p { max-width: 58ch; margin: 0; color: var(--anp-text-muted); font-size: var(--anp-text-sm); line-height: 1.55; }

.library-world-stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  aspect-ratio: 19 / 6;
  margin-bottom: var(--anp-space-5);
  overflow: hidden;
  border: 1px solid var(--anp-border-subtle);
  border-radius: var(--anp-radius-stage-cut);
  background: var(--anp-surface-1);
  container-type: inline-size;
}
.library-world-media { grid-area: 1 / 1; position: relative; width: auto; height: 100%; min-width: 0; aspect-ratio: 16 / 9; align-self: stretch; justify-self: start; overflow: hidden; border-right: 1px solid var(--anp-border-subtle); background: linear-gradient(145deg, var(--anp-surface-3), var(--anp-bg-deep)); }
.library-world-media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, color-mix(in srgb, var(--anp-bg-deep) 18%, transparent), transparent 30%); }
.library-world-media > img { width: 100%; height: 100%; display: block; object-fit: contain; object-position: center left; }
.library-world-placeholder { position: absolute; inset: 0; background: linear-gradient(155deg, color-mix(in srgb, var(--anp-brand-blue) 20%, var(--anp-bg)), var(--anp-bg-deep)); }
.library-world-placeholder i { position: absolute; bottom: 12%; width: 42%; height: 45%; clip-path: polygon(50% 0,100% 100%,0 100%); background: color-mix(in srgb, var(--anp-brand-cyan) 20%, var(--anp-bg)); }
.library-world-placeholder i:nth-child(1) { left: -5%; }
.library-world-placeholder i:nth-child(2) { left: 28%; height: 65%; }
.library-world-placeholder i:nth-child(3) { right: -8%; height: 52%; }
.library-world-code { position: absolute; z-index: 3; top: var(--anp-space-4); left: var(--anp-space-4); display: flex; align-items: center; gap: var(--anp-space-2); padding: var(--anp-space-2) var(--anp-space-3); border: 1px solid var(--anp-border-strong); border-radius: var(--anp-radius-panel-cut); background: color-mix(in srgb, var(--anp-bg-deep) 86%, transparent); }
.library-world-code svg { width: 26px; height: 26px; fill: none; stroke: var(--anp-brand-cyan); stroke-width: 1.6; }
.library-world-code b,
.library-world-code small { display: block; }
.library-world-code b { color: var(--anp-text-primary); font-size: var(--anp-text-xs); letter-spacing: .08em; }
.library-world-code small { margin-top: 2px; color: var(--anp-text-muted); font-size: var(--anp-text-xs); letter-spacing: .08em; }
.library-world-facets { position: absolute; z-index: 2; right: 6%; bottom: 3%; width: 180px; height: 130px; opacity: .34; }
.library-world-facets i { position: absolute; width: 90px; height: 110px; clip-path: polygon(50% 0,100% 100%,0 100%); background: color-mix(in srgb, var(--anp-brand-cyan) 28%, transparent); animation: libraryFacetDrift 7s ease-in-out infinite alternate; }
.library-world-facets i:nth-child(2) { left: 55px; transform: rotate(18deg); background: color-mix(in srgb, var(--anp-brand-blue) 35%, transparent); animation-delay: -2s; }
.library-world-facets i:nth-child(3) { left: 105px; transform: rotate(-14deg); background: color-mix(in srgb, var(--anp-text-secondary) 20%, transparent); animation-delay: -4s; }
.library-world-copy { grid-area: 1 / 1; position: relative; z-index: 4; align-self: stretch; justify-self: end; align-content: center; width: min(46%, 430px); min-width: 0; display: grid; padding: var(--anp-space-5); background: linear-gradient(90deg, color-mix(in srgb, var(--anp-bg-deep) 28%, transparent), color-mix(in srgb, var(--anp-bg-deep) 90%, transparent) 18%, color-mix(in srgb, var(--anp-bg-deep) 98%, transparent) 52%, var(--anp-bg-deep)); }
.library-world-copy > span { color: var(--anp-text-secondary); font-size: var(--anp-text-xs); font-weight: 850; letter-spacing: .1em; }
.library-world-copy h2 { margin: var(--anp-space-2) 0 var(--anp-space-2); color: var(--anp-text-primary); font: 600 clamp(25px, 2.3vw, 38px)/1.05 var(--anp-font-display); letter-spacing: -.04em; overflow-wrap: anywhere; }
.library-world-copy p { max-width: 48ch; margin: 0; color: var(--anp-text-secondary); font-size: var(--anp-text-xs); line-height: 1.55; }
.library-world-gallery { display: none; }
.library-world-legend { display: flex; flex-wrap: wrap; gap: var(--anp-space-3); margin-top: var(--anp-space-3); color: var(--anp-text-muted); font-size: var(--anp-text-xs); }
.library-world-legend i { width: 0; height: 0; display: inline-block; margin-right: 5px; border-right: 4px solid transparent; border-bottom: 8px solid var(--anp-brand-cyan); border-left: 4px solid transparent; }
.library-world-commerce { display: flex; align-items: center; justify-content: space-between; gap: var(--anp-space-3); margin-top: var(--anp-space-4); padding: var(--anp-space-2); border: 1px solid var(--anp-border-strong); border-radius: var(--anp-radius-panel-cut); background: var(--anp-bg-deep); }
.library-world-commerce > span { display: grid; gap: 3px; min-width: 0; }
.library-world-commerce small { color: var(--anp-text-muted); font-size: var(--anp-text-xs); font-weight: 800; letter-spacing: .08em; }
.library-world-commerce strong { overflow: hidden; color: var(--anp-text-primary); font-size: var(--anp-text-xs); text-overflow: ellipsis; white-space: nowrap; }
.library-world-commerce a,
.library-world-commerce button { min-height: var(--anp-hit-target); display: inline-flex; align-items: center; justify-content: center; padding: 0 var(--anp-space-4); border: 1px solid var(--anp-border-strong); border-radius: var(--anp-radius-control-cut); background: var(--anp-text-secondary); color: var(--anp-bg-deep); font-size: var(--anp-text-xs); font-weight: 800; text-decoration: none; cursor: pointer; }
.library-world-commerce form { margin: 0; }
.library-world-stats { position: absolute; z-index: 5; left: var(--anp-space-4); bottom: var(--anp-space-4); display: flex; overflow: hidden; border: 1px solid var(--anp-border-subtle); border-radius: var(--anp-radius-panel-cut); background: color-mix(in srgb, var(--anp-bg-deep) 88%, transparent); }
.library-world-stats span { display: grid; gap: 2px; min-width: 82px; padding: var(--anp-space-2) var(--anp-space-3); }
.library-world-stats strong { color: var(--anp-text-primary); font-size: var(--anp-text-sm); }
.library-world-stats small { color: var(--anp-text-muted); font-size: var(--anp-text-xs); letter-spacing: .08em; }

.library-world-desk .library-product-grid { grid-template-columns: repeat(auto-fill, 196px); gap: var(--anp-space-2); justify-content: start; }
.library-world-desk .library-shelf-grid { grid-template-columns: repeat(auto-fill, 196px); gap: var(--anp-space-2); justify-content: start; }
.library-world-desk .library-connected-shelf .compact-library-card { width: 100%; max-width: 100%; min-width: 0; flex: none; }
.library-world-desk .library-connected-shelf .compact-library-card .library-card-media { aspect-ratio: 1 / 1; }
.library-connected-shelf > header { align-items: end; min-height: 52px; margin-bottom: var(--anp-space-2); }
.library-connected-shelf > header h2 { margin: 2px 0 0; font: 600 var(--anp-text-md)/1.35 var(--anp-font-display); }
.library-connected-shelf > header small { color: var(--anp-text-muted); font-size: var(--anp-text-xs); }
.library-connected-overline { color: var(--anp-text-secondary); font-size: var(--anp-text-xs); font-weight: 900; letter-spacing: .12em; }
.library-context-empty { min-height: 104px; display: flex; align-items: center; gap: var(--anp-space-3); margin: var(--anp-space-4) 0; padding: var(--anp-space-4); border: 1px solid var(--anp-border-subtle); border-radius: var(--anp-radius-panel-cut); background: var(--anp-surface-1); }
.library-context-empty > svg { width: 24px; height: 24px; flex: 0 0 auto; fill: none; stroke: var(--anp-text-secondary); stroke-width: 1.7; }
.library-context-empty > span { display: grid; gap: 3px; }
.library-context-empty strong { color: var(--anp-text-primary); font: 600 var(--anp-text-sm)/1.35 var(--anp-font-display); }
.library-context-empty small { color: var(--anp-text-muted); font-size: var(--anp-text-xs); line-height: 1.45; }
.library-world-desk .animpic-library-card { overflow: hidden; border: 1px solid var(--anp-border-subtle); border-radius: var(--anp-radius-panel-cut); background: var(--anp-surface-2); box-shadow: none; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.library-world-desk .animpic-library-card:hover { transform: translateY(-3px); border-color: var(--anp-border-strong); box-shadow: none; }
.library-world-desk .library-card-media { position: relative; isolation: isolate; }
.library-world-desk .library-card-media::before { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background-image: linear-gradient(color-mix(in srgb, var(--anp-text-primary) 5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--anp-text-primary) 5%, transparent) 1px, transparent 1px); background-size: 22px 22px; }
.library-world-desk .library-card-media::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; clip-path: polygon(32% 0,100% 0,100% 68%,72% 100%,0 100%,0 42%); background: conic-gradient(from 205deg at 78% 22%, transparent 0 18%, color-mix(in srgb, var(--anp-brand-cyan) 12%, transparent) 18% 33%, transparent 33% 100%); }
.library-world-desk .library-card-overlay { min-height: 60px; flex-basis: 60px; align-content: start; padding: var(--anp-space-2); }
.library-world-desk .library-card-identity { min-width: 0; }
.library-world-desk .library-card-identity h2 { overflow: hidden; font-size: var(--anp-text-xs); line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.library-world-desk .library-card-identity small { overflow: hidden; color: var(--anp-text-muted); font-size: var(--anp-text-xs); line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.library-world-desk .library-card-commerce { display: none; }
.library-world-desk .library-card-media > .library-card-access-badge { position: absolute; z-index: 5; top: 7px; left: 7px; width: auto; height: auto; max-width: calc(100% - 110px); min-height: 28px; display: inline-flex; align-items: center; padding: 0 7px; overflow: hidden; border: 1px solid var(--anp-border-strong); border-radius: var(--anp-radius-badge-cut); background: color-mix(in srgb, var(--anp-bg-deep) 92%, transparent); color: var(--anp-text-primary); font-size: var(--anp-text-xs); line-height: 1; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.animpic-library-card[data-card-access="owned"] .library-card-access-badge { color: var(--anp-success); border-color: color-mix(in srgb, var(--anp-success) 52%, var(--anp-border-subtle)); }
.animpic-library-card[data-card-access="cart"] .library-card-access-badge { color: var(--anp-warning); border-color: color-mix(in srgb, var(--anp-warning) 52%, var(--anp-border-subtle)); }
.library-card-actions { position: absolute; z-index: 6; top: 0; right: 0; display: flex; gap: 0; }
.library-card-actions form { margin: 0; }
.library-card-primary,
.library-card-compare { position: relative; width: var(--anp-hit-target); height: var(--anp-hit-target); display: grid; place-items: center; padding: 0; border: 0; border-radius: var(--anp-radius-control-cut); background: transparent; color: var(--anp-text-primary); cursor: pointer; isolation: isolate; }
.library-card-primary::before,
.library-card-compare::before { content: ""; position: absolute; z-index: 0; inset: 4px; border: 1px solid var(--anp-border-strong); border-radius: var(--anp-radius-control-cut); background: color-mix(in srgb, var(--anp-bg-deep) 94%, var(--anp-surface-1)); }
.library-card-primary::before { transform: translateX(2px); }
.library-card-compare::before { transform: translateX(-2px); }
.library-card-primary svg,
.library-card-compare svg { position: relative; z-index: 1; width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.library-card-primary svg { transform: translateX(2px); }
.library-card-compare svg { transform: translateX(-2px); }
.library-card-primary:hover,
.library-card-compare:hover { color: var(--anp-text-secondary); }
.library-card-primary:hover::before,
.library-card-compare:hover::before { border-color: var(--anp-text-secondary); }
.library-card-primary.active,
.library-card-compare[aria-pressed="true"] { color: var(--anp-text-secondary); }
.library-card-primary.active::before,
.library-card-compare[aria-pressed="true"]::before { border-color: var(--anp-text-secondary); background: var(--anp-surface-3); }

.library-world-desk .library-inspector { margin: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; border-left: 1px solid var(--anp-border-subtle); border-radius: 0; background: color-mix(in srgb, var(--anp-surface-1) 80%, var(--anp-bg-deep)); }
.library-world-desk .library-inspector-media { position: relative; padding: var(--anp-space-2) var(--anp-space-2) 0; }
.library-world-desk .library-gallery-viewer { overflow: hidden; border: 1px solid var(--anp-border-strong); border-radius: var(--anp-radius-preview-cut); background: radial-gradient(circle at 45% 30%, color-mix(in srgb, var(--anp-brand-cyan) 18%, var(--anp-surface-3)), var(--anp-surface-1)); transition: aspect-ratio var(--anp-duration-slow) var(--anp-ease-standard); }
.library-world-desk .library-gallery-viewer > .library-inspector-favorite-form { top: var(--anp-space-2); left: var(--anp-space-2); }
.library-world-desk .library-inspector-media[data-product-type="model"] .library-gallery-viewer { aspect-ratio: 1 / 1; }
.library-world-desk .library-inspector-media:not([data-product-type="model"]) .library-gallery-viewer { aspect-ratio: 16 / 9; }
.library-world-desk .library-inspector-media[data-product-type="model"] .library-inspector-image { aspect-ratio: 1 / 1; }
.library-world-desk .library-inspector-media:not([data-product-type="model"]) .library-inspector-image { aspect-ratio: 16 / 9; }
.library-world-desk .library-inspector-image img { background-color: transparent; background-image: linear-gradient(color-mix(in srgb, var(--anp-text-primary) 6%, transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb, var(--anp-text-primary) 6%, transparent) 1px,transparent 1px); background-size: 28px 28px; }
.library-world-desk .library-inspector-media[data-product-type="model"] .library-inspector-image img { object-fit: contain; }
.library-world-desk .library-inspector-media:not([data-product-type="model"]) .library-inspector-image img { object-fit: cover; }
.library-world-desk .library-media-controls { position: absolute; z-index: 8; top: 18px; right: 18px; margin: 0; }
.library-world-desk .library-view-mode { padding: 3px; border: 1px solid var(--anp-border-subtle); border-radius: var(--anp-radius-panel-cut); background: color-mix(in srgb, var(--anp-bg-deep) 78%, transparent); backdrop-filter: blur(10px); }
.library-world-desk .library-view-mode button { min-width: var(--anp-hit-target); height: var(--anp-hit-target); border-radius: var(--anp-radius-control-cut); }
.library-world-desk .library-view-mode button.active { border-color: var(--anp-text-secondary); background: var(--anp-surface-3); color: var(--anp-text-secondary); }
.library-world-desk .viewer-toggle { display: none; }
.library-world-desk .library-inspector-copy { display: flex; flex-direction: column; padding-inline: var(--anp-space-3); }
.library-world-desk .library-inspector-related { display: none; }
.library-world-desk .library-inspector-type { order: 1; color: var(--anp-text-secondary); letter-spacing: .11em; font-size: var(--anp-text-xs); font-weight: 900; }
.library-world-desk .library-inspector-copy h2 { font-size: var(--anp-text-lg); }
.library-world-desk .library-inspector-copy > h2 { order: 2; margin-bottom: 2px; }
.library-inspector-context { order: 3; margin: 0 0 var(--anp-space-3); color: var(--anp-text-muted); font-size: var(--anp-text-xs); line-height: 1.45; overflow-wrap: anywhere; }
.library-world-desk .library-inspector-summary { display: none; }
.library-world-desk .library-inspector-copy .library-kit-tech-data { order: 5; display: flex; flex-direction: column; margin: var(--anp-space-2) 0; overflow: hidden; border: 1px solid var(--anp-border-subtle); border-radius: var(--anp-radius-compact-panel-cut); }
.library-world-desk .library-kit-tech-data > div { min-height: 38px; padding: 0 var(--anp-space-3); border-bottom: 1px solid var(--anp-border-subtle); }
.library-world-desk .library-kit-tech-data > div:last-child { border-bottom: 0; }
.library-world-desk .library-kit-tech-data > div:nth-child(1),
.library-world-desk .library-kit-tech-data > div:nth-child(2),
.library-world-desk .library-kit-tech-data > div:nth-child(4),
.library-world-desk .library-kit-tech-data > div:nth-child(5),
.library-world-desk .library-kit-tech-data > div:nth-child(8) { display: none; }
.library-world-desk .library-kit-tech-data > div:nth-child(3) { order: 1; }
.library-world-desk .library-kit-tech-data > div:nth-child(7) { order: 2; }
.library-world-desk .library-kit-tech-data > div:nth-child(6) { order: 3; border-bottom: 0; }
.library-world-desk .library-inspector-actions { order: 6; display: grid; gap: 6px; margin: 0 0 var(--anp-space-2); padding: var(--anp-space-2); border: 1px solid var(--anp-border-subtle); border-radius: var(--anp-radius-compact-panel-cut); background: var(--anp-bg-deep); }
.library-world-desk .library-inspector-actions::before { content: "COMMERCIAL LICENSE"; color: var(--anp-text-muted); font-size: var(--anp-text-xs); font-weight: 800; letter-spacing: .08em; }
.library-world-desk .library-model-downloads { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.library-world-desk .library-inspector-actions .library-primary-action,
.library-world-desk .library-inspector-actions .download-button { min-height: var(--anp-hit-target); border-radius: var(--anp-radius-control-cut); }
.library-world-desk .library-model-downloads .download-button { grid-template-columns: minmax(0, 1fr) 15px; min-width: 0; gap: var(--anp-space-1); padding: 4px 6px; font-size: var(--anp-text-xs); line-height: var(--anp-line-xs); }
.library-world-desk .library-model-downloads .download-button > svg { width: 15px; height: 15px; }
.library-world-desk .library-download-label { min-width: 0; display: grid; gap: 1px; }
.library-world-desk .library-model-downloads .download-button span,
.library-world-desk .library-model-downloads .download-button small { max-width: 100%; overflow: hidden; font-size: var(--anp-text-xs); line-height: var(--anp-line-xs); text-overflow: ellipsis; white-space: nowrap; }
.library-inspector-kit-actions { order: 7; display: grid; gap: 6px; }
.library-inspector-tray-action,
.library-inspector-compare-action { min-height: 46px; display: flex; align-items: center; justify-content: center; gap: var(--anp-space-2); border: 1px solid var(--anp-border-strong); border-radius: var(--anp-radius-field-cut); background: transparent; color: var(--anp-text-primary); font-size: var(--anp-text-xs); font-weight: 800; text-decoration: none; cursor: pointer; }
.library-inspector-tray-action svg,
.library-inspector-compare-action svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.library-inspector-tray-action.active { border-color: var(--anp-text-secondary); background: var(--anp-surface-3); color: var(--anp-text-secondary); }
.library-inspector-tray-action.disabled { color: var(--anp-text-disabled); cursor: not-allowed; }
.library-inspector-compare-action[aria-pressed="true"] { border-color: var(--anp-text-secondary); color: var(--anp-text-secondary); }
.library-world-desk .library-format-chips { order: 9; display: none; }
.library-world-desk .library-rating-block {
  order: 4;
  margin: 0 0 var(--anp-space-2);
  padding: 0 var(--anp-space-2);
  border: 1px solid var(--anp-border-subtle);
  border-radius: var(--anp-radius-compact-panel-cut);
  background: var(--anp-surface-1);
}
.library-world-desk .library-rating-block form {
  min-height: var(--anp-hit-target);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: var(--anp-space-1);
  margin: 0;
  padding: 0;
  border: 0;
}
.library-world-desk .library-rating-block form > span {
  flex: 0 0 auto;
  color: var(--anp-text-muted);
  font-size: var(--anp-text-xs);
  line-height: var(--anp-line-sm);
}
.library-world-desk .library-rating-block form > div {
  flex: 0 0 auto;
  display: flex;
  gap: 0;
  justify-content: flex-end;
  margin-left: auto;
}
.library-world-desk .library-rating-block form button {
  min-width: var(--anp-hit-target);
  min-height: var(--anp-hit-target);
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--anp-text-disabled);
  font-size: var(--anp-text-md);
  line-height: 1;
}
.library-world-desk .library-rating-block form button + button { margin-left: -6px; }
.library-world-desk .library-rating-block form button:hover,
.library-world-desk .library-rating-block form button.active { color: var(--anp-warning); }
.library-world-desk .library-rating-block form small { display: none; }

.library-build-tray {
  grid-area: tray;
  z-index: 35;
  min-width: 0;
  display: grid;
  grid-template-columns: 220px minmax(220px, 1fr) auto auto;
  align-items: center;
  gap: var(--anp-space-3);
  min-height: var(--library-desk-tray-height);
  padding: var(--anp-space-2) var(--anp-space-3);
  border-top: 1px solid var(--anp-border-strong);
  background: color-mix(in srgb, var(--anp-surface-1) 92%, var(--anp-bg-deep));
  box-shadow: 0 -16px 38px color-mix(in srgb, var(--anp-bg-deep) 45%, transparent);
}
.library-build-tray a { text-decoration: none; }
.library-build-tray-heading {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--anp-space-3);
  padding: 0 var(--anp-space-3);
  border-radius: var(--anp-radius-panel-cut);
  color: var(--anp-text-primary);
}
.library-build-tray-heading:hover { background: var(--anp-surface-2); }
.library-build-tray-heading > span,
.library-build-tray-status > span { min-width: 0; display: grid; gap: 3px; }
.library-build-tray-heading small { color: var(--anp-brand-cyan); font-size: var(--anp-text-xs); font-weight: 850; letter-spacing: .1em; }
.library-build-tray-heading strong,
.library-build-tray-status strong { color: var(--anp-text-primary); font-size: var(--anp-text-xs); }
.library-build-tray-heading em { color: var(--anp-text-primary); font-style: normal; }
.library-build-tray-heading b { color: var(--anp-text-secondary); font-size: var(--anp-text-lg); }
.library-build-tray-status { min-width: 0; display: flex; align-items: center; gap: var(--anp-space-3); }
.library-build-tray-status i { width: 9px; height: 9px; flex: 0 0 9px; border-radius: var(--anp-radius-round); background: var(--anp-success); box-shadow: 0 0 0 5px color-mix(in srgb, var(--anp-success) 12%, transparent); }
.library-build-tray-status small { overflow: hidden; color: var(--anp-text-muted); font-size: var(--anp-text-xs); text-overflow: ellipsis; white-space: nowrap; }
.library-build-tray-engines { display: flex; gap: 3px; padding: 3px; border: 1px solid var(--anp-border-subtle); border-radius: 11px 7px 12px 8px; background: var(--anp-bg-deep); }
.library-build-tray-engines button { min-height: var(--anp-hit-target); padding: 0 var(--anp-space-3); border: 1px solid transparent; border-radius: 8px 5px 9px 6px; background: transparent; color: var(--anp-text-muted); font-size: var(--anp-text-xs); cursor: pointer; }
.library-build-tray-engines button:hover { color: var(--anp-text-primary); }
.library-build-tray-engines button.active { border-color: var(--anp-text-secondary); background: var(--anp-surface-3); color: var(--anp-text-primary); }
.library-build-tray-action:disabled { border-color: var(--anp-border-subtle); background: var(--anp-surface-3); color: var(--anp-text-disabled); cursor: not-allowed; }
.library-build-tray-action { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: var(--anp-space-2); padding: 0 var(--anp-space-4); border: 1px solid var(--anp-brand-cyan); border-radius: 11px 7px 12px 8px; background: var(--anp-brand-cyan); color: var(--anp-bg-deep); font: 900 var(--anp-text-xs)/1 var(--anp-font-ui); white-space: nowrap; cursor: pointer; }
.library-build-tray-action svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.library-bridge-dialog { width: min(680px, calc(100vw - var(--anp-space-8))); }
.library-bridge-dialog-shell { display: grid; gap: var(--anp-space-5); padding: var(--anp-space-6); }
.library-bridge-dialog-body { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--anp-space-4); }
.library-bridge-dialog-body > span { width: var(--anp-hit-target); height: var(--anp-hit-target); display: grid; place-items: center; border-radius: var(--anp-radius-md); background: var(--anp-brand-cyan-soft); color: var(--anp-brand-cyan); }
.library-bridge-dialog-body svg { width: var(--anp-space-5); height: var(--anp-space-5); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.library-bridge-dialog-body p { margin: 0; color: var(--anp-text-secondary); font-size: var(--anp-text-sm); line-height: var(--anp-line-lg); }
.library-bridge-dialog-body small { display: block; margin-top: var(--anp-space-2); color: var(--anp-text-muted); font-size: var(--anp-text-xs); line-height: var(--anp-line-md); }
.library-bridge-dialog .anp-dialog__footer { flex-wrap: nowrap; }
.library-bridge-dialog .anp-dialog__footer .anp-button { white-space: nowrap; }
.library-bridge-dialog .anp-dialog__close svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }

.library-compare-dock {
  position: fixed;
  z-index: 80;
  right: calc(var(--library-desk-inspector) + var(--anp-space-5));
  bottom: calc(var(--library-desk-tray-height) + var(--anp-space-4));
  display: flex;
  align-items: center;
  gap: var(--anp-space-5);
  padding: var(--anp-space-2) var(--anp-space-2) var(--anp-space-2) var(--anp-space-4);
  border: 1px solid var(--anp-border-strong);
  border-radius: var(--anp-radius-lg);
  background: color-mix(in srgb, var(--anp-surface-2) 92%, transparent);
  box-shadow: var(--anp-shadow-panel);
  backdrop-filter: blur(16px);
}
.library-compare-dock[hidden] { display: none; }
.library-compare-dock > span { display: grid; gap: 2px; }
.library-compare-dock small { color: var(--anp-text-muted); font-size: var(--anp-text-xs); letter-spacing: .1em; }
.library-compare-dock strong { color: var(--anp-text-primary); font-size: var(--anp-text-xs); }
.library-compare-dock em { color: var(--anp-brand-cyan); font-style: normal; }
.library-compare-dock > div { display: flex; gap: var(--anp-space-1); }
.library-compare-dock button { min-height: var(--anp-hit-target); padding: 0 var(--anp-space-3); border: 1px solid var(--anp-border-subtle); border-radius: var(--anp-radius-md); background: var(--anp-bg-deep); color: var(--anp-text-secondary); font-size: var(--anp-text-xs); font-weight: 750; cursor: pointer; }
.library-compare-dock button:last-child { border-color: var(--anp-text-secondary); background: var(--anp-text-secondary); color: var(--anp-bg-deep); }

.library-compare-dialog { width: min(980px, calc(100vw - 32px)); max-height: min(760px, calc(100vh - 32px)); padding: 0; overflow: hidden; border: 1px solid var(--anp-border-strong); border-radius: var(--anp-radius-xl); background: var(--anp-surface-1); color: var(--anp-text-primary); box-shadow: var(--anp-shadow-panel); }
.library-compare-dialog::backdrop { background: color-mix(in srgb, var(--anp-bg-deep) 78%, transparent); backdrop-filter: blur(7px); }
.library-compare-dialog > header { display: flex; justify-content: space-between; gap: var(--anp-space-4); padding: var(--anp-space-5); border-bottom: 1px solid var(--anp-border-subtle); }
.library-compare-dialog header span { color: var(--anp-brand-cyan); font-size: var(--anp-text-xs); font-weight: 800; letter-spacing: .1em; }
.library-compare-dialog h2 { margin: var(--anp-space-1) 0; font: 650 var(--anp-text-xl)/1.15 var(--anp-font-display); }
.library-compare-dialog p { margin: 0; color: var(--anp-text-secondary); font-size: var(--anp-text-xs); }
.library-compare-dialog header > button { width: var(--anp-hit-target); height: var(--anp-hit-target); display: grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--anp-border-subtle); border-radius: var(--anp-radius-md); background: var(--anp-bg-deep); color: var(--anp-text-primary); cursor: pointer; }
.library-compare-dialog header svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.library-compare-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--anp-space-3); padding: var(--anp-space-5); overflow: auto; }
.library-compare-item { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--anp-border-subtle); border-radius: var(--anp-radius-lg); background: var(--anp-bg-deep); }
.library-compare-item-remove { position: absolute; z-index: 2; top: var(--anp-space-2); right: var(--anp-space-2); width: var(--anp-hit-target); height: var(--anp-hit-target); display: grid; place-items: center; padding: 0; border: 1px solid var(--anp-border-strong); border-radius: var(--anp-radius-md); background: color-mix(in srgb, var(--anp-bg-deep) 88%, transparent); color: var(--anp-text-primary); cursor: pointer; }
.library-compare-item-remove:hover { border-color: var(--anp-danger); color: var(--anp-danger); }
.library-compare-item-remove:focus-visible { outline: var(--anp-focus-outline); outline-offset: var(--anp-focus-offset); }
.library-compare-item-remove svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.library-compare-item img,
.library-compare-item .library-compare-placeholder { width: 100%; aspect-ratio: 1 / 1; display: grid; place-items: center; object-fit: cover; background: var(--anp-surface-3); }
.library-compare-item > div { padding: var(--anp-space-3); }
.library-compare-item h3 { min-height: 2.6em; margin: 0 0 var(--anp-space-2); overflow: hidden; font: 650 var(--anp-text-sm)/1.3 var(--anp-font-display); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.library-compare-item dl { margin: 0; border-top: 1px solid var(--anp-border-subtle); }
.library-compare-item dl div { display: flex; justify-content: space-between; gap: var(--anp-space-2); padding-block: var(--anp-space-2); border-bottom: 1px solid var(--anp-border-subtle); font-size: var(--anp-text-xs); }
.library-compare-item dt { color: var(--anp-text-muted); }
.library-compare-item dd { margin: 0; color: var(--anp-text-secondary); text-align: right; overflow-wrap: anywhere; }
.library-compare-empty { min-height: 260px; display: grid; place-content: center; justify-items: center; padding: var(--anp-space-8); text-align: center; }
.library-compare-empty[hidden] { display: none; }
.library-compare-empty strong { font: 650 var(--anp-text-lg)/1.2 var(--anp-font-display); }

@keyframes libraryFacetDrift { to { transform: translate3d(8px, -10px, 0) rotate(4deg); } }

@media (min-width: 1800px) {
  .library-world-stage {
    width: 100%;
    height: clamp(320px, 42vh, 360px);
    max-height: none;
    aspect-ratio: auto;
  }
}

@media (min-width: 1024px) {
  .library-world-media.has-gallery {
    width: 100%;
    aspect-ratio: auto;
    display: flex;
    align-items: stretch;
    border-right: 0;
  }
  .library-world-media.has-gallery > img {
    width: auto;
    height: 100%;
    flex: 0 0 auto;
    aspect-ratio: 16 / 9;
  }
  .library-world-media.has-gallery .library-world-gallery {
    width: auto;
    height: 100%;
    display: flex;
    flex: 0 0 auto;
  }
  .library-world-media.has-gallery + .library-world-copy {
    isolation: isolate;
    background: var(--anp-bg-deep);
  }
  .library-world-media.has-gallery + .library-world-copy::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    right: 99%;
    bottom: 0;
    width: clamp(220px, 36cqi, 560px);
    pointer-events: none;
    background: linear-gradient(90deg,
      transparent 0,
      color-mix(in srgb, var(--anp-bg-deep) 18%, transparent) 18%,
      color-mix(in srgb, var(--anp-bg-deep) 54%, transparent) 42%,
      color-mix(in srgb, var(--anp-bg-deep) 88%, transparent) 70%,
      var(--anp-bg-deep) 100%);
  }
  .library-world-media.has-gallery + .library-world-copy > * {
    position: relative;
    z-index: 1;
  }
  .library-world-gallery > span {
    width: auto;
    height: 100%;
    flex: 0 0 auto;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-left: 1px solid var(--anp-border-subtle);
    background: var(--anp-surface-2);
  }
  .library-world-gallery img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }
}

@media (max-width: 1279px) {
  .library-world-desk {
    --library-desk-sidebar: 0px;
    --library-desk-inspector: clamp(302px, 29vw, 368px);
    grid-template-areas: "appbar appbar" "workspace inspector" "tray inspector";
    grid-template-columns: minmax(0, 1fr) var(--library-desk-inspector);
  }
  .library-world-desk[data-library-context="asset"] { grid-template-rows: 68px minmax(0, 1fr) var(--library-desk-tray-height); }
  .library-world-desk[data-library-context="asset"] .library-desk-appbar,
  .library-desk-appbar.has-asset-navigation {
    grid-template-columns: 52px minmax(0, 1fr) auto auto;
    grid-template-rows: 52px;
  }
  .library-world-desk[data-library-context="asset"] .library-desk-workspaces,
  .library-desk-appbar.has-asset-navigation > .library-desk-workspaces { grid-column: 3; grid-row: 1; }
  .library-world-desk[data-library-context="asset"] .library-desk-appbar-actions,
  .library-desk-appbar.has-asset-navigation > .library-desk-appbar-actions { grid-column: 4; grid-row: 1; }
  .library-desk-appbar > .library-detail-navigation {
    grid-column: 2;
    grid-row: 1;
    grid-template-columns: auto auto minmax(220px, 40%);
    padding: 0;
  }
  .library-desk-appbar > .library-detail-navigation::before { content: none; }
  .library-desk-appbar > .library-detail-navigation .library-detail-breadcrumb { display: none; }
  .library-desk-appbar > .library-detail-navigation .library-detail-sections a { padding-inline: var(--anp-space-1); }
  .library-desk-appbar { grid-template-columns: 52px minmax(0, 1fr) auto; }
  .library-desk-brand { justify-content: center; overflow: hidden; padding-inline: 0; }
  .library-desk-brand > span { display: none; }
  .library-desk-brand-mark { display: block; }
  .library-desk-workspaces a,
  .library-desk-workspaces button { padding-inline: var(--anp-space-3); }
  .library-desk-appbar-actions .library-environment-badge { display: none; }
  .library-world-desk .library-sidebar {
    position: fixed;
    z-index: 50;
    inset: 68px auto 76px 0;
    width: min(288px, calc(100vw - 64px));
    height: auto;
    display: flex;
    visibility: hidden;
    transform: translateX(-100%);
    transition: transform var(--anp-duration-slow) var(--anp-ease-standard), visibility var(--anp-duration-slow) step-end;
    pointer-events: none;
  }
  .library-world-desk.is-sidebar-open .library-sidebar {
    visibility: visible;
    transform: translateX(0);
    transition: transform var(--anp-duration-slow) var(--anp-ease-standard), visibility 0ms step-start;
    pointer-events: auto;
  }
  .library-world-desk.is-sidebar-open .library-sidebar-backdrop { display: block; z-index: 45; }
  .library-world-desk .library-sidebar > .library-desk-overline { display: block; }
  .library-world-desk .library-nav-heading { display: flex; }
  .library-world-desk .library-sidebar-bottom { display: block; }
  .library-world-desk .library-sidebar-bottom strong,
  .library-world-desk .library-sidebar-bottom small { display: block; }
  .library-world-desk .library-sidebar-bottom > a { justify-content: flex-start; }
  .library-world-desk .library-sidebar nav { padding: 0 var(--anp-space-3) var(--anp-space-3); overflow: auto; }
  .library-world-desk .library-nav-parent,
  .library-world-desk .library-sidebar nav .library-nav-children .sub { justify-content: flex-start; min-height: 66px; padding: var(--anp-space-2) var(--anp-space-3); }
  .library-world-desk .library-nav-parent > span,
  .library-world-desk .library-nav-children .sub > span,
  .library-world-desk .library-my-assets > span { display: grid; }
  .library-world-desk .library-nav-parent > b,
  .library-world-desk .library-nav-children .sub > b,
  .library-world-desk .library-my-assets > b { display: grid; }
  .library-world-desk .library-my-assets { min-height: 58px; justify-content: flex-start; margin: var(--anp-space-3) var(--anp-space-1) 0; padding: var(--anp-space-2) var(--anp-space-3); }
  .library-world-desk .library-my-library-links { gap: 2px; margin-top: 0; }
  .library-world-desk .library-my-library-links a { min-height: var(--anp-hit-target); justify-content: flex-start; padding: 0 var(--anp-space-3); }
  .library-world-desk .library-my-library-links span { display: block; }
  .library-world-desk .library-my-library-links b { display: grid; }
  .library-world-desk .library-nav-children { display: grid; }
  .library-world-desk .library-sidebar nav .library-nav-children .sub { display: flex; }
  .library-world-desk .library-sidebar-toggle { display: inline-grid; }
  .library-world-desk .library-inspector {
    position: relative;
    inset: auto;
    width: auto;
    max-height: none;
    visibility: visible;
    transform: none;
    transition: none;
    pointer-events: auto;
    box-shadow: none;
  }
  .library-world-desk .library-inspector-close {
    display: none;
  }
  .library-world-desk .library-inspector-toggle { display: none; }
  .library-world-desk .library-media-controls { right: 18px; }
  .library-world-desk .library-product-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--anp-space-3); }
  .library-world-desk .library-shelf-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--anp-space-3); overflow: visible; }
  .library-world-desk .library-shelf-grid .compact-library-card { width: 100%; max-width: 100%; min-width: 0; flex: none; }
  .library-world-desk .library-topbar,
  .library-world-desk[data-library-view="assets"] .library-topbar,
  .library-world-desk[data-library-view="build"] .library-topbar { grid-template-columns: auto minmax(0, 1fr) auto; }
  .library-world-desk .library-search { grid-column: 2; }
  .library-world-desk .library-top-actions { grid-column: 3; }
  .library-query-context { display: flex; }
  .library-query-context > :not(.library-context-back) { display: none; }
  .library-query-context .library-context-back {
    width: auto;
    padding: 0 var(--anp-space-3);
    justify-content: center;
  }
  .library-find-connected { display: none; }
  .library-build-tray { grid-template-columns: 190px minmax(0, 1fr) auto; }
  .library-build-tray-engines { display: none; }
  .library-compare-dock { right: var(--anp-space-4); }
}

@media (max-width: 1023px) {
  .library-world-desk[data-library-context="asset"] { grid-template-rows: 68px minmax(0, 1fr) var(--library-desk-tray-height); }
  .library-world-desk[data-library-context="asset"] .library-desk-appbar,
  .library-desk-appbar.has-asset-navigation {
    grid-template-columns: 52px minmax(0, 1fr) auto;
    grid-template-rows: 52px;
  }
  .library-world-desk[data-library-context="asset"] .library-desk-workspaces,
  .library-desk-appbar.has-asset-navigation > .library-desk-workspaces { display: none; }
  .library-world-desk[data-library-context="asset"] .library-desk-appbar-actions,
  .library-desk-appbar.has-asset-navigation > .library-desk-appbar-actions { grid-column: 3; grid-row: 1; }
  .library-desk-appbar > .library-detail-navigation {
    grid-column: 2;
    grid-row: 1;
    grid-template-columns: auto auto minmax(200px, 40%);
    grid-template-rows: var(--anp-hit-target);
    grid-template-areas: "route sections search";
    column-gap: var(--anp-space-1);
    row-gap: 0;
    padding: 0;
  }
  .library-desk-appbar > .library-detail-navigation::before { content: none; }
  .library-desk-appbar > .library-detail-navigation .library-detail-breadcrumb { display: none; }
  .library-desk-appbar > .library-detail-navigation .library-detail-sections a { padding-inline: var(--anp-space-1); }
  .library-desk-workspaces { justify-self: stretch; }
  .library-desk-workspaces a,
  .library-desk-workspaces button { flex: 1; min-width: 0; padding-inline: var(--anp-space-2); }
  .library-desk-account > span:last-child { display: none; }
  .library-world-stage { grid-template-columns: 1fr; grid-template-rows: auto; aspect-ratio: auto; }
  .library-world-media { grid-area: auto; width: 100%; height: auto; aspect-ratio: 16 / 9; min-height: 0; border-right: 0; border-bottom: 1px solid var(--anp-border-subtle); }
  .library-world-media::after { background: linear-gradient(0deg, color-mix(in srgb, var(--anp-bg-deep) 18%, transparent), transparent 30%); }
  .library-world-copy { grid-area: auto; justify-self: stretch; width: 100%; padding: var(--anp-space-5); background: color-mix(in srgb, var(--anp-surface-1) 94%, var(--anp-bg-deep)); }
  .library-world-stats { grid-area: auto; position: static; margin: 0 var(--anp-space-5) var(--anp-space-5); }
  .library-compare-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .library-world-desk .library-shelf-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .library-cart-preview-list { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
  .library-desk-appbar.has-library-tabs {
    grid-template-columns: 52px minmax(0, 1fr) auto;
    grid-template-rows: 52px auto;
    align-content: start;
    row-gap: var(--anp-space-1);
    padding-bottom: var(--anp-space-2);
  }
  .library-desk-appbar.has-library-tabs > .library-desk-brand {
    grid-column: 1;
    grid-row: 1;
    justify-content: center;
    padding-inline: 0;
  }
  .library-desk-appbar.has-library-tabs > .library-desk-brand > span { display: none; }
  .library-desk-appbar.has-library-tabs > .library-desk-appbar-actions {
    grid-column: 3;
    grid-row: 1;
  }
  .library-desk-appbar.has-library-tabs > .library-appbar-tabs {
    grid-column: 1 / -1;
    grid-row: 2;
    height: auto;
    min-height: 0;
    flex-wrap: wrap;
    overflow: visible;
  }
  .library-desk-appbar.has-library-tabs > .library-appbar-tabs a {
    flex: 1 1 72px;
    padding-inline: var(--anp-space-1);
  }
  .library-desk-appbar.has-library-tabs .library-tabs-search {
    order: -1;
    width: 100%;
    min-width: 100%;
    flex: 1 0 100%;
    margin-left: 0;
  }
  .library-world-desk[data-library-context="asset"] { grid-template-rows: auto minmax(0, 1fr) var(--library-desk-tray-height); }
  .library-world-desk[data-library-context="asset"] .library-desk-appbar {
    grid-template-rows: 52px auto;
    align-content: start;
    padding-bottom: var(--anp-space-2);
  }
  .library-desk-appbar > .library-detail-navigation {
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: var(--anp-hit-target) auto var(--anp-hit-target);
    grid-template-areas:
      "route"
      "sections"
      "search";
    row-gap: var(--anp-space-1);
  }
  .library-desk-appbar > .library-detail-navigation .library-detail-search { grid-column: 1; }
  .library-query-context .library-context-back {
    width: var(--anp-hit-target);
    padding: 0;
  }
  .library-query-context .library-context-back span { display: none; }
  .library-app-body { overflow: auto; }
  .library-world-desk { display: block; min-height: 100vh; height: auto; }
  .library-build-tray { display: none; }
  .library-desk-appbar { position: sticky; top: 0; grid-template-columns: 1fr auto; min-height: 62px; padding-inline: var(--anp-space-2); backdrop-filter: none; }
  .library-desk-brand { width: auto; height: 48px; }
  .library-desk-brand > span { display: grid; }
  .library-desk-brand-mark { display: block; }
  .library-desk-workspaces { position: fixed; z-index: 70; right: var(--anp-space-2); bottom: var(--anp-space-2); left: var(--anp-space-2); order: 3; box-shadow: var(--anp-shadow-panel); }
  .library-desk-workspaces a,
  .library-desk-workspaces button { min-height: 48px; font-size: var(--anp-text-xs); }
  .library-desk-workspaces span { display: none; }
  .library-world-desk .library-shelf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .library-world-desk .library-tabs { height: auto; max-height: none; flex-wrap: wrap; overflow: visible; }
  .library-world-desk .library-tabs { height: auto; max-height: none; flex-wrap: wrap; overflow: visible; }
  .library-desk-appbar-actions { grid-column: 2; }
  .library-desk-account { padding-inline: var(--anp-space-3); }
  .library-world-desk .library-sidebar {
    position: fixed;
    inset: 62px auto 0 0;
    width: min(288px, calc(100vw - 48px));
  }
  .library-world-desk .library-inspector {
    position: fixed;
    inset: auto 0 0;
    width: 100%;
    height: min(86dvh, 760px);
    max-height: 86dvh;
    visibility: hidden;
    transform: translateY(100%);
    transition: transform var(--anp-duration-slow) var(--anp-ease-standard), visibility var(--anp-duration-slow) step-end;
    pointer-events: none;
    box-shadow: var(--anp-shadow-panel);
  }
  .library-world-desk.is-inspector-open .library-inspector {
    visibility: visible;
    transform: translateY(0);
    transition: transform var(--anp-duration-slow) var(--anp-ease-standard), visibility 0ms step-start;
    pointer-events: auto;
  }
  .library-world-desk .library-inspector-close {
    position: absolute;
    z-index: 20;
    top: var(--anp-space-3);
    right: var(--anp-space-3);
    display: grid;
    float: none;
    margin: 0;
  }
  .library-world-desk .library-inspector-toggle { display: inline-flex; }
  .library-world-desk .library-media-controls {
    right: calc(var(--anp-space-3) + var(--anp-hit-target) + var(--anp-space-2));
  }
  .library-world-desk .library-workspace { min-height: calc(100vh - 62px); overflow: visible; }
  .library-world-desk .library-topbar { position: sticky; top: 62px; z-index: 25; grid-template-columns: auto minmax(0, 1fr) auto; flex-wrap: wrap; min-height: 60px; }
  .library-world-desk .library-sidebar-toggle { grid-column: 1; }
  .library-world-desk .library-mobile-title { grid-column: 2; }
  .library-world-desk .library-top-actions { grid-column: 3; }
  .library-mobile-title { display: grid; flex: 1; gap: 2px; }
  .library-mobile-title span { color: var(--anp-brand-cyan); font-size: var(--anp-text-xs); font-weight: 800; letter-spacing: .1em; }
  .library-mobile-title strong { color: var(--anp-text-primary); font-size: var(--anp-text-xs); }
  .library-world-desk .library-topbar .library-search { grid-column: 1 / -1; width: 100%; flex-basis: 100%; order: 5; }
  .library-world-desk .library-tabs,
  .library-world-desk .library-filterbar { padding-inline: var(--anp-space-2); }
  .library-world-desk .library-scroll-area { padding: var(--anp-space-2) var(--anp-space-2) 86px; overflow: visible; }
  .library-detail-navigation {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: var(--anp-hit-target) auto var(--anp-hit-target);
    grid-template-areas:
      "route"
      "sections"
      "search";
    column-gap: var(--anp-space-1);
    row-gap: var(--anp-space-3);
    margin-bottom: var(--anp-space-2);
    padding: var(--anp-space-2);
  }
  .library-detail-navigation::before { top: calc(var(--anp-space-2) + var(--anp-hit-target) + var(--anp-space-1)); }
  .library-detail-breadcrumb li:first-child { display: none; }
  .library-detail-breadcrumb li:nth-child(2)::before { content: none; }
  .library-detail-sections {
    display: grid;
    grid-template-columns: repeat(5, minmax(88px, 1fr));
    overflow-x: auto;
    scrollbar-width: none;
  }
  .library-detail-sections::-webkit-scrollbar { display: none; }
  .library-detail-sections a { padding-inline: var(--anp-space-2); }
  .library-world-stage { border-radius: var(--anp-radius-lg); }
  .library-world-copy { padding: var(--anp-space-4); }
  .library-world-copy h2 { font-size: 27px; }
  .library-world-commerce { align-items: stretch; flex-direction: column; }
  .library-world-commerce a,
  .library-world-commerce button { width: 100%; }
  .library-world-stats { position: static; margin: 0 var(--anp-space-4) var(--anp-space-4); }
  .library-world-stats { display: none; }
  .library-world-stats span { min-width: 0; flex: 1; padding-inline: var(--anp-space-2); }
  .library-world-desk .library-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .library-compare-dock { right: var(--anp-space-2); bottom: 72px; left: var(--anp-space-2); justify-content: space-between; }
  .library-compare-dialog { width: calc(100vw - 16px); max-height: calc(100vh - 16px); }
  .library-compare-dialog > header { padding: var(--anp-space-4); }
  .library-compare-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: var(--anp-space-3); }
  .library-cart-preview-header {
    align-items: stretch;
    gap: var(--anp-space-3);
    padding: var(--anp-space-4);
  }
  .library-cart-preview-header h1 { font-size: 24px; }
  .library-cart-preview-total { min-width: 96px; min-height: 64px; }
  .library-cart-preview-list { gap: var(--anp-space-2); padding: var(--anp-space-3); }
  .library-cart-preview-actions { padding: 0 var(--anp-space-3) var(--anp-space-3); }
  .library-build-workspace-header { min-height: 0; align-items: flex-start; padding: var(--anp-space-4); }
  .library-build-workspace-header p { font-size: var(--anp-text-xs); }
  .library-build-readiness { min-width: 106px; min-height: 64px; padding: var(--anp-space-2); }
}

@media (max-width: 479px) {
  .library-world-desk .library-tabs { flex-wrap: wrap; }
  .library-tabs-search { min-width: 100%; flex-basis: 100%; order: -1; margin-left: 0; }
  .library-detail-sections { grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
  .library-detail-sections a { padding-inline: var(--anp-space-1); }
  .library-world-desk .library-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .library-world-code { top: var(--anp-space-2); left: var(--anp-space-2); }
  .library-world-code small { display: none; }
  .library-world-legend { gap: var(--anp-space-2); }
  .library-world-stats { display: none; }
  .library-compare-dock { gap: var(--anp-space-2); padding-left: var(--anp-space-3); }
  .library-compare-dock > div button:first-child { display: none; }
  .library-cart-preview-header { flex-direction: column; }
  .library-cart-preview-total { width: 100%; min-height: 56px; grid-auto-flow: column; gap: var(--anp-space-2); }
  .library-cart-preview-item { align-items: flex-start; flex-wrap: wrap; }
  .library-cart-preview-copy { flex-basis: calc(100% - var(--anp-hit-target) - var(--anp-space-3)); }
  .library-cart-preview-price { width: 100%; justify-content: flex-end; }
  .library-cart-preview-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .library-cart-preview-actions a { width: 100%; }
  .library-build-workspace-header { flex-direction: column; gap: var(--anp-space-3); }
  .library-build-readiness { width: 100%; grid-auto-flow: column; align-items: center; }
}

@media (prefers-reduced-motion: reduce) {
  .library-world-facets i { animation: none; }
  .library-world-desk .animpic-library-card { transition: none; }
}

/* Shared adaptive rows for mixed catalog, shelves and Build Tray cards.
   Keep the existing grid as the no-JavaScript fallback. */
.library-world-desk .library-product-grid.library-justified-grid,
.library-world-desk .library-shelf-grid.library-justified-grid {
  display: flex;
  flex-wrap: wrap;
  align-content: start;
  align-items: stretch;
  justify-content: start;
}
.library-world-desk .library-justified-grid > .animpic-library-card {
  box-sizing: border-box;
  flex: 0 0 var(--library-card-width);
  width: var(--library-card-width);
  min-width: 0;
  max-width: none;
}
