/* ARTICLE TOC — site-wide shared component */
.article-toc{background:#f9f9f9;border:1px solid #e8e8e8;border-radius:16px;overflow:hidden;margin:35px 0;color:#252525}
.article-toc .toc-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:20px;border:0;background:transparent;cursor:pointer;font:600 18px/1.5 "Noto Sans TC",sans-serif;color:#252525;text-align:left}
.article-toc .toc-toggle{font-size:13px;font-weight:400;color:#b57e78}
.article-toc .toc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s ease}
.article-toc.is-open .toc-panel{grid-template-rows:1fr}
.article-toc .toc-inner{min-height:0;overflow:hidden}
.article-toc .toc-content{padding:0 18px 18px;opacity:0;transform:translateY(-10px);transition:opacity .35s ease,transform .45s ease}
.article-toc.is-open .toc-content{opacity:1;transform:translateY(0)}
.article-toc .toc-content a{display:block;padding:12px 16px;border:0;border-radius:10px;color:#555;text-decoration:none;transition:background-color .25s ease,color .25s ease}
.article-toc .toc-content a:hover{background:#e9e9e9;color:#252525}
.article-toc .toc-content a:focus-visible,.article-toc .toc-header:focus-visible{outline:2px solid #b57e78;outline-offset:-3px}
.detail-body h2[id^="section-"]{scroll-margin-top:110px}
@media(max-width:768px){.article-toc .toc-header{padding:18px;font-size:16px}.article-toc .toc-content{padding:0 12px 12px}}
@media(prefers-reduced-motion:reduce){.article-toc .toc-panel,.article-toc .toc-content,.article-toc .toc-content a{transition:none}}
