.post-detail{max-width:720px;padding-block:var(--space-4) var(--space-6)}.back-link{font-size:var(--text-sm);letter-spacing:.06em;margin-bottom:var(--space-3);transition:color var(--transition);display:inline-block}.back-link:hover{color:var(--fg)}.post-detail-head h1{font-size:var(--text-2xl);letter-spacing:.02em;line-height:1.35}.post-detail-meta{align-items:baseline;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.post-date{font-size:var(--text-sm);letter-spacing:.12em;color:var(--accent-2)}.post-updated{letter-spacing:.08em;color:var(--fg-faint);font-size:.8rem}.toc{margin-top:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--card-bg)}[data-theme=personal] .toc{border-color:color-mix(in srgb, var(--accent-2) 22%, var(--line))}.toc-summary{cursor:pointer;user-select:none;align-items:baseline;gap:.7em;padding:.75em 1em;list-style:none;display:flex}.toc-summary::-webkit-details-marker{display:none}.toc-kicker{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.18em;color:var(--accent-2)}.toc-count{font-family:var(--font-mono);letter-spacing:.08em;font-size:.72rem}.toc-summary:after{content:"▾";color:var(--fg-faint);transition:transform .25s var(--ease);margin-left:auto;font-size:.8em}.toc:not([open]) .toc-summary:after{transform:rotate(-90deg)}.toc-list{padding:0 1em .85em}.toc-item{break-inside:avoid}.toc-item a{font-size:var(--text-sm);color:var(--fg-muted);transition:color var(--transition);padding:.28em 0;line-height:1.6;display:block}.toc-item a:hover{color:var(--fg)}[data-theme=personal] .toc-item a:hover{color:var(--accent-2)}.toc-d3{padding-left:1.2em}.toc-d3 a{font-size:.82rem}@media (width>=561px){.toc-list{columns:2;column-gap:var(--space-3)}}@media (width<=560px){.toc-d3{display:none}}.post-detail-body{margin-top:var(--space-4)}.fold-btn{color:var(--fg-muted);background:var(--bg-soft);border:1px solid var(--line);cursor:pointer;vertical-align:middle;transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:999px;justify-content:center;align-items:center;gap:.3em;margin-left:.6em;padding:.1em .5em;font-size:.72em;display:inline-flex;position:relative}.fold-btn:hover{color:var(--accent);border-color:var(--accent)}.fold-btn:after{content:"";position:absolute;inset:-.6em -.4em}[data-theme=personal] .fold-btn:hover{color:var(--accent-2);border-color:var(--accent-2)}.fold-arrow{transition:transform .25s var(--ease);font-size:.85em;display:inline-block}.fold-btn.folded .fold-arrow{transform:rotate(-90deg)}.fold-wrap{transition:grid-template-rows .35s var(--ease);grid-template-rows:1fr;display:grid}.fold-wrap.folded{grid-template-rows:0fr}.fold-wrap .fold-inner{min-height:0;overflow:hidden}.post-nav{gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.post-nav-link{padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-m);color:inherit;transition:border-color var(--transition), color var(--transition), transform .2s var(--ease);flex-direction:column;gap:.25em;text-decoration:none;display:flex}.post-nav-link:hover{border-color:var(--line-strong);color:var(--fg);transform:translateY(-2px)}.post-nav-prev{text-align:left;align-items:flex-start}.post-nav-next{text-align:right;align-items:flex-end}.post-nav-dir{font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent-2);font-size:.75rem}.post-nav-title{font-size:var(--text-sm);color:var(--fg-muted);line-height:1.5}@media (width<=560px){.post-nav{grid-template-columns:1fr}.post-nav-next{text-align:left;align-items:flex-start}}.post-detail-body :where(h1,h2,h3,h4){font-family:var(--font-serif);letter-spacing:.02em;margin-top:1.6em;margin-bottom:.5em;line-height:1.4}.post-detail-body :where(h1){font-size:1.6rem}.post-detail-body :where(h2){border-bottom:1px solid var(--line);padding-bottom:.35em;font-size:1.35rem}.post-detail-body :where(h3){font-size:1.15rem}.post-detail-body :where(h4){font-size:1rem}.post-detail-body :where(h2,h3,h4){scroll-margin-top:var(--space-2)}.post-detail-body :where(p,ul,ol,blockquote){line-height:1.9;font-size:var(--text-md);margin-bottom:1em}.post-detail-body :where(ul,ol){padding-left:1.5em}.post-detail-body :where(ul){list-style:outside}.post-detail-body :where(ol){list-style:decimal}.post-detail-body :where(li){margin-bottom:.3em}.post-detail-body :where(a){color:var(--accent);text-underline-offset:3px;text-decoration:underline}.post-detail-body :where(blockquote){border-left:3px solid var(--accent-2);color:var(--fg-muted);padding-left:1em;font-style:normal}.post-detail-body :where(code){font-family:var(--font-mono);background:var(--bg-soft);border:1px solid var(--line);border-radius:4px;padding:.12em .4em;font-size:.88em}.post-detail-body :where(pre){background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-m);padding:var(--space-3);margin-bottom:1em;overflow-x:auto}.post-detail-body :where(pre code){background:0 0;border:none;padding:0}.post-detail-body :where(hr){border:none;border-top:1px solid var(--line);margin:1.8em 0}.post-detail-body :where(img){border-radius:var(--radius-m);border:1px solid var(--line);max-width:100%;height:auto}.post-detail-body :where(pre.mermaid) foreignObject span.nodeLabel,.post-detail-body :where(pre.mermaid) foreignObject p{letter-spacing:normal!important;white-space:nowrap!important;margin:0!important;padding:0!important;font-family:trebuchet ms,verdana,arial,sans-serif!important;font-size:16px!important;line-height:1.5!important;display:inline!important}.post-detail-body :where(pre.mermaid){background:0 0;border:none;padding:0;overflow:visible}.post-detail-body :where(pre.mermaid svg){border:1px solid var(--line);border-radius:var(--radius-m);background:#fff;max-width:100%;height:auto}.post-detail-body :where(audio,video){border-radius:var(--radius-m);border:1px solid var(--line);background:var(--bg-soft);width:100%;max-width:100%;margin:1em 0;display:block}.post-detail-body :where(video){background:#000}[data-theme=personal] .post-detail-body{color-scheme:dark}.post-detail-body :where(strong){font-weight:600}
