/* ==========================================================================
   Content — .entry-content article typography
   ========================================================================== */

.entry-content {
	font-size: 1.125rem;
	line-height: 1.9;
	color: var(--color-fg);
}

.entry-content > * + * { margin-top: 1.4em; }

.entry-content h2 {
	font-size: 1.55rem;
	margin-top: 2.2em;
	scroll-margin-top: 5.5rem;
}
.entry-content h3 {
	font-size: 1.25rem;
	margin-top: 1.8em;
	scroll-margin-top: 5.5rem;
}
.entry-content h4 { font-size: 1.05rem; margin-top: 1.5em; }

.entry-content p { margin: 0; }

.entry-content a {
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, var(--color-teal) 60%, transparent);
	text-underline-offset: 3px;
}

.entry-content img,
.entry-content figure {
	border-radius: var(--radius-md);
}
.entry-content figure { margin: 1.6em 0; }
.entry-content figcaption {
	text-align: center;
	font-size: .85rem;
	color: var(--color-muted);
	margin-top: .6em;
}

.entry-content blockquote {
	margin: 1.6em 0;
	padding: 1.1rem 1.5rem;
	border-inline-start: 4px solid var(--color-teal);
	background: var(--color-surface);
	border-radius: 0 var(--radius-md) var(--radius-md) 0;
	font-style: normal;
	color: var(--color-fg);
}
.entry-content blockquote p:last-child { margin-bottom: 0; }

.entry-content ul, .entry-content ol {
	padding-inline-start: 1.6em;
}
.entry-content li + li { margin-top: .4em; }
.entry-content li::marker { color: var(--color-teal); }

.entry-content code {
	background: var(--color-surface-2);
	padding: .15em .45em;
	border-radius: 5px;
	font-family: var(--font-mono);
	font-size: .9em;
	direction: ltr;
	unicode-bidi: embed;
}
.entry-content pre {
	background: var(--color-navy-deep);
	color: #e6e8ef;
	padding: 1.25rem;
	border-radius: var(--radius-md);
	overflow-x: auto;
	direction: ltr;
	text-align: left;
}
.entry-content pre code { background: none; padding: 0; color: inherit; }

.entry-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: .95rem;
	overflow-x: auto;
	display: block;
}
.entry-content th, .entry-content td {
	border: 1px solid var(--color-border);
	padding: .65rem .9rem;
	text-align: start;
}
.entry-content th { background: var(--color-surface); font-weight: 700; }

.entry-content hr {
	border: none;
	border-top: 1px solid var(--color-border);
	margin: 2.5em 0;
}

.entry-content .alignwide { max-width: calc(var(--container-narrow) + 4rem); }
.entry-content .alignfull { width: 100vw; margin-inline-start: 50%; transform: translateX(-50%); max-width: 100vw; }

/* First paragraph lede styling */
.entry-content > p:first-of-type {
	font-size: 1.2rem;
	color: var(--color-muted);
}
