.library {
  min-width: 0;
}
.library-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 18px;
}
.library-toolbar > label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-muted);
}
.library-toolbar > .meta {
  flex-basis: 100%;
  margin: 0;
}
.library input,
.library select {
  min-height: 36px;
  max-width: 100%;
  padding: 7px 12px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-control);
  background: var(--surface-raised);
  color: var(--text-primary);
  font: inherit;
}
.library input:focus-visible,
.library select:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.library-workspace {
  display: grid;
  grid-template-columns: minmax(150px, 200px) minmax(200px, 1fr) minmax(260px, 1.25fr);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--surface-panel);
}
.library-folders {
  align-content: start;
  min-width: 0;
  padding: 12px;
  border-right: 1px solid var(--border-subtle);
}
.library-folders > button {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  justify-content: start;
  padding: 8px 6px;
  background: transparent;
  color: var(--text-secondary);
  overflow-wrap: anywhere;
  text-align: left;
}
.library-folders > button[aria-current],
.library-row[aria-current] {
  color: var(--accent);
  background: var(--accent-soft);
}
.library-folder .icon {
  flex-shrink: 0;
  width: 15px;
  height: 15px;
}
.library-indent {
  white-space: pre;
  color: var(--border-strong);
  font: 11px var(--font-mono);
}
.library-list {
  min-width: 0;
  padding: 18px;
  border-right: 1px solid var(--border-subtle);
}
.library-list > h2 {
  font-size: 13px;
  color: var(--text-muted);
  margin-top: 0;
}
.library-list > button:not(.library-row) {
  margin: 0 4px 10px 0;
}
.library-row {
  width: 100%;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  gap: 8px;
  padding: 12px 8px;
  border-radius: 4px;
  border: 0;
  border-top: 1px solid var(--border-subtle);
  background: transparent;
  color: var(--text-secondary);
  text-align: left;
  justify-content: start;
}
.library-row:hover {
  background: var(--surface-hover);
}
.library-row strong {
  font-weight: 500;
  overflow-wrap: anywhere;
}
.library-row .icon {
  width: 16px;
  height: 16px;
}
.library-branch {
  grid-column: 2 / -1;
  color: var(--text-muted);
  font: 11px var(--font-mono);
  overflow-wrap: anywhere;
}
.library-detail {
  min-width: 0;
  padding: 20px;
}
.library-detail > button {
  margin: 0 6px 12px 0;
}
.library-detail .published-text {
  margin: 18px 0;
}
.library-identity,
.library-reference {
  display: block;
  color: var(--text-muted);
  font: 11px/1.7 var(--font-mono);
  overflow-wrap: anywhere;
}
.library-scope {
  grid-column: 1 / -1;
  border-top: 1px solid var(--border-subtle);
  padding: 12px 18px;
  margin: 0;
  background: var(--surface-root);
}
.library-form {
  padding: 18px;
  margin: 14px 0;
  background: var(--surface-raised);
  border: 1px solid var(--accent-line);
  border-radius: var(--radius-control);
}
.library-form h3 {
  margin: 0 0 14px;
  font-size: 14px;
}
.library-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 12px 0;
  color: var(--text-secondary);
}
.library-form .actions {
  margin-top: 14px;
}
.library-notice {
  overflow-wrap: anywhere;
}
.library-history {
  grid-column: 1 / -1;
  padding: 0 18px;
}
.library-workspace > .actions {
  grid-column: 1 / -1;
  padding: 12px 18px;
}
.library-history-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  border-bottom: 1px solid var(--border-subtle);
}
.library-history-row > strong {
  font-family: var(--font-mono);
}
@media (max-width: 1100px) {
  .library-workspace {
    grid-template-columns: minmax(150px, 180px) minmax(0, 1fr);
  }
  .library-detail {
    grid-column: 1 / -1;
    border-top: 1px solid var(--border-subtle);
  }
}
@media (max-width: 650px) {
  .library-workspace {
    display: block;
  }
  .library-folders {
    border-right: 0;
    border-bottom: 1px solid var(--border-subtle);
    max-height: 240px;
    overflow: auto;
  }
  .library-list {
    border-right: 0;
    padding: 14px;
  }
  .library-detail {
    padding: 16px;
  }
  .library-row {
    grid-template-columns: 18px minmax(0, 1fr);
  }
  .library-row > .meta {
    grid-column: 2;
  }
}
