/* Nashra — singular views (posts, pages): article header, reading typography, TOC, share, related. */

.post-head{max-width:calc(var(--measure) + 2 * var(--gutter));padding-block:clamp(20px,4vw,40px) 24px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.breadcrumbs{font-size:.8125rem;color:var(--muted);line-height:1.7}
.breadcrumbs a{color:var(--muted)}
.breadcrumbs a:hover{color:var(--link)}
.breadcrumbs .sep,.breadcrumbs .breadcrumb_last{opacity:1}
.breadcrumbs .breadcrumb_last,.breadcrumbs [aria-current]{color:var(--text);display:inline-block;max-width:44ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}
.post-head__title{font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.3;letter-spacing:0;text-wrap:balance}
.post-head__lede{font-size:1.1875rem;color:var(--muted);line-height:1.8;max-width:62ch}
.post-meta{display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--muted);font-size:.875rem;padding-block-start:4px}
.post-meta__item{display:inline-flex;align-items:center;gap:6px}
.post-meta__item a{color:var(--text);font-weight:500}
.post-meta .icon{color:var(--brand);opacity:.85}

.post-hero{max-width:calc(1040px + 2 * var(--gutter));margin-block:8px 0}
.post-hero .media{border-radius:var(--radius)}
.post-hero figcaption{color:var(--muted);font-size:.8125rem;margin-block-start:8px;text-align:center}

.post-body{max-width:calc(var(--measure) + 2 * var(--gutter));padding-block:clamp(24px,4vw,40px) 0}

/* ---------- Reading typography ---------- */
.prose{font-size:1.125rem;line-height:1.9;color:var(--text)}
.prose>*{margin-block:0 1.15em}
.prose>*:last-child{margin-block-end:0}
.prose h2,.prose h3,.prose h4{scroll-margin-top:calc(var(--header-h) + 20px);text-wrap:balance}
.prose h2{font-size:1.625rem;line-height:1.45;margin-block:1.9em .7em;padding-block-start:.2em}
.prose h3{font-size:1.3125rem;line-height:1.5;margin-block:1.6em .55em}
.prose h4{font-size:1.125rem;margin-block:1.4em .5em}
.prose a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em;text-decoration-color:color-mix(in srgb,var(--link) 45%,transparent)}
.prose a:hover{text-decoration-color:currentColor}
.prose strong,.prose b{font-weight:700}
.prose ul,.prose ol{padding-inline-start:1.5em}
.prose li{margin-block:.35em}
.prose li::marker{color:var(--brand)}
.prose ol li::marker{font-weight:700}
.prose img.is-broken{display:none}
.prose img{display:block;max-width:100%;height:auto;border-radius:var(--radius-sm);margin-inline:auto}
.prose figure,.prose .wp-caption{margin-inline:0;max-width:100%!important;width:auto!important}
.prose figure img,.prose .wp-caption img{margin-block-end:0}
.prose figcaption,.prose .wp-caption-text,.prose .wp-element-caption{color:var(--muted);font-size:.875rem;line-height:1.7;text-align:center;margin-block-start:8px}
.prose .alignright,.prose .alignleft{max-width:min(50%,360px)}
.prose .alignright{float:right;margin-inline-start:0;margin-inline-end:0;margin:.3em 0 1em 1.5em}
.prose .alignleft{float:left;margin:.3em 1.5em 1em 0}
.prose .aligncenter{margin-inline:auto;text-align:center}
.prose .alignnone{margin-inline:auto}
.prose::after{content:"";display:table;clear:both}
.prose blockquote{position:relative;margin-inline:0;padding:20px 24px 20px 20px;padding-inline-start:56px;border-radius:var(--radius);background:var(--tint);border-inline-start:3px solid var(--accent);font-size:1.1875rem;line-height:1.85}
.prose blockquote::before{content:"«";position:absolute;inset-inline-start:16px;top:8px;font-family:var(--font-head);font-size:2.6rem;line-height:1;color:var(--accent)}
.prose blockquote p{margin:0 0 .6em}
.prose blockquote p:last-child{margin:0}
.prose blockquote cite{display:block;margin-block-start:8px;font-size:.875rem;font-style:normal;color:var(--muted)}
.prose q{quotes:"«" "»"}
.prose hr,.prose .wp-block-separator{border:0;height:1px;background:var(--border);margin-block:2.2em}
.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875em;background:var(--surface-2);padding:.1em .35em;border-radius:4px;direction:ltr;unicode-bidi:isolate}
.prose pre{direction:ltr;text-align:left;overflow-x:auto;background:var(--surface-2);padding:16px;border-radius:var(--radius-sm);font-size:.875rem;line-height:1.6}
.prose pre code{background:none;padding:0}
.prose mark,.prose .mark{background:color-mix(in srgb,var(--accent) 22%,transparent);color:inherit;padding:0 .15em;border-radius:3px}
.prose .table-wrap{overflow-x:auto;margin-block:0 1.4em;border:1px solid var(--border);border-radius:var(--radius-sm)}
.prose .table-wrap:focus-visible{outline:2px solid var(--brand)}
.prose table{width:100%;border-collapse:collapse;font-size:.9688rem;line-height:1.7;margin:0}
.prose th,.prose td{padding:10px 14px;border-block-end:1px solid var(--border);text-align:start;vertical-align:top}
.prose th,.prose thead td{background:var(--surface-2);font-weight:700}
.prose tr:last-child td{border-block-end:0}
.prose tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--surface-2) 45%,transparent)}
.prose figure.wp-block-table{margin-inline:0}
.prose .wp-block-table .table-wrap{margin:0}
.prose .embed{position:relative;margin-block:0 1.4em}
.prose .embed--video{aspect-ratio:16/9;border-radius:var(--radius-sm);overflow:hidden;background:#000}
.prose .embed--video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.prose .embed iframe{max-width:100%}
.prose .wp-block-embed{margin-inline:0}
.prose .wp-block-embed__wrapper{position:relative}
.prose .wp-block-gallery,.prose .gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;list-style:none;padding:0}
.prose .wp-block-gallery figure,.prose .gallery-item{margin:0}
.prose .wp-block-gallery img,.prose .gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.prose .wp-block-cover{position:relative;border-radius:var(--radius);overflow:hidden;padding:32px;color:#fff;min-height:240px;display:flex;align-items:center}
.prose .wp-block-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.prose .wp-block-cover__inner-container{position:relative}
.prose .wp-block-group{margin-block-end:1.15em}
.prose .note-box{padding:16px 20px;border-radius:var(--radius-sm);background:var(--tint);border:1px solid color-mix(in srgb,var(--brand) 18%,var(--border))}
.prose .legacy-col{margin-block-end:1em}
.prose .legacy-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 16px}
.prose .legacy-toggle summary{cursor:pointer;font-weight:700}
.prose .dropcap{float:right;font-family:var(--font-head);font-size:3em;line-height:1;margin-inline-end:.1em;color:var(--brand)}
.prose iframe{border:0}
.prose input,.prose textarea,.prose select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}
.prose input[type=submit]{width:auto;background:var(--brand);color:var(--on-brand);border:0;padding:10px 24px;font-weight:700;cursor:pointer}

