body .reading-progress-container, body.dark-theme .reading-progress-container {
  display: block; padding: 0; background: transparent; box-shadow: none;
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
.reading-progress-trigger {
  display: flex; align-items: center; gap: 12px; padding: 8px 16px;
  border: 0; border-radius: 9999px; cursor: pointer; font: inherit;
  background: var(--prose-bg-write); color: var(--prose-fg-main); box-shadow: var(--prose-shadow);
}
.article-toc { position: absolute; top: 100%; right: 0; padding-top: 8px; width: min(260px, calc(100vw - 32px)); font-size: 11px; line-height: 1.6; }
.article-toc[hidden] { display: none; }
.article-toc nav {
  max-height: min(65vh, calc(100dvh - 180px)); overflow-y: auto; overscroll-behavior: contain; padding: 12px;
  background: var(--prose-bg-write); color: var(--prose-fg-main); border-radius: 16px; box-shadow: var(--prose-shadow);
  scrollbar-width: thin; scrollbar-color: var(--prose-accent-soft) transparent;
}
.article-toc ol { list-style: none; margin: 0; padding: 0; }
.article-toc li { margin: 2px 0; padding: 0; }
body .article-toc a {
  display: block; padding: 6px 10px 6px calc(10px + var(--toc-level) * 12px);
  border-left: 2px solid transparent; border-radius: 6px; overflow-wrap: anywhere; color: var(--prose-fg-muted);
}
body .article-toc a:hover, body .article-toc a[aria-current] {
  background: var(--prose-bg-soft); color: var(--prose-accent-deep); border-left-color: var(--prose-accent); font-weight: 600;
}
.article-toc a:focus-visible, .reading-progress-trigger:focus-visible { outline: 2px solid var(--prose-accent); outline-offset: -2px; }
.mod-post__entry :is(h1,h2,h3,h4,h5,h6) { scroll-margin-top: 90px; }
@media (max-width: 768px) {
  body .reading-progress-container { display: block !important; top: 16px; right: 16px; }
}
@media print { body .reading-progress-container { display: none !important; } }

