:root{--dc-toc-clearance:90px;--dc-toc-bottom:20px}
.dc-toc-button{position:fixed!important;left:auto;right:var(--dc-toc-right,14px);top:var(--dc-toc-top,90px);bottom:auto;z-index:998;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 17px;border:1px solid #ccdcec;border-radius:99px;background:#fff;color:#17436a;box-shadow:0 4px 20px #173d6426;font:700 14px/1.4 system-ui,sans-serif;cursor:pointer}
.dc-toc-button svg{width:18px;height:18px}
.dc-toc-dialog{box-sizing:border-box;width:min(460px,calc(100vw - 28px));max-height:min(700px,calc(100dvh - 40px));padding:0;border:1px solid #cbd8e5;border-radius:22px;color:#22364a;background:white;box-shadow:0 24px 100px #122c4655;overflow:hidden;font-family:system-ui,'Meiryo',sans-serif}
.dc-toc-dialog::backdrop{background:rgba(18,36,56,.45);backdrop-filter:blur(2px)}
.dc-toc-dialog[open]{display:flex;flex-direction:column}
.dc-toc-panel{display:flex;flex-direction:column;min-height:0;max-height:inherit;overflow:hidden}
.dc-toc-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px 16px;gap:12px;border-bottom:1px solid #e0e8ef;flex-shrink:0}
.dc-toc-head h2{margin:0!important;padding:0!important;border:0!important;font:700 20px/1.4 system-ui,sans-serif!important;color:#183751!important}
.dc-toc-head p{margin:4px 0 0;color:#63768a;font-size:12px}
.dc-toc-close{font:600 14px system-ui,sans-serif;border:1px solid #d5e0eb;border-radius:99px;background:#f4f8fc;color:#29465f;padding:10px 13px;min-height:44px;cursor:pointer;flex-shrink:0}
.dc-toc-list{overflow-y:auto;overscroll-behavior:contain;padding:10px 12px 18px;margin:0;list-style:none;scrollbar-gutter:stable}
.dc-toc-list li{margin:0!important;padding:0!important}
.dc-toc-list a{display:flex;gap:14px;align-items:baseline;padding:13px 12px;border-radius:10px;color:#29465f;text-decoration:none;font-size:14px;line-height:1.6;min-height:44px}
.dc-toc-list a span{color:#7b8da0;font-size:11px;font-variant-numeric:tabular-nums;min-width:20px}
.dc-toc-list a:hover,.dc-toc-list a[aria-current="location"]{background:#eaf3fc;color:#125494}
.dc-toc-dialog :focus-visible,.dc-toc-button:focus-visible{outline:3px solid #2580d5;outline-offset:2px}
.dc-toc-destination:focus{outline:2px solid #6ea2d7;outline-offset:6px}
body{padding-bottom:82px}
.dc-toc-compact .dc-toc-button{left:auto;right:max(14px,env(safe-area-inset-right));top:auto;bottom:calc(var(--dc-toc-bottom) + env(safe-area-inset-bottom))}
.dc-toc-compact .dc-toc-dialog,.dc-toc-compact .dc-toc-dialog[open]{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;overflow:hidden}
.dc-toc-compact .dc-toc-dialog[open]{display:block}
.dc-toc-compact .dc-toc-panel{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:calc(var(--dc-toc-bottom) + env(safe-area-inset-bottom) + 56px);width:min(460px,calc(100vw - 28px));max-height:calc(100dvh - var(--dc-toc-bottom) - env(safe-area-inset-bottom) - env(safe-area-inset-top) - 76px);border:1px solid #cbd8e5;border-radius:20px;background:white;box-shadow:0 18px 60px #122c4633}
.dc-toc-compact .dc-toc-head{padding:17px 18px 13px}.dc-toc-compact .dc-toc-close{display:none}.dc-toc-compact .dc-toc-list a{padding:12px 10px}
.dc-toc-compact .dc-toc-button[aria-expanded="true"]{background:#17436a;color:white;border-color:#17436a}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
