.page-toc{--toc-top:12px;--toc-ink:#202722;--toc-muted:#748078;--toc-line:#dce5e0;position:relative;padding-block:64px;color:var(--toc-ink)}
.page-toc [hidden]{display:none!important}.page-toc svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
.page-toc-slot{width:clamp(300px,calc(100vw - 420px),440px);max-width:100%;margin-inline:auto}
.page-toc-panel{position:relative;width:100%;font-family:Inter,'Noto Sans JP',sans-serif;letter-spacing:0;z-index:90}
.page-toc-trigger{display:flex;align-items:center;gap:10px;width:100%;height:42px;padding:0 12px;border:1px solid var(--toc-line);border-radius:10px;background:#fffffff7;backdrop-filter:blur(12px);color:var(--toc-ink);font:inherit;font-size:13px;text-align:left;box-shadow:0 3px 16px #163b2f0a}
.page-toc-trigger:disabled{opacity:1;cursor:default}.page-toc-trigger>[data-page-toc-current]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.page-toc-list-icon{width:18px;height:18px;color:var(--toc-muted)}.page-toc-chevron{width:12px;height:12px;color:var(--toc-muted);transition:transform .2s ease}.page-toc-trigger[aria-expanded=true]>.page-toc-chevron{transform:rotate(180deg)}
.page-toc-popup{position:relative;margin-top:8px;overflow:hidden;border:0;border-radius:14px;background:var(--floating-glass-sheen),var(--floating-glass-surface);box-shadow:var(--floating-glass-shadow);-webkit-backdrop-filter:var(--floating-glass-backdrop);backdrop-filter:var(--floating-glass-backdrop);transform-origin:top}
.page-toc-popup>nav{max-height:min(65vh,520px);overflow-y:auto;overscroll-behavior:contain;padding:6px;scrollbar-width:thin}
.page-toc-link{display:flex;align-items:center;min-height:58px;padding:10px 12px;border-radius:6px;color:var(--toc-ink);text-decoration:none!important}
.page-toc-link>span{display:flex;flex-direction:column;gap:4px}.page-toc-link strong{font-size:14px;line-height:22px;font-weight:500;color:inherit}.page-toc-link small{font-size:11px;line-height:17px;color:var(--toc-muted)}
.page-toc-link+.page-toc-link{margin-top:2px}.page-toc-link:hover{opacity:1;background:#f3f7f4}.page-toc-link.is-active{color:var(--accent,#147d68);background:var(--accent-soft,#edf6f2)}
.page-toc :is(a,button):focus-visible{outline:2px solid var(--accent,#147d68);outline-offset:3px}
.page-toc.is-docked .page-toc-panel{position:fixed;left:50%;top:var(--toc-top);width:clamp(300px,calc(100vw - 420px),440px);transform:translateX(-50%);transition:top .24s cubic-bezier(.22,1,.36,1)}
.page-toc.is-docked .page-toc-trigger{padding-inline:13px;border:0;border-radius:14px;background:var(--floating-glass-sheen),var(--floating-glass-surface);box-shadow:var(--floating-glass-shadow);-webkit-backdrop-filter:var(--floating-glass-backdrop);backdrop-filter:var(--floating-glass-backdrop)}
.page-toc.is-docked :is(.page-toc-list-icon,.page-toc-chevron){color:#44594f}
.page-toc.is-docked .page-toc-popup{position:absolute;inset-inline:0;top:100%;box-shadow:0 12px 36px #163b2f20}
.page-toc.is-header-covered .page-toc-panel{visibility:hidden;pointer-events:none}
@media(max-width:767px){.page-toc{--toc-top:5px;padding-block:40px}.page-toc-slot{width:100%;max-width:420px}.page-toc.is-docked .page-toc-panel{width:min(420px,calc(100vw - 32px))}.page-toc.is-docked .page-toc-trigger{width:calc(100% - 104px);margin-inline:auto;gap:8px;padding-inline:10px}.page-toc-trigger{height:44px;font-size:13px}.page-toc-link{min-height:58px;padding-inline:10px}}
@media(prefers-reduced-motion:reduce){.page-toc *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
