/* Sidebar Container — Firefox-style floating panel */
#sidebar-container {
  background-color: var(--body-bg-color);
  border: 1px solid var(--doorhanger-border-color);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
  z-index: 10001;
  outline: none;
  position: absolute;
  left: 8px;
  top: calc(var(--toolbar-height) + 8px);
  height: calc(100% - var(--toolbar-height) - 16px);
  max-height: calc(100% - var(--toolbar-height) - 16px);
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35),
              0 0 0 1px var(--doorhanger-border-color);
}

#sidebar-container.hidden {
  width: 0 !important;
  min-width: 0 !important;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-12px);
}

#toolbar-sidebar {
  min-height: 32px;
  background-color: var(--sidebar-toolbar-bg-color);
  box-shadow: inset calc(-1px * var(--dir-factor)) 0 0 rgba(0, 0, 0, 0.25),
              0 1px 0 var(--doorhanger-border-color);
  border-radius: 8px 8px 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1px 6px;
}

#toolbar-sidebar-left {
  display: flex;
  align-items: center;
}

#toolbar-sidebar-right {
  display: flex;
  align-items: center;
}

#sidebar-view-buttons {
  display: flex;
}

#sidebar-view-buttons .toolbar-button {
  margin-inline-end: 2px;
}

#sidebar-view-buttons .toolbar-button:last-child {
  margin-inline-end: 0;
}

#sidebar-view-buttons .toolbar-button.toggled {
  background-color: var(--toggled-btn-bg-color);
  z-index: 1;
}

#current-outline-item.hidden {
  display: none;
}

#sidebar-content {
  flex: 1;
  overflow: auto;
  background-color: var(--body-bg-color);
  border-radius: 0 0 8px 8px;
}

#thumbnail-view,
#outline-view,
#attachments-view,
#layers-view {
  padding: 4px 4px 0;
}

#sidebar-resizer {
  width: 14px;
  cursor: col-resize;
  background-color: transparent;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -4px;
  z-index: 200;
  transition: background-color 0.15s ease;
  touch-action: none;
}

#sidebar-resizer::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 6px;
  width: 2px;
  background-color: transparent;
  transition: background-color 0.15s ease;
}

#sidebar-resizer:hover {
  background-color: transparent;
}

#sidebar-resizer:hover::after {
  background-color: var(--progressBar-color);
}

#sidebar-resizer:active {
  background-color: transparent;
}

#sidebar-resizer:active::after {
  background-color: var(--progressBar-color);
}

/* Sidebar Scrollbar */
#sidebar-content::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

#sidebar-content::-webkit-scrollbar-track {
  background-color: var(--doorhanger-bg-color);
}

#sidebar-content::-webkit-scrollbar-thumb {
  background-color: var(--field-border-color);
  border-radius: 6px;
  border: 2px solid var(--doorhanger-bg-color);
}

#sidebar-content::-webkit-scrollbar-thumb:hover {
  background-color: var(--separator-color);
}

/* Thumbnails */
.thumbnail {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 10px 5px;
  padding: 0;
  cursor: pointer;
}

.thumbnail:not([data-loaded]) > .thumbnailImage {
  width: calc(var(--thumbnail-width) * 1px);
  height: calc(var(--thumbnail-height) * 1px);
}

.thumbnailImage {
  border: 1px solid rgba(0, 0, 0, 0);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5), 0 2px 8px rgba(0, 0, 0, 0.3);
  opacity: 0.9;
  transition: opacity 0.15s ease, border-color 0.15s ease;
}

.thumbnail:hover > .thumbnailImage {
  opacity: 1;
}

.thumbnail.selected > .thumbnailImage {
  border-color: var(--progressBar-color);
  box-shadow: 0 0 0 1px var(--progressBar-color), 0 2px 8px rgba(0, 0, 0, 0.3);
  opacity: 1;
}

.thumbnail-page-number {
  font-size: 10px;
  color: var(--field-color);
  margin-top: 3px;
}

/* Thumbnail View */
#thumbnail-view {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4px;
}

#outline-view,
#attachments-view,
#layers-view {
  padding: 4px;
}

/* Outline */
.outline-item-wrapper {
  display: block;
}

.outline-item-wrapper.collapsed > .outline-children {
  display: none;
}

.outline-item-wrapper.collapsed > .outline-item .outline-item-toggle svg {
  transform: rotate(0deg);
}

.outline-item {
  padding: 4px;
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  color: var(--field-color);
  font-size: 13px;
  line-height: 1.4;
  text-decoration: none;
  border-radius: 2px;
}

.outline-item:hover {
  background-color: var(--toggled-btn-bg-color);
}

.outline-item.selected {
  background-color: var(--progressBar-blend-color);
}

.outline-item-toggle {
  width: 16px;
  height: 16px;
  min-width: 16px;
  background: none;
  border: none;
  cursor: pointer;
  margin: 0;
  margin-right: 4px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.outline-item-toggle svg {
  width: 12px;
  height: 12px;
  fill: var(--toolbar-icon-bg-color);
  opacity: var(--toolbar-icon-opacity);
  transform: rotate(90deg);
  transition: transform 0.15s ease;
}

.outline-item-toggle:hover svg {
  opacity: 1;
}

.outline-item-spacer {
  width: 16px;
  min-width: 16px;
  margin-right: 4px;
}

.outline-item-title {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  flex: 1;
}

.outline-items {
  padding-inline-start: 0;
}

.outline-children {
  display: block;
}

.outline-empty {
  color: var(--field-color);
  font-size: 12px;
  padding: 8px;
  text-align: center;
  opacity: 0.7;
}
