main.article-page-main{overflow:clip}.article-reading-layout{--toc-header:0px;display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:900px;align-items:start}.article-reading-layout.has-toc{max-width:none;grid-template-columns:minmax(0,1fr) minmax(240px,28%);gap:clamp(2rem,4vw,4rem)}.article-reading-layout #article{min-width:0;width:100%;margin:0;overflow-wrap:anywhere}.article-reading-layout #article :is(h2,h3){scroll-margin-top:calc(var(--toc-header) + 20px)}.article-toc-desktop{position:-webkit-sticky;position:sticky;top:calc(var(--toc-header) + 20px);min-width:0}.article-toc-card{display:flex;flex-direction:column;max-height:calc(100dvh - var(--toc-header) - 40px);background:#fff;border:1px solid #ededed;border-radius:1rem;overflow:hidden}.article-toc-title{display:flex;align-items:center;gap:.75rem;padding:1.25rem;color:#222;font-size:1rem;font-weight:700;border-bottom:1px solid #ededed;margin:0}.article-toc-list{scroll-behavior:auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.75rem;scrollbar-width:thin;scrollbar-color:#CBCBCB transparent}.article-toc-list ol{list-style:none;margin:0;padding:0}.article-toc-list ol ol{-webkit-padding-start:1rem;padding-inline-start:1rem}.article-toc-list li{margin:0;padding:0}.article-toc-list a{display:block;min-height:44px;padding:.65rem .75rem;-webkit-border-start:3px solid transparent;border-inline-start:3px solid transparent;border-radius:.5rem;font-size:.9375rem;line-height:1.9;color:#666666;overflow-wrap:anywhere;text-decoration:none}.article-toc-list a:hover{background:#F9F9F9;color:#222222}.article-toc-list a[aria-current]{border-inline-start-color:#4D004D;background:#F7F0F7;color:#4D004D;font-weight:700}.article-toc-list a:focus-visible,.article-toc-sheet button:focus-visible,.article-toc-trigger:focus-visible{outline:2px solid #800080;outline-offset:-3px}.article-toc-trigger{display:none}.article-toc-icon{width:22px;height:22px;flex:0 0 auto}.article-toc-title .article-toc-icon{color:#4D004D}.article-toc-list>ol>li+li{margin-top:.25rem}.article-toc-list ol ol a{font-size:.875rem}.article-toc-trigger:focus-visible{outline-color:#fff;outline-offset:-5px}.article-toc-sheet{color:#222;background:#fff;border:1px solid #ddd;border-radius:18px 18px 0 0;padding:0;margin:auto auto 0;width:100%;max-width:600px;height:min(72dvh,640px);max-height:calc(100dvh - 24px);overflow:hidden}.article-toc-sheet[open]{display:flex;flex-direction:column}.article-toc-sheet::-webkit-backdrop{background:#0008}.article-toc-sheet::backdrop{background:#0008}.article-toc-sheet-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #e5e5e5}.article-toc-sheet-header h2{font-size:1rem;margin:0}.article-toc-sheet-header button{width:44px;height:44px;font-size:1.75rem;border:0;background:#f4f4f4;border-radius:50%;cursor:pointer}.article-toc-sheet .article-toc-list{flex:1 1;padding-bottom:max(1rem,env(safe-area-inset-bottom))}@media (max-width:768px){.article-toc-trigger:hover{background:#660066;box-shadow:0 8px 24px #4D004D33}.article-reading-layout.has-toc{display:block}.article-toc-desktop{display:none}.article-toc-trigger:not([hidden]){display:flex;align-items:center;justify-content:center;position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));z-index:2147483000;width:62px;height:62px;padding:0;border:1px solid #e7dce7;border-radius:20px;background:#fff;color:#4D004D;box-shadow:0 8px 24px #4D004D1f;cursor:pointer;transition:background .2s,box-shadow .2s}.article-toc-trigger .article-toc-icon{width:26px;height:26px}.article-toc-trigger:hover{background:#F7F0F7}.article-toc-trigger:focus-visible{outline-color:#800080}}@media (prefers-reduced-motion:reduce){.article-toc-trigger{transition:none}}.article-toc-sheet[open]::-webkit-backdrop{animation:toc-backdrop-in .36s cubic-bezier(.4,0,.2,1) both}.article-toc-sheet[open]::backdrop{animation:toc-backdrop-in .36s cubic-bezier(.4,0,.2,1) both}.article-toc-sheet[data-motion=closing]::-webkit-backdrop{animation:toc-backdrop-out .28s cubic-bezier(.4,0,.2,1) both}.article-toc-sheet[data-motion=closing]::backdrop{animation:toc-backdrop-out .28s cubic-bezier(.4,0,.2,1) both}@keyframes toc-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes toc-backdrop-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.article-toc-sheet::-webkit-backdrop{animation:none!important}.article-toc-sheet::backdrop{animation:none!important}}