.post-meta{display:flex;gap:.75rem;align-items:center;font-family:var(--font-mono);font-size:13px;color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.04em}.post-h1,.post-title{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;color:var(--color-text);text-wrap:balance}.post-h1{font-size:clamp(2.25rem,4vw + 1rem,3rem);line-height:1.08}.post-title{font-weight:600;letter-spacing:-.02em;line-height:1.2}.toc-fab{position:fixed;bottom:1.5rem;right:1.5rem;z-index:55;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.toc-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .95rem;border-radius:9999px;font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;color:var(--color-text);border:1px solid var(--color-border-strong);background:color-mix(in oklab,var(--color-bg) 62%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);cursor:pointer;transition:border-color .2s ease,transform .1s ease}.toc-btn:hover{border-color:var(--color-text)}.toc-btn:active{transform:scale(.97)}.toc-fab.is-open .toc-btn{border-color:var(--color-accent)}.toc-panel{width:min(19rem,calc(100vw - 3rem));max-height:min(60vh,30rem);overflow-y:auto;padding:1.1rem 1.2rem;border-radius:1rem;border:1px solid var(--color-border);background:color-mix(in oklab,var(--color-bg) 78%,transparent);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);box-shadow:0 24px 60px #00000080;animation:tocIn .22s cubic-bezier(.22,1,.36,1)}@keyframes tocIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toc-panel__label{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint);margin:0 0 .85rem}.toc-panel ul{list-style:none;margin:0;padding:0}.toc-panel li{margin:0}.toc-panel a{display:block;padding:.35rem .6rem;border-radius:.5rem;font-size:13.5px;line-height:1.4;color:var(--color-text-muted);transition:color .18s ease,background .18s ease}.toc-panel a:hover{color:var(--color-text);background:var(--color-surface)}.toc-panel a.is-active{color:var(--color-accent)}@media(prefers-reduced-motion:reduce){.toc-panel{animation:none}}.prose-post{font-family:var(--font-serif)}.prose-post h2{font-family:var(--font-display);font-size:1.75rem;font-weight:600;letter-spacing:-.02em;line-height:1.25;margin-top:3rem;margin-bottom:1.1rem;scroll-margin-top:6rem}.prose-post h3{font-family:var(--font-display);font-size:1.3rem;font-weight:600;letter-spacing:-.015em;margin-top:2.25rem;margin-bottom:.75rem;scroll-margin-top:6rem}.prose-post p{font-size:1.1875rem;line-height:1.72;color:#d1d1d6;margin-bottom:1.6rem;text-wrap:pretty}.prose-post ul,.prose-post ol{padding-left:1.25rem;color:#d1d1d6;margin-bottom:1.6rem;font-size:1.1875rem;line-height:1.6}.prose-post ul{list-style:disc}.prose-post ol{list-style:decimal}.prose-post li{margin-bottom:.6rem}.prose-post a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}.prose-post strong{color:var(--color-text);font-weight:600}.prose-post blockquote{border-left:2px solid var(--color-accent);padding-left:1.4rem;color:#e8e8ea;margin:2.25rem 0;font-style:italic;font-size:1.35rem;line-height:1.5}.prose-post code{font-family:var(--font-mono);background:var(--color-surface);padding:.15rem .4rem;border-radius:.25rem;font-size:.85em;border:1px solid var(--color-border)}.prose-post pre{background:var(--color-surface);padding:1.25rem 1.4rem;border-radius:.875rem;overflow-x:auto;border:1px solid var(--color-border);margin:2rem 0}.prose-post pre code{font-family:var(--font-mono);font-size:.9rem;line-height:1.7;background:transparent;padding:0;border:0}.prose-post picture{display:block}.prose-post img{width:100%;height:auto;border-radius:.875rem;border:1px solid var(--color-border);margin:2rem 0}.prose-post table{width:100%;border-collapse:collapse;margin:2rem 0;font-family:var(--font-sans);font-size:.95rem;display:block;overflow-x:auto}.prose-post thead{border-bottom:1px solid var(--color-border-strong)}.prose-post th{text-align:left;font-weight:600;padding:.65rem .9rem;white-space:nowrap}.prose-post td{padding:.65rem .9rem;color:var(--color-text-muted);border-top:1px solid var(--color-border);vertical-align:top}.prose-post tbody tr:hover{background:var(--color-surface)}
