/* Article-only styles. No WordPress content or global sidebar settings are changed. */
.t9-article-layout {
    --t9-toc-top: 112px;
    width:100%; max-width:1000px; padding:64px 24px; margin:0 auto;
    box-sizing:border-box;
}
.t9-article-layout > .t9-article { width:100%; min-width:0; padding:0; margin:0; }
.t9-article-layout.has-toc {
    display:grid; grid-template-columns:270px minmax(0,1fr);
    max-width:1400px; gap:44px; align-items:start;
}
.t9-article-toc { position:sticky; top:var(--t9-toc-top); min-width:0; font-family:Arial,Helvetica,sans-serif; }
.t9-article-toc[hidden] { display:none; }
.t9-toc-card {
    margin:0; padding:0; border:1px solid #45412a;
    border-radius:15px; background:#0c0c0e; color:#b9bbc1;
    overflow:hidden;
}
.t9-toc-card > summary {
    padding:18px; margin:0; color:#fff; font-size:15px; line-height:1.4;
    font-weight:700; cursor:pointer;
}
.t9-toc-card > summary::marker { color:#ffd400; }
.t9-toc-card[open] > summary { border-bottom:1px solid #2c291d; }
.t9-toc-nav {
    padding:8px 18px 16px; overflow-y:auto; overscroll-behavior:contain;
    max-height:calc(100vh - var(--t9-toc-top) - 90px);
    max-height:calc(100dvh - var(--t9-toc-top) - 90px);
    scrollbar-width:thin; scrollbar-color:#76641a #151515;
}
.t9-toc-nav ol { list-style:none; margin:0; padding:0; }
.t9-toc-nav ol ol { margin:4px 0 0; padding-left:14px; border-left:1px solid #45412a; }
.t9-toc-nav li { margin:10px 0; color:#777b84; font-size:13px; line-height:1.5; }
.t9-toc-nav a { color:#b9bbc1; text-decoration:none; overflow-wrap:anywhere; }
.t9-toc-nav a:hover,.t9-toc-nav a.is-active,.t9-toc-nav a[aria-current="location"] { color:#ffd400; }
.t9-toc-nav a:focus-visible,.t9-toc-card > summary:focus-visible { outline:2px solid #ffd400; outline-offset:3px; }
.t9-article-body :is(h2,h3)[id] { scroll-margin-top:calc(var(--t9-toc-top) + 12px); }
@media(max-width:1100px) {
    .t9-article-layout.has-toc { grid-template-columns:minmax(0,1fr); max-width:1000px; gap:28px; }
    .t9-article-toc { position:static; }
    .t9-toc-nav { max-height:min(55vh,440px); }
}
@media(max-width:600px) {
    .t9-article-layout { padding-top:32px; }
    .t9-toc-card > summary { padding:16px; }
}
