/* Article taxonomy and category introductions follow the portal's dark panels. */
.pc-article-categories {
  margin: 24px 0;
  min-width: 0;
  border: 1px solid var(--portal-border, #30343c);
  border-radius: 14px;
  background: var(--portal-panel, #1b1e23);
  color: var(--portal-text, #f0f1f3);
}
.pc-article-categories > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px;
  list-style: none;
  cursor: pointer;
  font-size: 15px;
  font-weight: 750;
}
.pc-article-categories > summary::-webkit-details-marker { display: none; }
.pc-article-categories > summary .icon { flex: none; transition: transform .15s; }
.pc-article-categories[open] > summary .icon { transform: rotate(180deg); }
.pc-article-categories > nav { border-top: 1px solid var(--portal-border, #30343c); padding: 16px 20px 20px; }
.pc-article-categories a {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 8px 10px;
  border-radius: 8px;
  color: var(--portal-text, #f0f1f3);
  text-decoration: none;
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.pc-article-categories a > span:first-child { min-width: 0; }
.pc-article-categories a:hover,
.pc-article-categories a[aria-current] { color: var(--portal-accent, #f5a53b); background: #f5a53b12; }
.pc-article-categories a:focus-visible,
.pc-article-categories > summary:focus-visible { outline: 2px solid var(--portal-accent, #f5a53b); outline-offset: 3px; }
.pc-article-categories .pc-article-category-all { display: inline-flex; margin-bottom: 14px; color: var(--portal-accent, #f5a53b); font-weight: 650; }
.pc-article-category-tree,
.pc-article-category-tree ul { margin: 0; padding: 0; list-style: none; }
.pc-article-category-tree { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; }
.pc-article-category-branch { min-width: 0; }
.pc-article-category-branch > ul { margin: 5px 0 0 10px; padding-left: 8px; border-left: 1px solid var(--portal-border, #30343c); }
.pc-article-category-root { font-weight: 750; }
.pc-article-category-branch.is-ancestor > .pc-article-category-root { color: var(--portal-accent, #f5a53b); }
.pc-article-category-count { flex: none; min-width: 22px; padding: 1px 5px; border-radius: 5px; background: var(--portal-raised, #22262d); color: var(--portal-muted, #9298a3); font-size: 10px; text-align: center; font-variant-numeric: tabular-nums; }
.pc-article-secondary-categories { display: flex; flex-wrap: wrap; gap: 8px 12px; margin: 0 0 24px; color: var(--portal-muted, #9298a3); font-size: 12px; line-height: 1.5; }
.pc-article-secondary-categories a { color: var(--portal-accent, #f5a53b); }
.pc-category-overview { margin: 38px 0 0; overflow: hidden; border: 1px solid var(--portal-border, #30343c); border-radius: 16px; background: var(--portal-panel, #1b1e23); }
.pc-category-overview-image { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
.pc-category-overview-copy { padding: clamp(20px, 3vw, 32px); min-width: 0; }
.pc-category-overview h2 { margin: 0 0 16px; color: var(--portal-text, #f0f1f3); font-size: clamp(20px, 2.5vw, 26px); line-height: 1.3; overflow-wrap: anywhere; }
.pc-category-overview .prose { color: var(--portal-muted, #9298a3); font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.pc-category-overview .prose > :first-child { margin-top: 0; }
.pc-category-overview .prose > :last-child { margin-bottom: 0; }
.pc-secondary-category-chooser { min-width: 0; padding: 16px; border: 1px solid var(--portal-border, #30343c); border-radius: 12px; }
.pc-secondary-category-chooser legend { padding: 0 6px; font-size: 12px; font-weight: 750; }
.pc-secondary-category-chooser > div { display: grid; gap: 10px; max-height: 280px; margin-top: 14px; overflow-y: auto; }
@media (max-width: 520px) {
  .pc-article-categories > summary { padding: 14px 16px; }
  .pc-article-categories > nav { padding: 12px 12px 16px; }
  .pc-article-category-tree { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .pc-category-overview { margin-top: 28px; }
}
@media (prefers-reduced-motion: reduce) { .pc-article-categories > summary .icon { transition: none; } }
.prose code,
[data-content-visual] code {
    padding: .12em .35em;
    border-radius: 4px;
    background: rgba(0, 0, 0, .22);
    color: #f8c36b;
    font-family: Consolas, "Courier New", monospace;
    font-size: .92em;
    overflow-wrap: anywhere;
}

.prose pre,
[data-content-visual] pre {
    max-width: 100%;
    padding: 16px;
    overflow-x: auto;
    border: 1px solid var(--line, #343a42);
    border-radius: 10px;
    background: #15191e;
    color: #e5e9ef;
    white-space: pre;
    tab-size: 4;
}

.prose pre code,
[data-content-visual] pre code {
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font-size: inherit;
    overflow-wrap: normal;
}
