.single-post .article-header{padding-bottom:36px}
.single-post .article-image{width:calc(100% - 2 * var(--gutter));max-width:860px;height:clamp(180px,22vw,280px);margin:0 auto;border-radius:24px;overflow:hidden}
.single-post .article-image img{width:100%;height:100%;object-fit:cover}
.single-post .article-image figcaption{font-size:10px;line-height:1.5;padding:7px 12px}
.single-post .kf-article-layout{--kf-header-offset:120px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(30px,4vw,64px);align-items:start;max-width:1320px;margin:0 auto;padding-top:48px}
.single-post .kf-article-layout>.kf-article-body{min-width:0;max-width:none;padding:0;margin:0}
.single-post .kf-article-toc{position:sticky;top:var(--kf-header-offset);min-width:0;align-self:start}
.single-post .kf-article-toc-panel{border:1px solid var(--line);border-radius:12px;background:var(--cream);overflow:hidden}
.single-post .kf-article-toc summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;white-space:normal;list-style:none}
.single-post .kf-article-toc summary h2{font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:0;line-height:1.5;margin:0}
.single-post .kf-article-toc summary::after{content:'';display:block;flex:0 0 6px;width:6px;height:6px;margin:0;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.single-post .kf-article-toc-panel[open]>summary::after{transform:rotate(225deg)}
.single-post .kf-article-toc summary::marker{content:''}
.single-post .kf-article-toc summary::-webkit-details-marker{display:none}
.single-post .kf-article-toc nav{max-height:calc(100vh - var(--kf-header-offset) - 100px);max-height:calc(100dvh - var(--kf-header-offset) - 100px);overflow:auto;padding:0 18px 18px;overscroll-behavior:contain}
.single-post .kf-article-toc ul{list-style:none;margin:0;padding:0}
.single-post .kf-article-toc li{margin:0;border-top:1px solid var(--line)}
.single-post .kf-article-toc a{display:block;font-size:12px;line-height:1.6;padding:10px 0;overflow-wrap:anywhere;text-decoration:none}
.single-post .kf-article-toc a:hover{text-decoration:underline}
.single-post .kf-article-body [id]{scroll-margin-top:calc(var(--kf-header-offset) + 16px)}
@media(max-width:1000px){.single-post .kf-article-layout{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:32px}.single-post .kf-article-toc{position:static}.single-post .kf-article-toc nav{max-height:50vh;max-height:50dvh}.single-post .article-image{height:220px}}
@media(max-width:600px){.single-post .article-header{padding-bottom:28px}.single-post .article-image{height:180px;border-radius:18px}.single-post .kf-article-layout{gap:26px;padding-top:28px}.single-post .kf-article-toc summary{padding:15px 18px}}
