.page-with-toc{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:24px;
  align-items:start;
}
.page-toc-hero{
  grid-column:1 / -1;
  min-width:0;
}
.page-toc-main{
  grid-column:1;
  grid-row:2;
  min-width:0;
}
.page-toc-sidebar{
  position:sticky;
  top:92px;
  grid-column:2;
  grid-row:2;
  max-height:calc(100vh - 112px);
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(29,78,216,.35) transparent;
}
.page-toc-sidebar .toc{
  margin:0;
  padding:18px;
  background:#fff;
  border:1px solid rgba(29,78,216,.16);
  border-radius:18px;
  box-shadow:0 14px 34px rgba(15,23,42,.08);
}
.page-toc-sidebar .toc .label{
  margin-bottom:8px;
}
.page-toc-sidebar .toc h2{
  margin:0 0 12px;
  font-size:1.08rem;
  line-height:1.3;
}
.page-toc-sidebar .toc ul{
  display:grid;
  gap:2px;
  margin:0;
  padding:0;
  list-style:none;
}
.page-toc-sidebar .toc li{
  margin:0;
  padding:0;
}
.page-toc-sidebar .toc a{
  display:block;
  padding:8px 10px;
  border-left:3px solid transparent;
  border-radius:0 9px 9px 0;
  color:var(--muted,#475569);
  font-size:.86rem;
  font-weight:700;
  line-height:1.35;
  text-decoration:none;
  transition:color .18s ease, background-color .18s ease, border-color .18s ease;
}
.page-toc-sidebar .toc a:hover,
.page-toc-sidebar .toc a:focus-visible,
.page-toc-sidebar .toc a.is-active{
  color:var(--brand,#1d4ed8);
  background:var(--soft,#eff6ff);
  border-left-color:var(--brand,#1d4ed8);
  outline:none;
}
.page-with-toc [id]{
  scroll-margin-top:100px;
}
@media (max-width:1100px){
  .page-with-toc{
    grid-template-columns:minmax(0,1fr);
  }
  .page-toc-hero{
    grid-column:1;
    grid-row:auto;
    order:0;
  }
  .page-toc-main{
    grid-column:1;
    grid-row:auto;
    order:2;
  }
  .page-toc-sidebar{
    position:static;
    grid-column:1;
    grid-row:auto;
    order:1;
    max-height:420px;
    margin-bottom:24px;
  }
  .page-toc-sidebar .toc{
    box-shadow:0 10px 26px rgba(15,23,42,.06);
  }
  .page-toc-sidebar .toc ul{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px 12px;
  }
}
@media (max-width:640px){
  .page-toc-sidebar{
    max-height:360px;
  }
  .page-toc-sidebar .toc{
    padding:16px;
    border-radius:14px;
  }
  .page-toc-sidebar .toc ul{
    grid-template-columns:1fr;
  }
}
@media (prefers-reduced-motion:reduce){
  .page-toc-sidebar .toc a{transition:none}
}
