.single-post{padding-bottom:0}.reading-progress{z-index:9999;pointer-events:none;background:0 0;height:3px;position:fixed;top:0;left:0;right:0}.reading-progress__bar{background:var(--gradient-accent);width:0;height:100%;transition:width .1s linear}.post-hero{background:var(--color-bg);padding:2.5rem 0 2rem}.post-title{font-family:var(--font-heading);color:var(--color-dark);max-width:820px;margin:1rem 0 1.75rem;font-size:clamp(1.75rem,4vw,2.875rem);font-weight:800;line-height:1.2}.post-thumbnail{border-radius:var(--radius);aspect-ratio:16/9;margin-top:2rem;overflow:hidden}.post-thumbnail__img{object-fit:cover;width:100%;height:100%;display:block}.post-body-wrap{grid-template-columns:minmax(0,1fr) 284px;align-items:start;gap:3.5rem;padding-top:2.5rem;display:grid}.post-content-col{min-width:0}.post-sidebar{flex-direction:column;gap:1.25rem;display:flex;position:sticky;top:88px}.post-toc{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem 1.25rem 1.375rem}.post-toc__title{letter-spacing:.09em;text-transform:uppercase;color:var(--color-muted);border-bottom:1px solid var(--color-border);margin:0 0 .875rem;padding-bottom:.75rem;font-size:.6875rem;font-weight:700}.toc-item{line-height:1}.toc-item+.toc-item{margin-top:.5rem}.toc-link{color:var(--color-text);padding:.1rem 0;font-size:.875rem;line-height:1.45;text-decoration:none;transition:color .15s;display:block}.toc-link--h3{color:var(--color-muted);padding-left:.875rem;font-size:.8125rem}.toc-link:hover{color:var(--color-dark)}.toc-link.is-active{color:var(--color-accent);font-weight:600}.post-tags{border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:2.5rem;padding-top:2rem;display:flex}.post-tags__label{color:var(--color-muted);font-size:.875rem;font-weight:600}.post-tag{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:9999px;padding:.25rem .75rem;font-size:.8125rem;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-block}.post-tag:hover{background:var(--gradient-accent);color:var(--color-white);border-color:#0000}.share-buttons{border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:.625rem;margin-top:2rem;padding-top:2rem;display:flex}.share-buttons__label{color:var(--color-muted);margin-right:.25rem;font-size:.875rem;font-weight:600}.share-btn{cursor:pointer;border:1px solid var(--color-border);background:var(--color-white);width:38px;height:38px;color:var(--color-text);font-family:var(--font-body);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:background .15s,color .15s,border-color .15s,transform .15s;display:inline-flex}.share-btn:hover{background:var(--gradient-accent);color:var(--color-white);border-color:#0000;transform:translateY(-1px)}.share-btn--twitter,.share-btn--facebook,.share-btn--linkedin{background:var(--gradient-accent);color:var(--color-white);border-color:#0000}.share-btn--twitter:hover,.share-btn--facebook:hover,.share-btn--linkedin:hover{background:var(--gradient-accent-hover);transform:translateY(-1px)}.share-btn--copy .share-btn__icon-check,.share-btn--copy.copied .share-btn__icon-copy{display:none}.share-btn--copy.copied .share-btn__icon-check{display:block}.share-btn--copy.copied{background:var(--gradient-accent);color:var(--color-white);border-color:#0000}.post-nav{border-top:1px solid var(--color-border);gap:1.5rem;margin-top:3rem;padding-top:2.5rem;display:flex}.post-nav__prev,.post-nav__next{flex:1}.post-nav__next{text-align:right}.post-nav__link{flex-direction:column;gap:.375rem;max-width:100%;text-decoration:none;display:inline-flex}.post-nav__dir{letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted);font-size:.75rem;font-weight:700}.post-nav__label{color:var(--color-dark);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9375rem;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.post-nav__link:hover .post-nav__label{text-underline-offset:3px;text-decoration:underline}.author-bio{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);align-items:flex-start;gap:1.25rem;margin-top:3rem;padding:2rem;display:flex}.author-bio__image a{flex-shrink:0;width:72px;height:72px;display:block}.author-bio__image img{object-fit:cover;border-radius:50%;width:72px;height:72px;display:block}.author-bio__label{letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted);margin:0 0 .25rem;font-size:.75rem;font-weight:600}.author-bio__name{font-family:var(--font-heading);margin:0 0 .5rem;font-size:1.0625rem;font-weight:700}.author-bio__name a{color:var(--color-dark);text-decoration:none}.author-bio__name a:hover{color:var(--color-text)}.author-bio__description{color:var(--color-muted);margin:0 0 .875rem;font-size:.9rem;line-height:1.6}.author-bio__social{color:var(--color-muted);align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.author-bio__social:hover{color:var(--color-dark)}.related-posts{border-top:1px solid var(--color-border);margin-top:4rem;padding-top:3rem}.related-posts__title{font-family:var(--font-heading);color:var(--color-dark);margin:0 0 1.5rem;font-size:1.375rem;font-weight:700}.post-meta{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.875rem;display:flex}.post-meta__category{letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);background:var(--color-white);border:1px solid var(--color-accent);border-radius:4px;padding:.2rem .6rem;font-size:.75rem;font-weight:700;text-decoration:none}.post-meta__category:hover{background:var(--gradient-accent);color:var(--color-white);border-color:#0000}.post-meta__author a{color:var(--color-text);font-weight:600;text-decoration:none}.post-meta__author a:hover{color:var(--color-dark)}.post-meta__read-time{font-style:italic}.page-links{color:var(--color-muted);margin-top:2rem;font-size:.9rem}.page-links a{color:var(--color-dark);margin-left:.375rem}.back-to-top{background:var(--gradient-accent);width:44px;height:44px;color:var(--color-white);cursor:pointer;z-index:998;border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:none;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 16px #0003}.back-to-top:hover{opacity:.8;transform:translateY(-3px)}@media (max-width:1023px){.post-body-wrap{grid-template-columns:1fr}.post-sidebar{flex-flow:wrap;gap:1rem;position:static}.post-toc{flex:1;min-width:260px}}@media (max-width:639px){.post-toc{display:none}.post-nav{flex-direction:column;gap:1.25rem}.post-nav__next{text-align:left}.author-bio{flex-direction:column}.back-to-top{bottom:1.25rem;right:1.25rem}}
