article.single{max-width:900px;margin:0 auto;padding:0 var(--space-s)}article.single>header{margin-bottom:var(--space-m)}.draft-badge{display:inline-block;background:var(--color-accent);color:var(--color-paper);font-family:var(--font-mono);font-size:var(--step--1);font-weight:700;letter-spacing:.1em;padding:.15em .6em;margin:0 0 var(--space-2xs)}article.single .article-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-s);margin-bottom:var(--space-2xs);flex-wrap:wrap}article.single h1{font-size:var(--step-5);margin:0 0 var(--space-2xs)}article.single .subtitle{font-size:var(--step-1);color:var(--color-ink-faded);margin:0 0 var(--space-xs);font-style:italic}article.single .tags{display:flex;flex-wrap:wrap;gap:var(--space-3xs);list-style:none;padding:0;margin:0 0 var(--space-s)}article.single .tags a{font-size:var(--step--2);color:var(--color-ink);text-decoration:none;padding:.1em .5em;border:1px solid var(--color-ink);transition:all .15s ease}article.single .tags a:hover{background:var(--color-ink);color:var(--color-paper)}article.single .article-body{display:grid;grid-template-columns:1fr 200px;gap:var(--space-m);align-items:start}article.single .prose{min-width:0}article.single .prose>*:first-child{margin-top:0}article.single .toc{position:sticky;top:calc(60px + var(--space-m));border-left:2px solid var(--color-ink);padding-left:var(--space-s);font-size:var(--step--2);max-height:calc(100vh - 120px);overflow-y:auto}article.single .toc h3{font-family:var(--font-display);font-size:var(--step--1);margin:0 0 var(--space-2xs);color:var(--color-ink)}article.single .toc nav ul{list-style:none;padding:0;margin:0}article.single .toc nav ul ul{padding-left:var(--space-xs)}article.single .toc nav a{display:block;padding:var(--space-3xs)0;color:var(--color-ink-faded);text-decoration:none;font-size:var(--step--2);line-height:1.4}article.single .toc nav a:hover{color:var(--color-accent)}#TableOfContents ul{list-style:none;padding:0;margin:0}#TableOfContents ul ul{padding-left:var(--space-xs)}#TableOfContents a{display:block;padding:var(--space-3xs)0;color:var(--color-ink-faded);text-decoration:none;font-size:var(--step--2);line-height:1.4}#TableOfContents a:hover{color:var(--color-accent)}article.single.section-fragments .article-body{grid-template-columns:1fr}@media(max-width:900px){article.single .article-body{grid-template-columns:1fr}article.single .toc{position:static;border-left:none;border:2px solid var(--color-ink);border-radius:0;padding:var(--space-s);margin-bottom:var(--space-m);max-height:none;order:-1}article.single .toc-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer}article.single .toc-toggle::after{content:'\25BC';font-size:.8em;transition:transform .2s ease}article.single .toc.collapsed .toc-toggle::after{transform:rotate(-90deg)}article.single .toc.collapsed nav{display:none}}.forward-back{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-m);margin-top:var(--space-xl);padding-top:var(--space-m);border-top:2px solid var(--color-ink)}.forward-back .nav-post{text-decoration:none;color:inherit}.forward-back .nav-post:hover{text-decoration:none}.forward-back .nav-label{font-size:var(--step--2);color:var(--color-ink-faded);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3xs)}.forward-back .nav-title{font-family:var(--font-display);font-size:var(--step--1);color:var(--color-ink)}.forward-back .nav-post:hover .nav-title{color:var(--color-accent)}.forward-back .nav-next{text-align:right}@media(max-width:550px){.forward-back{grid-template-columns:1fr}}