/* Single posts only; the same styles are available in the block editor. */
@media (prefers-reduced-motion: no-preference) {
	html:has(.class-sync-article) { scroll-behavior: smooth; }
}
.class-sync-article { --article-accent: #4c48bd; --article-muted: #666574; --article-sticky-top: 180px; margin-block: 0 !important; padding: 0 !important; color: #242332; }
.class-sync-article *, .class-sync-article *::before, .class-sync-article *::after { box-sizing: border-box; }
.class-sync-article-shell { width: 100%; max-width: 1168px; margin-inline: auto !important; padding: 48px 24px 80px; }
.class-sync-article :is(a, summary):focus-visible { outline: 3px solid var(--article-accent); outline-offset: 4px; }
.class-sync-article-hero { margin: 0 0 48px !important; }
.class-sync-article-breadcrumb { gap: 8px; margin: 0 0 20px; font-size: 14px; line-height: 1.5; }
.class-sync-article-breadcrumb > * { margin: 0; }
.class-sync-article-breadcrumb .wp-block-post-terms { color: var(--article-muted); font-size: inherit; }
.class-sync-article-breadcrumb a { color: var(--article-muted); text-decoration: none; }
.class-sync-article-breadcrumb a:hover { color: var(--article-accent); }
.class-sync-article .class-sync-article-title { max-width: 1060px; margin: 0 0 28px; font-size: clamp(36px, 4.3vw, 60px); font-weight: 700; line-height: 1.1; letter-spacing: -.045em; text-wrap: balance; overflow-wrap: anywhere; }
.class-sync-article-meta { gap: 12px 24px; margin: 0; color: var(--article-muted); font-size: 14px; line-height: 1.6; }
.class-sync-article-author { gap: 5px; }
.class-sync-article-author > * { margin: 0; }
.class-sync-article-author .wp-block-post-author-name { color: #242332; font-weight: 600; }
.class-sync-article-layout { max-width: 760px; margin: 0 auto !important; }
.class-sync-article-layout:has(.class-sync-article-toc__nav:not([hidden])) { display: grid; grid-template-columns: 240px minmax(0, 760px); gap: 64px; max-width: none; }
.class-sync-article-sidebar:has(.class-sync-article-toc__nav[hidden]) { display: none; }
.class-sync-article-sidebar { position: sticky; top: var(--article-sticky-top); align-self: start; min-width: 0; margin: 0 !important; }
.class-sync-article-toc { margin: 0; padding-right: 20px; border-right: 1px solid #e8e7ee; }
.class-sync-article-toc > summary { cursor: pointer; font-size: 16px; font-weight: 700; line-height: 1.4; }
.class-sync-article-toc__nav { max-height: calc(100dvh - var(--article-sticky-top) - 60px); overflow-y: auto; margin-top: 18px; padding: 4px; }
.class-sync-article-toc__nav ol { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.class-sync-article-toc__nav a { display: block; color: var(--article-muted); font-size: 14px; line-height: 1.55; text-decoration: none; overflow-wrap: anywhere; }
.class-sync-article-toc__nav a:hover { color: var(--article-accent); text-decoration: underline; }
.class-sync-article-toc__subsection { padding-left: 14px; }
.class-sync-article-body { min-width: 0; margin: 0 !important; }
.class-sync-article .class-sync-article-media { overflow: hidden; margin: 0 0 32px; border-radius: 12px; }
.class-sync-article-media img { display: block; width: 100%; object-fit: cover; }
.class-sync-article .class-sync-article-content { margin: 0; font-size: 18px; line-height: 1.8; overflow-wrap: anywhere; }
.class-sync-article-content > * { margin-block: 0 24px; }
.class-sync-article-content > :first-child { margin-top: 0; }
.class-sync-article-content :is(h2, h3, h4) { font-weight: 700; letter-spacing: -.025em; line-height: 1.25; scroll-margin-top: var(--article-sticky-top); }
.class-sync-article-content h2 { margin: 48px 0 20px; font-size: 32px; }
.class-sync-article-content h3 { margin: 32px 0 16px; font-size: 24px; }
.class-sync-article-content h4 { font-size: 20px; }
.class-sync-article-content a { color: var(--article-accent); text-decoration: underline; }
.class-sync-article-content :is(ul, ol) { padding-left: 24px; }
.class-sync-article-content li + li { margin-top: 8px; }
.class-sync-article-content img { display: block; max-width: 100%; height: auto; border-radius: 8px; }
.class-sync-article-content :is(figure, iframe, video) { max-width: 100%; }
.class-sync-article-content :is(.alignwide, .alignfull) { width: 100%; max-width: 100%; margin-inline: 0; }
.class-sync-article-content figcaption { margin-top: 10px; color: var(--article-muted); font-size: 13px; line-height: 1.6; }
.class-sync-article-content blockquote { margin-inline: 0; padding: 20px 24px; border-left: 3px solid var(--article-accent); background: #f8f7fb; }
.class-sync-article-content blockquote > :last-child { margin-bottom: 0; }
.class-sync-article-content :is(pre, .wp-block-table) { max-width: 100%; overflow-x: auto; }
.class-sync-article-content pre { padding: 20px; border-radius: 8px; background: #f5f4f8; font-size: 14px; }
.class-sync-article-content table { border-collapse: collapse; font-size: 15px; }
.class-sync-article-content :is(th, td) { padding: 12px; border: 1px solid #e8e7ee; text-align: left; }
.class-sync-article .class-sync-article-tags { margin-top: 36px; color: var(--article-muted); font-size: 13px; }
.class-sync-article-tags a { color: var(--article-accent); }
.class-sync-article-back { margin-top: 40px; padding-top: 24px; border-top: 1px solid #e8e7ee; font-size: 14px; font-weight: 600; }
.class-sync-article-back a { color: var(--article-accent); text-decoration: none; }
@media (min-width: 901px) {
	.class-sync-article-toc > summary { list-style: none; }
	.class-sync-article-toc > summary::-webkit-details-marker { display: none; }
}
@media (max-width: 1100px) {
	.class-sync-article-layout:has(.class-sync-article-toc__nav:not([hidden])) { grid-template-columns: 210px minmax(0, 1fr); gap: 36px; }
}
@media (max-width: 900px) {
	.class-sync-article-shell { padding-top: 36px; }
	.class-sync-article-hero { margin-bottom: 32px !important; }
	.class-sync-article-layout:has(.class-sync-article-toc__nav:not([hidden])) { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.class-sync-article-sidebar { position: static; }
	.class-sync-article-toc { padding: 18px 20px; border: 1px solid #e8e7ee; border-radius: 8px; background: #faf9fc; }
	.class-sync-article-toc__nav { max-height: 320px; }
}
@media (max-width: 600px) {
	.class-sync-article-shell { padding: 28px 20px 48px; }
	.class-sync-article .class-sync-article-title { margin-bottom: 22px; font-size: clamp(30px, 8.2vw, 38px); line-height: 1.15; }
	.class-sync-article-meta { gap: 8px 18px; font-size: 13px; }
	.class-sync-article-updated { flex-basis: 100%; }
	.class-sync-article .class-sync-article-content { font-size: 16px; line-height: 1.8; }
	.class-sync-article-content h2 { margin-top: 36px; font-size: 26px; }
	.class-sync-article-content h3 { font-size: 22px; }
	.class-sync-article .class-sync-article-media { margin-bottom: 24px; }
}
