.category-sidebar {
  position: sticky;
  top: 0;
  min-width: 0;
  height: calc(100svh - var(--app-nav-height));
  padding: 0 0 1.25rem;
  border-right: 1px solid var(--color-border);
  background: var(--report-white);
  overflow-y: auto;
  overflow-x: clip;
  overscroll-behavior-y: contain;
  scrollbar-width: none;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}
.category-sidebar::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.sidebar-title {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 0;
  min-height: calc((var(--category-header-padding-block) * 2) + var(--category-header-control-height));
  padding: var(--category-header-padding-block) var(--app-content-padding);
  border-bottom: 0;
  color: var(--color-text);
  font-size: var(--category-sidebar-title-font-size);
  font-weight: var(--font-bold);
  line-height: var(--category-sidebar-line-height);
}
.sidebar-title::after {
  position: absolute;
  right: calc(-1 * var(--category-sidebar-right-bleed));
  bottom: 0;
  left: 0;
  height: 1px;
  background: var(--color-border);
  content: '';
  pointer-events: none;
}
.major-category-list {
  display: flex;
  flex-direction: column;
  gap: var(--category-sidebar-major-gap);
  padding-top: var(--category-toolbar-padding-block);
}
.category-sidebar-node {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.major-category-node {
  min-width: 0;
  gap: var(--category-sidebar-major-gap);
}
.all-category-node {
  margin-bottom: var(--category-sidebar-all-category-extra-gap);
  padding-bottom: 0;
  border-bottom: 0;
}
.all-category-node .major-category-link {
  color: var(--color-text);
  font-weight: var(--font-semibold);
}
.major-category-trigger {
  display: flex;
  width: calc(100% + var(--category-sidebar-right-bleed));
  min-width: 0;
  min-height: var(--category-sidebar-major-trigger-block-size);
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: var(--category-sidebar-major-trigger-padding-block) calc(var(--app-content-padding) + var(--category-sidebar-right-bleed)) var(--category-sidebar-major-trigger-padding-block) calc(var(--category-sidebar-major-indent) - var(--category-sidebar-marker-width));
  border: 0;
  border-left: var(--category-sidebar-marker-width) solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--color-text-sub);
  font: inherit;
  font-size: var(--category-sidebar-major-font-size);
  font-weight: var(--font-regular);
  line-height: var(--category-sidebar-line-height);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.major-category-trigger > span,
.middle-category-trigger > span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.major-category-trigger:hover,
.major-category-link:hover {
  background: var(--color-neutral-highlight);
  color: var(--color-text);
}
.major-category-trigger[aria-expanded='true'],
.major-category-link[aria-current='page'] {
  border-left-color: var(--button-highlight-border);
  background: var(--button-highlight-background);
  color: var(--button-highlight-color);
  transition: none;
}
.middle-category-list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--category-sidebar-middle-gap);
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.middle-category-list[hidden] {
  display: none;
}
.middle-category-link {
  position: relative;
  display: flex;
  width: calc(100% + var(--category-sidebar-right-bleed));
  min-width: 0;
  min-height: 1.75rem;
  align-items: center;
  gap: 0.4375rem;
  padding: 0.3125rem calc(var(--category-sidebar-end-padding) + var(--category-sidebar-right-bleed)) 0.3125rem calc(var(--category-sidebar-middle-indent) - var(--category-sidebar-marker-width));
  border: 0;
  border-left: var(--category-sidebar-marker-width) solid transparent;
  border-radius: 0;
  color: var(--color-text-sub);
  font-size: var(--category-sidebar-sub-font-size);
  font-weight: var(--font-regular);
  line-height: var(--category-sidebar-line-height);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s;
}
.middle-category-link:hover {
  background: var(--color-neutral-highlight);
  color: var(--color-text);
}
.middle-category-link.active {
  border-left-color: var(--button-highlight-border);
  background: var(--button-highlight-background);
  color: var(--button-highlight-color);
  transition: none;
}
.middle-category-node {
  min-width: 0;
  gap: var(--category-sidebar-middle-gap);
}
.middle-category-trigger {
  position: relative;
  display: flex;
  width: calc(100% + var(--category-sidebar-right-bleed));
  min-width: 0;
  min-height: 1.75rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.3125rem calc(var(--category-sidebar-end-padding) + var(--category-sidebar-right-bleed)) 0.3125rem calc(var(--category-sidebar-middle-indent) - var(--category-sidebar-marker-width));
  border: 0;
  border-left: var(--category-sidebar-marker-width) solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--color-text-sub);
  font: inherit;
  font-size: var(--category-sidebar-sub-font-size);
  font-weight: var(--font-regular);
  line-height: var(--category-sidebar-line-height);
  text-align: left;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s;
}
.middle-category-trigger:hover {
  background: var(--color-neutral-highlight);
  color: var(--color-text);
}
.middle-category-trigger[aria-expanded='true'] {
  border-left-color: var(--button-highlight-border);
  background: var(--button-highlight-background);
  color: var(--button-highlight-color);
  transition: none;
}
.item-category-list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--category-sidebar-detail-gap);
  margin: 0;
  padding-left: 0;
  border-left: 0;
}
.item-category-list[hidden] {
  display: none;
}
.item-category-link {
  position: relative;
  display: flex;
  width: calc(100% + var(--category-sidebar-right-bleed));
  min-width: 0;
  min-height: 1.75rem;
  align-items: center;
  padding: 0.3125rem calc(var(--category-sidebar-end-padding) + var(--category-sidebar-right-bleed)) 0.3125rem calc(var(--category-sidebar-detail-indent) - var(--category-sidebar-marker-width));
  border-left: var(--category-sidebar-marker-width) solid transparent;
  border-radius: 0;
  color: var(--color-text-sub);
  font-size: var(--category-sidebar-detail-font-size);
  font-weight: var(--font-regular);
  line-height: var(--category-sidebar-line-height);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s;
}
.item-category-link:hover {
  background: var(--color-neutral-highlight);
  color: var(--color-text);
}
.item-category-link.active {
  border-left-color: var(--button-highlight-border);
  background: var(--button-highlight-background);
  color: var(--button-highlight-color);
  transition: none;
}

@media (min-width: 64.001rem) and (max-height: 42rem) {
  .category-sidebar {
    padding-bottom: 0.5rem;
  }
  .sidebar-title {
    min-height: calc((var(--category-header-padding-block) * 2) + var(--category-header-control-height));
  }
  .middle-category-link,
  .middle-category-trigger,
  .item-category-link {
    min-height: 1.5rem;
    padding-block: 0.2rem;
  }
}
