/* Independently tunable page rhythm. All presets tighten the old generous gaps. */
html[data-page-spacing="compact"] {
  --header-space: 18px; --opening-space: 24px; --intro-gap: 28px;
  --greeting-gap: 14px; --paragraph-gap: 12px; --portrait-gap: 20px;
  --row-gap: 8px; --dated-row-gap: 12px; --footer-gap: 36px;
  --reading-paragraph-gap: 20px;
}
html[data-page-spacing="balanced"] {
  --header-space: 24px; --opening-space: 36px; --intro-gap: 40px;
  --greeting-gap: 18px; --paragraph-gap: 16px; --portrait-gap: 24px;
  --row-gap: 12px; --dated-row-gap: 16px; --footer-gap: 48px;
  --reading-paragraph-gap: 22px;
}
html[data-page-spacing="airy"] {
  --header-space: 28px; --opening-space: 44px; --intro-gap: 48px;
  --greeting-gap: 20px; --paragraph-gap: 18px; --portrait-gap: 28px;
  --row-gap: 16px; --dated-row-gap: 20px; --footer-gap: 56px;
  --reading-paragraph-gap: 24px;
}
html[data-blog-theme][data-page-spacing] .site-header { border: 0; padding-block: var(--header-space); }
html[data-blog-theme][data-page-spacing] main:not(:has(article)) { padding-top: var(--opening-space); }
html[data-blog-theme][data-page-spacing] .intro { margin-bottom: var(--intro-gap); }
html[data-blog-theme][data-page-spacing] .intro h1 { margin-bottom: var(--greeting-gap); }
html[data-blog-theme][data-page-spacing] .intro p { margin-bottom: var(--paragraph-gap); }
html[data-blog-theme][data-page-spacing] .intro .profile { margin-top: var(--portrait-gap); }
html[data-blog-theme][data-page-spacing] .article-list-section .article-list li { margin-bottom: var(--row-gap); }
html[data-blog-theme][data-page-spacing][data-list-variant="under"] .article-list-section .article-list li { margin-bottom: var(--dated-row-gap); }
html[data-blog-theme][data-page-spacing] .site-footer { margin-top: var(--footer-gap); }
/* Article openings are tighter than homepage Airy; no return-link spacer. */
html[data-blog-theme][data-page-spacing] article { padding-top: 16px; }
html[data-blog-theme][data-page-spacing] .post-header { padding-bottom: 16px; margin-bottom: 24px; }
html[data-blog-theme][data-page-spacing] .post-header h1 { margin-bottom: 12px; }
html[data-blog-theme][data-page-spacing] .prose p { margin-bottom: var(--reading-paragraph-gap); }
@media (max-width: 600px) {
  html[data-blog-theme][data-page-spacing] article { padding-top: 8px; }
  html[data-blog-theme][data-page-spacing] .post-header { padding-bottom: 14px; margin-bottom: 20px; }
  html[data-blog-theme][data-page-spacing] .post-header h1 { margin-bottom: 10px; }
  html[data-page-spacing="compact"] { --header-space: 16px; --opening-space: 18px; --intro-gap: 24px; --portrait-gap: 16px; --row-gap: 10px; --dated-row-gap: 14px; --footer-gap: 28px; }
  html[data-page-spacing="balanced"] { --header-space: 18px; --opening-space: 24px; --intro-gap: 32px; --portrait-gap: 20px; --row-gap: 12px; --dated-row-gap: 16px; --footer-gap: 36px; }
  html[data-page-spacing="airy"] { --header-space: 22px; --opening-space: 32px; --intro-gap: 40px; --portrait-gap: 24px; --row-gap: 16px; --dated-row-gap: 20px; --footer-gap: 44px; }
}