/* ---------- TOC ---------- */
.toc{margin-block:0 1.8em;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:1rem}
.toc details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;cursor:pointer;list-style:none;font-family:var(--font-head);font-weight:600}
.toc details>summary::-webkit-details-marker{display:none}
.toc details>summary::after{content:"";width:9px;height:9px;border-inline-end:2px solid var(--muted);border-block-end:2px solid var(--muted);transform:rotate(45deg);margin-block-start:-4px;transition:transform .2s}
.toc details[open]>summary::after{transform:rotate(-135deg);margin-block-start:4px}
.toc__title{display:inline-flex;align-items:center;gap:10px}
.toc__title .icon{color:var(--brand)}
.toc__count{margin-inline-start:auto;color:var(--muted);font-family:var(--font-body);font-weight:400;font-size:.8125rem}
.toc ol{list-style:none;counter-reset:toc;padding:4px 18px 16px;margin:0;border-block-start:1px solid var(--border);columns:1}
.toc li{counter-increment:toc;display:flex;gap:10px;margin:0;padding-block:6px;line-height:1.6;break-inside:avoid}
.toc li::before{content:counter(toc);flex-shrink:0;min-width:1.6em;height:1.6em;border-radius:6px;display:inline-grid;place-items:center;background:var(--tint);color:var(--brand);font-size:.75rem;font-weight:700;margin-block-start:.1em}
@media (min-width:700px){.toc--long ol{columns:2;column-gap:32px}}
.toc a{color:var(--text);text-decoration:none!important}
.toc a:hover{color:var(--link)}

/* ---------- Post footer ---------- */
.post-foot{display:flex;flex-direction:column;gap:24px;margin-block-start:40px;padding-block-start:28px;border-block-start:1px solid var(--border)}
.post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.post-tags__label,.share__label{font-weight:700;font-size:.9375rem;margin-inline-end:4px}
.post-tags ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.share__list{display:flex;flex-wrap:wrap;gap:8px;list-style:none}
.share__btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:.875rem;font-weight:500}
.share__btn:hover{border-color:var(--brand);color:var(--brand);text-decoration:none}
.share__btn .icon{color:var(--brand)}
.share__btn.is-done{border-color:var(--brand);background:var(--tint)}

.post-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block:40px 0}
.post-nav__link{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}
.post-nav__link:hover{border-color:var(--brand);text-decoration:none}
.post-nav__link--next{grid-column:2;text-align:end;align-items:flex-end}
.post-nav__dir{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:.8125rem}
.post-nav__title{font-family:var(--font-head);font-weight:600;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.page-links{display:flex;gap:8px;margin-block-start:24px}

.related{margin-block-start:clamp(48px,7vw,80px);padding-block:clamp(36px,5vw,56px) 8px;background:var(--tint);border-block-start:1px solid var(--border)}
.related+.site-footer{margin-block-start:0}

@media (max-width:640px){
	.prose{font-size:1.0625rem;line-height:1.85}
	.prose h2{font-size:1.375rem}
	.prose h3{font-size:1.1875rem}
	.prose .alignright,.prose .alignleft{float:none;max-width:100%;margin:0 0 1em}
	.prose blockquote{padding:16px;padding-inline-start:44px;font-size:1.0625rem}
	.prose blockquote::before{inset-inline-start:12px}
	.post-hero{padding-inline:0}
	.post-hero .media{border-radius:0}
	.post-nav{grid-template-columns:minmax(0,1fr)}
	.post-nav__link--next{grid-column:auto}
	.share__btn span{display:none}
	.share__btn{width:44px;height:44px;padding:0;justify-content:center}
	.breadcrumbs .breadcrumb_last,.breadcrumbs [aria-current]{max-width:24ch}
}
