/* Навігатор репо — службовий інструмент, не частина продукту. Нейтральний стиль, префікс pn-. */
.pn {
  --pn-w: 240px;
  --pn-bg: #f6f6f5;
  --pn-fg: #2b2b2b;
  --pn-muted: #8a8a86;
  --pn-line: #e2e2df;
  --pn-hover: #ebebe8;
  --pn-current-bg: #2b2b2b;
  --pn-current-fg: #ffffff;

  position: fixed;
  inset: 0 auto 0 0;
  z-index: 2147483000;
  width: var(--pn-w);
  box-sizing: border-box;
  overflow-y: auto;
  padding: 16px 12px 24px;
  background: var(--pn-bg);
  border-right: 1px solid var(--pn-line);
  color: var(--pn-fg);
  font: 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  text-align: left;
}

@media (prefers-color-scheme: dark) {
  .pn {
    --pn-bg: #1c1c1b;
    --pn-fg: #e6e6e3;
    --pn-muted: #8d8d88;
    --pn-line: #333331;
    --pn-hover: #2a2a28;
    --pn-current-bg: #e6e6e3;
    --pn-current-fg: #1c1c1b;
  }
}

.pn *, .pn *::before, .pn *::after { box-sizing: border-box; }

.pn-head {
  margin: 0 8px 12px;
  color: var(--pn-muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.pn ul { list-style: none; margin: 0; padding: 0; }
.pn ul ul { margin-left: 12px; padding-left: 8px; border-left: 1px solid var(--pn-line); }
.pn li { margin: 1px 0; }

.pn-page, .pn-branch {
  display: block;
  padding: 4px 8px;
  border-radius: 4px;
  color: inherit;
  text-decoration: none;
}
.pn-page:hover { background: var(--pn-hover); }
.pn-page:focus-visible { outline: 2px solid var(--pn-fg); outline-offset: -2px; }
.pn-branch {
  margin-top: 10px;
  color: var(--pn-muted);
  font-weight: 600;
}
.pn-current, .pn-current:hover {
  background: var(--pn-current-bg);
  color: var(--pn-current-fg);
}

.pn-toggle { display: none; }

html.pn-on body { padding-left: 240px; }

@media (max-width: 760px) {
  html.pn-on body { padding-left: 0; }
  .pn { transform: translateX(-100%); transition: transform .2s ease; box-shadow: none; }
  html.pn-open .pn { transform: none; box-shadow: 0 0 24px rgba(0,0,0,.2); }
  .pn-toggle {
    display: block;
    position: fixed;
    left: 8px;
    bottom: 8px;
    z-index: 2147483001;
    padding: 6px 10px;
    border: 1px solid #d0d0cc;
    border-radius: 4px;
    background: #f6f6f5;
    color: #2b2b2b;
    font: 12px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    cursor: pointer;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pn { transition: none; }
}
