.article-layout { position: relative; }
.article-layout > * { min-width: 0; }
.article-toc { margin-bottom: 1.5rem; padding: 1rem 1.5rem; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 6px; font: 15px/1.6 var(--font-sans); }
.article-toc summary { cursor: pointer; font-weight: 700; padding: .5rem 0; }
.article-toc ol { list-style: none; padding: 0; margin: 1rem 0; }
.article-toc a { display: block; padding: .35rem 0; }
.article-toc .toc-h3 { padding-left: 1rem; }
.article-toc a[aria-current="location"] { font-weight: 700; text-decoration: underline; }
.blog-post :is(h2,h3,h4) { scroll-margin-top: 90px; }
.heading-permalink { margin-left: .5rem; font-size: .7em; opacity: .55; }
.heading-permalink:focus, .heading-permalink:hover { opacity: 1; }
.content-status { border-left: 3px solid var(--color-primary); padding: 1rem 1.5rem; margin-bottom: 2rem; background: var(--color-surface); font-size: .9em; }
.content-status p:last-child { margin-bottom: 0; }
.on-demand { margin: 2rem auto; max-width: 750px; padding: 1rem; text-align: center; }
.on-demand button { padding: .8rem 1.5rem; color: var(--color-text); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 5px; }
.copy-status { font-size: 13px; padding: .25rem .5rem; }
.search-result-snippet { font-size: 15px; color: var(--color-text-muted); margin: .3rem 0 1rem; }
.search-page form { display: flex; gap: .8rem; flex-wrap: wrap; }
.search-page input { flex: 1; min-width: 180px; padding: .8rem; color: var(--color-text); background: var(--color-bg); border: 1px solid var(--color-border); }
.search-page button { padding: .8rem 1.4rem; }
@media (min-width: 1200px) {
  .article-layout:has(.article-toc) { display: grid; grid-template-columns: 185px minmax(0, 1fr); gap: 25px; }
  .article-toc { position: sticky; top: 80px; align-self: start; max-height: calc(100vh - 100px); overflow-y: auto; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
