.article-outline { position: fixed; left: var(--outline-left, 32%); top: 126px; z-index: 15; max-width: min(220px,calc(100vw - 48px)); color: var(--text); font: 13px/1.7 var(--sans); }
.article-outline summary { display: flex; align-items: center; gap: 6px; width: max-content; padding: 7px 10px; border: 1px solid var(--line); border-radius: 4px; color: var(--muted); background: var(--content-bg); cursor: pointer; list-style: none; }
.article-outline summary::-webkit-details-marker { display: none; }
.article-outline summary .icon { width: 17px; height: 17px; }
.article-outline[open] summary { color: var(--link); }
.article-outline nav { width: 220px; max-width: 100%; max-height: min(65vh,calc(100dvh - 200px)); overflow: auto; padding: 10px; margin-top: 6px; border: 1px solid var(--line); border-radius: 4px; background: var(--content-bg); box-shadow: 0 6px 20px #0001; overscroll-behavior: contain; }
.article-outline ol { list-style: none; padding: 0; margin: 0; }
.article-outline li { padding-left: calc(var(--outline-depth,0) * 12px); }
.article-outline a { display: block; padding: 5px 4px; color: var(--muted); overflow-wrap: anywhere; text-decoration: none; }
.article-outline a[aria-current] { color: var(--link); font-weight: 600; }
.article-outline a:hover { color: var(--heading); }
.vt-outline-heading, #vt-article-top, #comments, #comment-form { scroll-margin-top: 28px; }
#vt-page-end { display: block; height: 1px; }
.article-shortcuts { position: fixed; right: max(12px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom)); z-index: 14; display: flex; flex-direction: column; gap: 8px; }
.article-shortcut { display: block; width: 40px; height: 40px; filter: drop-shadow(0 2px 4px #0a254525); transition: transform .15s ease; }
.article-shortcut svg { display: block; width: 100%; height: 100%; }
.article-shortcut:hover { transform: translateY(-2px); }
.shortcut-top { color: #69aed4; }.shortcut-bottom { color: #7b9acb; }.shortcut-comments { color: #63b5ae; }
.article-shortcut:focus-visible { outline: 2px solid var(--link); outline-offset: 3px; }
.comments-pagination-top { margin: 12px 0 24px; }
@media(max-width:760px) {
  .article-outline { position: relative; left: auto; top: auto; width: 100%; max-width: 100%; margin: -10px 0 22px; }
  .article-outline nav { width: 100%; max-height: 45vh; }
  .article-shortcuts { gap: 6px; right: 8px; bottom: max(16px,env(safe-area-inset-bottom)); }
  .article-shortcut { width: 34px; height: 34px; }
}
@media(prefers-reduced-motion:reduce) { .article-shortcut { transition: none; } }
@media print { .article-outline,.article-shortcuts { display: none !important; } }
