/* core/post-content: reading prose (size and line height from theme.json), post meta, sources. */
.df-prose{font-size:var(--fs-l);line-height:1.6}
.df-prose > *{max-width:var(--content)}
:is(.df-prose,.wp-block-post-content) > * + *{margin-block-start:.9em}
:is(.df-prose,.wp-block-post-content) > h2{font-size:var(--fs-xl);line-height:1.2;letter-spacing:-.015em;margin-block-start:1.8em}
:is(.df-prose,.wp-block-post-content) > h3{font-size:var(--fs-l);line-height:1.3;margin-block-start:1.5em}
:is(.df-prose,.wp-block-post-content) > :is(h2,h3) + *{margin-block-start:.5em}
:is(.df-prose,.wp-block-post-content) ul:is(:not([class]),.wp-block-list):not(.df-rows,.df-list) > li{position:relative;padding-inline-start:1.4em}
:is(.df-prose,.wp-block-post-content) ul:is(:not([class]),.wp-block-list):not(.df-rows,.df-list) > li::before{content:"";position:absolute;inset-inline-start:.25em;top:.8em;width:.45em;height:1px;background:currentColor}
:is(.df-prose,.wp-block-post-content) ol:is(:not([class]),.wp-block-list){list-style:decimal;padding-inline-start:1.4em}
:is(.df-prose,.wp-block-post-content) ol:is(:not([class]),.wp-block-list) > li::marker{color:var(--mute);font-variant-numeric:tabular-nums}
:is(.df-prose,.wp-block-post-content) :is(ul,ol):is(:not([class]),.wp-block-list) li + li{margin-block-start:.45em}
:is(.df-prose,.wp-block-post-content) :is(ul,ol) :is(ul,ol){margin-block-start:.45em}
:is(.df-prose,.wp-block-post-content) code{background:var(--df-surface);border:var(--hl);padding:.05em .3em}
:is(.df-prose,.wp-block-post-content) img{height:auto}
/* parts/post-meta: the meta column as a definition list built from blocks (.df-dl > .df-dt term + value block). */
.df-post-meta .df-dl{display:flex;flex-wrap:wrap;gap:2px 4px}
.df-post-meta .df-dl > *{margin:0}
.df-post-meta .df-dl > :not(.df-dt){margin-inline-end:10px}
.df-post-meta .df-dt + :not(.df-dt){color:var(--ink)}
.df-post-meta .df-dl > :not(.df-dt) ~ :not(.df-dt){color:inherit}
@media (max-width:759px){.df-post-meta :is(.df-opt,.df-updated){display:none}}
@media (min-width:760px){
.df-post-meta .df-dl{display:block}
.df-post-meta .df-dt{color:var(--ink);font-weight:600}
.df-post-meta .df-dl > :not(.df-dt) + .df-dt{margin-block-start:10px}
}
/* .df-flow: post-content as a subgrid of the 12-column grid (760px+). Children sit in the body column;
   df-block sections, wide and full blocks span the grid. .df-shoulders moves h2 into the meta column. */
@media (min-width:760px){
:is(.df-primary,.df-block) > .df-flow{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-content:start}
.df-flow > *{grid-column:4 / -1;min-width:0}
.df-flow > :is(.df-block,.alignwide,.alignfull){grid-column:1 / -1;max-width:none}
.df-shoulders > h2:not(.is-style-label){grid-column:1 / 4;grid-row-end:span 3;align-self:start;font-size:var(--fs-m);letter-spacing:0;line-height:1.3;padding:.45em 8px 0 0;border-block-start:var(--hd);margin-block-start:var(--s70)}
.df-shoulders > h2:not(.is-style-label) + *{margin-block-start:var(--s70)}
.df-shoulders > h2:first-child + *{margin-block-start:0}
.df-primary > .df-toc-details{grid-column:4 / -1}
}
@media (min-width:1200px){
.df-flow > *{grid-column:3 / -1}
.df-flow > :is(.df-block,.alignwide,.alignfull){grid-column:1 / -1}
.df-shoulders > h2:not(.is-style-label){grid-column:1 / 3}
}
.df-shoulders > h2:first-child{margin-block-start:0}
.df-flow > .df-block{margin-block:var(--s40) var(--s60)}
.df-article > .df-flow{margin-block-end:var(--s70)}
.df-prose > .df-block{max-width:none;font-size:var(--fs-m);line-height:1.5}
.df-page-content{padding-block-start:var(--s50)}
.df-page-content > .df-flow > :first-child{margin-block-start:0}
/* content inside nested containers keeps the reading rhythm (theme.json blockGap is off; spacing is explicit) */
.df-prose :is(.wp-block-column,.wp-block-group:not([class*="df-"]),.wp-block-media-text__content,.wp-block-cover__inner-container) > * + *{margin-block-start:.9em}
/* "On this page": filled by theme.js; hidden until it has at least two entries */
.df-toc:not(.is-ready),.df-toc-details:not(.is-ready){display:none}
.df-toc-details{margin-block:0 var(--s60);border-block:var(--hl)}
.df-toc-details ol{list-style:none;margin:0;padding:0 0 10px}
.df-toc-details a{display:block;padding-block:6px;text-decoration:none}
@media (min-width:1200px){.df-toc-details{display:none}}
.df-sources{max-width:34em}
.df-sources li{padding-block:10px 12px;font-size:var(--fs-s);color:var(--mute)}
.df-sources li a{font-size:var(--fs-m)}
.df-sources .df-meta{display:block;margin-block-start:2px}
@media print{
.df-prose,.wp-block-post-content{font-size:11.5pt}
:is(.df-prose,.wp-block-post-content,.df-sources) a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#444;word-break:break-all}
}
/* legacy tables in older posts (not core/table): fixed widths must not push the page wider than the screen */
:is(.df-prose,.wp-block-post-content) table:not(.wp-block-table table){display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
:is(.df-prose,.wp-block-post-content) table:not(.wp-block-table table) :is(td,th){padding:6px 10px;border:var(--hl);vertical-align:top}
:is(.df-prose,.wp-block-post-content) :is(p,li){overflow-wrap:break-word}
