/* Post details — minimal reading layout */
.pd-progress{position:fixed;top:0;inset-inline:0;height:2px;z-index:90;pointer-events:none}
.pd-progress i{display:block;height:100%;width:0;background:var(--accent,#e3b341);transition:width .08s linear}
.post-layout{--post-aside-left:200px;--post-aside-toc:220px;--post-main:42rem;--post-gap:2rem;--post-sticky-top:5.5rem;display:grid;grid-template-columns:var(--post-aside-left) minmax(0,var(--post-main)) var(--post-aside-toc);gap:var(--post-gap);max-width:calc(200px + 42rem + 220px + 4rem);margin:0 auto;padding:1.75rem 1.25rem 4rem;align-items:start;direction:ltr}
.post-layout.no-toc{grid-template-columns:var(--post-aside-left) minmax(0,var(--post-main));max-width:calc(200px + 42rem + 2rem)}
.post-layout>*{min-width:0}
html[dir=rtl] .post-layout>.post-main,html[dir=rtl] .post-layout>.post-aside-related,html[dir=rtl] .post-layout>.post-aside-toc{direction:rtl}
html[dir=ltr] .post-layout>.post-main,html[dir=ltr] .post-layout>.post-aside-related,html[dir=ltr] .post-layout>.post-aside-toc{direction:ltr}
.post-aside-related{grid-column:1;align-self:start}
.post-main{grid-column:2}
.post-aside-toc{grid-column:3;position:sticky;top:var(--post-sticky-top);align-self:start;max-height:calc(100vh - var(--post-sticky-top) - 1.25rem);width:100%;z-index:5}
.post-aside-sticky{position:sticky;top:var(--post-sticky-top);max-height:calc(100vh - var(--post-sticky-top) - 1.25rem);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;width:100%}
.post-aside-toc .post-aside-sticky{position:static;max-height:none;overflow:visible}
.post-aside-toc .post-toc-sidebar-wrap,.post-aside-toc .post-toc--sidebar{max-height:calc(100vh - var(--post-sticky-top) - 1.25rem);overflow:hidden;display:flex;flex-direction:column}
.post-aside-toc .post-toc--sidebar .toc-body{flex:1 1 auto;max-height:none!important;overflow-y:auto;scrollbar-width:thin;padding:.25rem .35rem .75rem;border-top:none}
.post-aside-toc .post-toc--sidebar .toc-toggle{pointer-events:none;cursor:default}
.post-aside-toc .post-toc--sidebar .toc-toggle-chevron,.post-aside-toc .post-toc--sidebar .toc-count{display:none}
.related-rail{border:1px solid var(--border-soft,#1e2430);border-radius:14px;background:color-mix(in srgb,var(--surface,#12161f) 94%,transparent);padding:.85rem .8rem .7rem}
.related-rail-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}
.related-rail-title{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted,#8b93a7);margin:0}
.related-rail-nav{display:flex;gap:.2rem}
.related-rail-btn{width:1.6rem;height:1.6rem;border-radius:7px;border:1px solid var(--border-soft,#1e2430);background:transparent;color:var(--text-muted,#8b93a7);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;padding:0}
.related-rail-btn:hover:not(:disabled){color:var(--accent,#e3b341)}
.related-rail-btn:disabled{opacity:.28;cursor:default}
.related-rail-viewport{overflow:hidden;border-radius:8px}
.related-rail-track{display:flex;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.related-rail-card{flex:0 0 100%;min-width:100%;box-sizing:border-box}
.related-rail-card-link{display:block;padding:.55rem .35rem;text-decoration:none;color:inherit;border-radius:8px}
.related-rail-card-link:hover{background:color-mix(in srgb,var(--accent,#e3b341) 6%,transparent)}
.related-rail-card-title{margin:0 0 .3rem;font-size:.86rem;font-weight:600;line-height:1.45;color:var(--text,#e6e9f0);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.related-rail-card-sum{margin:0;font-size:.75rem;line-height:1.5;color:var(--text-muted,#8b93a7);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.related-rail-dots{display:flex;justify-content:center;gap:.3rem;margin-top:.55rem}
.related-rail-dots span{width:.35rem;height:.35rem;border-radius:50%;background:var(--border-soft,#1e2430)}
.related-rail-dots span.is-on{background:var(--accent,#e3b341);transform:scale(1.15)}
.post-article{padding:0}
.pd-cover{margin:0 0 1.5rem;border-radius:16px;overflow:hidden;border:1px solid var(--border-soft,#1e2430);background:var(--surface,#12161f);aspect-ratio:16/9;max-height:22rem}
.pd-cover-img{width:100%;height:100%;object-fit:cover;display:block}
.pd-header{margin-bottom:1.25rem}
.post-title{font-size:clamp(1.55rem,2.4vw,2.05rem);font-weight:700;line-height:1.35;letter-spacing:-.02em;margin:0 0 1.1rem;color:var(--text,#e6e9f0)}
.post-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.85rem}
.pd-chip{display:inline-flex;align-items:center;padding:.22rem .65rem;border-radius:999px;font-size:.72rem;font-weight:600;border:1px solid var(--border-soft,#1e2430);color:var(--text-muted,#8b93a7);text-decoration:none}
a.pd-chip:hover,.pd-chip.is-accent{color:var(--accent,#e3b341);border-color:color-mix(in srgb,var(--accent,#e3b341) 40%,var(--border-soft))}
.pd-chip.is-premium{color:#c9a0ff}.pd-chip.is-sponsored{color:#6fb3d2}
.pd-author{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit;max-width:max-content}
.pd-author:hover .pd-author-name{color:var(--accent,#e3b341)}
.pd-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid var(--border-soft,#1e2430);flex-shrink:0;background:var(--surface-2,#171c27)}
.pd-avatar-lg{width:56px;height:56px}
.pd-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--accent,#e3b341);background:color-mix(in srgb,var(--accent,#e3b341) 12%,var(--surface,#12161f))}
.pd-author-text{display:flex;flex-direction:column;gap:.15rem}
.pd-author-name{font-size:.92rem;font-weight:600;color:var(--text,#e6e9f0)}
.pd-author-meta,.pd-author-meta-solo{font-size:.78rem;color:var(--text-muted,#8b93a7);display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}
.post-meta-sep{opacity:.45}
.pd-social-top{margin:1.25rem 0 1.35rem}
.post-lead{font-size:1.05rem;line-height:1.75;color:var(--text-muted,#8b93a7);margin:0 0 1.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border-soft,#1e2430)}
.post-body.markdown-body{font-size:1.05rem;line-height:1.85;color:var(--text,#e6e9f0)}
.pd-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:2rem 0 0;padding-top:1.25rem;border-top:1px solid var(--border-soft,#1e2430)}
.pd-tag{font-size:.78rem;font-weight:550;color:var(--text-muted,#8b93a7);text-decoration:none;padding:.28rem .7rem;border-radius:999px;border:1px solid var(--border-soft,#1e2430)}
.pd-tag:hover{color:var(--accent,#e3b341);border-color:color-mix(in srgb,var(--accent,#e3b341) 40%,var(--border-soft))}
.post-actions-footer{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--border-soft,#1e2430)}
.pd-author-card{margin:2rem 0 0;padding:1.15rem 1.2rem;border-radius:14px;border:1px solid var(--border-soft,#1e2430);background:color-mix(in srgb,var(--surface,#12161f) 92%,transparent)}
.pd-author-card-link{display:flex;align-items:flex-start;gap:.9rem;text-decoration:none;color:inherit}
.pd-author-card-link:hover .pd-author-card-name{color:var(--accent,#e3b341)}
.pd-author-card-body{display:flex;flex-direction:column;gap:.2rem}
.pd-author-card-label{font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted,#8b93a7)}
.pd-author-card-name{font-size:1rem;font-weight:650;color:var(--text,#e6e9f0)}
.pd-author-card-bio{font-size:.84rem;line-height:1.55;color:var(--text-muted,#8b93a7);margin-top:.25rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-flash{font-size:.84rem;color:var(--text-muted,#8b93a7);padding:.55rem .85rem;border-radius:10px;border:1px solid var(--border-soft,#1e2430);background:var(--surface,#12161f);margin-bottom:1rem}
.post-flash.is-ok{color:#3dd68c;border-color:color-mix(in srgb,#3dd68c 35%,var(--border-soft));background:color-mix(in srgb,#3dd68c 8%,transparent)}
.post-edit-bar{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:1.25rem;padding:.55rem .7rem;border-radius:10px;border:1px dashed var(--border-soft,#1e2430)}
.post-edit-link{appearance:none;font:inherit;font-size:.78rem;font-weight:550;padding:.28rem .65rem;border-radius:7px;border:1px solid var(--border-soft,#1e2430);background:transparent;color:var(--text-muted,#8b93a7);text-decoration:none;cursor:pointer}
.post-edit-link:hover{color:var(--text,#e6e9f0)}.post-edit-link.is-danger:hover{color:#ff6b6b}
.post-edit-delete{display:inline-flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.post-edit-reason{max-width:12rem;font-size:.78rem;padding:.28rem .55rem;border-radius:7px;border:1px solid var(--border-soft,#1e2430);background:var(--surface,#12161f);color:var(--text,#e6e9f0)}
.post-premium-lock{text-align:center;padding:2.5rem 1.25rem;border-radius:14px;border:1px solid var(--border-soft,#1e2430);background:var(--surface,#12161f);color:var(--text-muted,#8b93a7)}
.post-toc-mobile{display:none;margin-bottom:1.5rem}
.md-heading{scroll-margin-top:6rem}
.post-article .ps-bar{background:transparent;border-color:var(--border-soft,#1e2430);padding:.55rem 0;border-radius:0;border-left:none;border-right:none;border-top:none}
@media (max-width:1100px){
.post-layout,.post-layout.no-toc{grid-template-columns:minmax(0,1fr);max-width:42rem}
.post-aside-related,.post-aside-toc,.post-main{grid-column:1}
.post-aside-sticky{position:static;max-height:none;overflow:visible}
.post-aside-toc{display:none;position:static;max-height:none}
.post-toc-mobile{display:block}
.post-aside-related{order:3;margin-top:2rem}
.post-main{order:1}
}
@media (max-width:640px){.post-layout{padding:1rem .85rem 3rem}.post-title{font-size:1.4rem}}
html[data-theme=light] .related-rail,html[data-theme=light] .pd-author-card{background:color-mix(in srgb,var(--surface,#fff) 96%,transparent);border-color:var(--border-soft,#e4e7ee)}

/* Markdown tables — minimal */
.post-body .md-table-wrap,.markdown-body .md-table-wrap,.readme-content .md-table-wrap{margin:1.6em 0;border-radius:12px;border:1px solid var(--border-soft,#1e2430);background:color-mix(in srgb,var(--surface,#12161f) 92%,transparent);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.post-body table.md-table,.post-body table,.markdown-body table.md-table,.markdown-body table,.readme-content table.md-table,.readme-content table{width:100%;min-width:16rem;border-collapse:separate;border-spacing:0;margin:0;font-size:.9rem;line-height:1.5;color:var(--text,#e6e9f0)}
.post-body table.md-table th,.post-body table.md-table td,.post-body table th,.post-body table td,.markdown-body table th,.markdown-body table td,.readme-content table th,.readme-content table td{padding:.7rem 1rem;vertical-align:top;border:none;border-bottom:1px solid var(--border-soft,#1e2430);text-align:start}
.post-body table.md-table thead th,.post-body table thead th,.markdown-body table thead th,.readme-content table thead th{font-size:.72rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted,#8b93a7);background:color-mix(in srgb,var(--surface-2,#171c27) 88%,transparent);white-space:nowrap}
.post-body table.md-table tbody tr:nth-child(even) td,.markdown-body table tbody tr:nth-child(even) td,.readme-content table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--surface-2,#171c27) 35%,transparent)}
.post-body table.md-table tbody tr:hover td,.markdown-body table tbody tr:hover td,.readme-content table tbody tr:hover td{background:color-mix(in srgb,var(--accent,#e3b341) 7%,transparent)}
.post-body table.md-table tbody tr:last-child td,.markdown-body table tbody tr:last-child td,.readme-content table tbody tr:last-child td{border-bottom:none}
.post-body table th[dir=ltr],.post-body table td[dir=ltr],.markdown-body table th[dir=ltr],.markdown-body table td[dir=ltr],.readme-content table th[dir=ltr],.readme-content table td[dir=ltr]{direction:ltr;text-align:left;font-variant-numeric:tabular-nums}
.post-body table th[dir=rtl],.post-body table td[dir=rtl],.markdown-body table th[dir=rtl],.markdown-body table td[dir=rtl],.readme-content table th[dir=rtl],.readme-content table td[dir=rtl]{direction:rtl;text-align:right}
html[data-theme=light] .post-body .md-table-wrap,html[data-theme=light] .markdown-body .md-table-wrap,html[data-theme=light] .readme-content .md-table-wrap{background:color-mix(in srgb,var(--surface,#fff) 96%,transparent);border-color:var(--border-soft,#e4e7ee)}
@media (max-width:640px){.post-body table.md-table th,.post-body table.md-table td,.markdown-body table th,.markdown-body table td,.readme-content table th,.readme-content table td{padding:.55rem .7rem;font-size:.84rem}}
