.post{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:3rem;margin:0 auto;display:grid}.post-main{min-width:0}.post-meta{background:var(--bg-secondary);border:1px solid var(--border-primary);-webkit-border-radius:8px;border-radius:8px;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding:1.25rem;display:flex}.post-title{color:var(--text-primary);margin-bottom:.25rem;font-size:1.25rem;font-weight:700;line-height:1.5}.post-meta__item{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.post-meta__label{color:var(--text-primary);flex-shrink:0;font-weight:600}.post-meta__tags,.post-meta__summary{align-items:flex-start}.post-tags{flex-wrap:wrap;gap:.375rem;display:flex}.post-tag{background:var(--color-orange-50);color:var(--color-orange-700);-webkit-border-radius:4px;border-radius:4px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;transition:background-color .2s,color .2s;display:inline-block}[data-theme=dark] .post-tag{color:var(--color-orange-400);background:rgba(249,115,22,.15)}.post-summary-text{color:var(--text-secondary);font-size:.8125rem;line-height:1.5}.post-toc{background:var(--bg-secondary);border:1px solid var(--border-primary);scrollbar-width:none;-ms-overflow-style:none;-webkit-border-radius:12px;border-radius:12px;align-self:start;max-height:calc(100vh - 120px);padding:1.25rem;position:sticky;top:80px;overflow-y:auto}.post-toc::-webkit-scrollbar{display:none}.post-toc__title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;user-select:none;justify-content:space-between;align-items:center;font-size:.875rem;font-weight:600;transition:color .2s;display:flex;position:relative}.post-toc__body{opacity:1;flex-direction:column;margin-top:.5rem;transition:opacity .2s,transform .2s;display:flex;transform:translateY(0)}.post-toc[data-collapsed=true] .post-toc__body{opacity:0;pointer-events:none;transform:translateY(-10px)}.post-toc a{color:var(--text-secondary);-webkit-border-radius:6px;border-radius:6px;padding:.375rem .75rem;font-size:.875rem;line-height:1.4;text-decoration:none;transition:background-color .2s,color .2s;display:block}.post-toc a:hover{background:var(--bg-tertiary);color:var(--text-primary)}.post-toc a.active{background:var(--color-orange-50);color:var(--color-orange-700);font-weight:500}[data-theme=dark] .post-toc a.active{color:var(--color-orange-400);background:rgba(249,115,22,.1)}.post-toc a[data-level="1"]{padding-left:.75rem;font-weight:600}.post-toc a[data-level="2"]{padding-left:1.25rem}.post-toc a[data-level="3"]{padding-left:1.75rem;font-size:.8125rem}.post-toc a[data-level="4"]{padding-left:2.25rem;font-size:.8125rem}.post-toc a[data-level="5"]{padding-left:2.75rem;font-size:.75rem}.post-content{line-height:1.8}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{color:var(--text-primary);margin:2rem 0 1rem;scroll-margin-top:80px;font-weight:600;line-height:1.3}.post-content h1{border-bottom:2px solid var(--color-orange-500);padding-bottom:.5rem;font-size:2.25rem}.post-content h2{border-bottom:1px solid var(--border-primary);padding-bottom:.5rem;font-size:1.875rem}.post-content h3{font-size:1.5rem}.post-content h4{font-size:1.25rem}.post-content p{margin:1rem 0}.post-content a{color:var(--color-orange-600);border-bottom:1px solid transparent;text-decoration:none;transition:border-color .2s}.post-content a:hover{border-bottom-color:var(--color-orange-600)}.post-content ul,.post-content ol{margin:1rem 0;padding-left:2rem}.post-content li{margin:.5rem 0}.post-content blockquote{border-left:4px solid var(--color-orange-500);background:var(--bg-secondary);-webkit-border-radius:4px;border-radius:4px;margin:1.5rem 0;padding:1rem 1.5rem}.post-content code{background:var(--bg-tertiary);word-wrap:break-word;-webkit-border-radius:4px;border-radius:4px;padding:.2em .4em;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.875em}.post-content pre{padding:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-primary);-webkit-overflow-scrolling:touch;-webkit-border-radius:12px;border-radius:12px;margin:1.5rem 0;padding-bottom:1.75rem;overflow-x:auto;overflow-y:hidden}.post-content pre code{word-wrap:normal;white-space:pre;background:0 0;padding:0;font-size:.875rem;line-height:1.6;display:block}.post-content .hljs{background:var(--bg-secondary);color:var(--text-primary);padding:1rem;-webkit-border-radius:12px;border-radius:12px;padding-bottom:1.75rem;overflow-x:auto}[data-theme=dark] .post-content .hljs{background:var(--bg-secondary)}.post-content img{-webkit-border-radius:8px;border-radius:8px;max-width:100%;height:auto;margin:1.5rem 0}.post-content table{border-collapse:collapse;width:100%;margin:1.5rem 0}.post-content th,.post-content td{border:1px solid var(--border-primary);text-align:left;padding:.75rem}.post-content th{background:var(--bg-secondary);font-weight:600}.post-content hr{border:none;border-top:1px solid var(--border-primary);margin:2rem 0}@media (max-width:1280px){.post{max-width:1100px}}@media (min-width:1025px){.post-toc{position:sticky;top:80px}.post-toc__title{pointer-events:none;cursor:default!important}.post-toc__title:after{display:none!important}.post-toc__body{opacity:1!important;pointer-events:auto!important;transform:translateY(0)!important}.post-toc[data-collapsed=true] .post-toc__body{opacity:1!important;pointer-events:auto!important;transform:translateY(0)!important}}@media (max-width:1024px){.post{grid-template-columns:1fr;gap:0}.post-main{order:2}.post-toc{order:1;width:100%;max-height:none;margin-bottom:1.75rem;position:relative;top:0}.post-toc[data-collapsed=true] .post-toc__body{display:none}.post-toc__title{cursor:pointer;user-select:none;justify-content:space-between;align-items:center;display:flex}.post-toc__title:after{content:"▼";margin-left:auto;font-size:.75rem;transition:transform .2s}.post-toc[data-collapsed=true] .post-toc__title:after{transform:rotate(-90deg)}.post-content{max-width:100%}.post-content pre{padding:1.25rem}.post-content blockquote{padding:.875rem 1.25rem}.post-content h1{font-size:2rem}.post-content h2{font-size:1.625rem}.post-content h3{font-size:1.375rem}.post-content h4{font-size:1.125rem}.post-content table{font-size:.9375rem}.post-content th,.post-content td{padding:.5rem}}