.library-folder > summary {
  min-height: 32px;
  padding: 7px 8px;
  color: #354352;
  border-radius: 3px;
  list-style: none;
}
.library-folder > summary::-webkit-details-marker { display: none; }
.tree-arrow {
  transform: rotate(90deg);
  transition: transform 120ms ease;
}
.library-folder[open] > summary .tree-arrow,
.layer-toggle[aria-expanded="true"] .tree-arrow { transform: rotate(180deg); }
.library-folder > summary:hover { background: #f0f3f6; }
.library-folder > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.tree-children {
  margin-left: 11px;
  padding-left: 9px;
  border-left: 1px solid #dce2e8;
}
.library-item {
  min-height: 31px;
  padding: 6px 9px;
  color: #263340;
  background: transparent;
  border: 0;
  border-radius: 3px;
  text-align: left;
}
.library-item:hover { background: #eef2f5; }
.library-item.active { color: #fff; background: var(--accent); }
.library-item:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.library-component-row {
  grid-template-columns: minmax(0, 1fr) 30px 30px;
  gap: 2px;
}
.library-component-action {
  min-height: 31px;
  padding: 0;
  color: #7a8794;
  background: transparent;
  border: 0;
  border-radius: 3px;
  font-size: 18px;
  line-height: 1;
}
.library-component-rename:hover { color: var(--accent); background: #eef2f5; }
.library-component-rename:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.library-component-delete:hover { color: #a52222; background: #fff0f0; }
.library-component-delete:focus-visible { outline: 2px solid #a52222; outline-offset: -2px; }
.library-component-drop-zone { min-height: 4px; }
#component-list.is-sorting-components .library-component-drop-zone {
  min-height: 34px;
  border-radius: 3px;
  outline: 1px dashed #9eb9cc;
  outline-offset: -1px;
}
.library-component-sortable-ghost { opacity: 0.35; }
.library-component-sortable-chosen { background: #e7f2fa; }
.library-group-drop-zone { min-height: 4px; }
.library-root-group-drop-zone { position: relative; }
#component-list.is-sorting-groups .library-group-drop-zone {
  min-height: 34px;
  border-radius: 3px;
  outline: 1px dashed #80a9c5;
  outline-offset: -1px;
}
#component-list.is-sorting-groups .library-root-group-drop-zone { padding-top: 30px; }
#component-list.is-sorting-groups .library-root-group-drop-zone::before {
  position: absolute;
  top: 7px;
  left: 8px;
  color: #607080;
  font-size: 11px;
  content: 'Верхний уровень';
  pointer-events: none;
}
.library-group-sortable-ghost { opacity: 0.3; }
.library-group-sortable-chosen > .library-group-title { background: #e7f2fa; }
