/* Long-form content written in the block editor. */
.entry {
	counter-reset: section;
}

.entry > * + * {
	margin-top: var(--space-lg);
}

/* Lead paragraph */
.entry > p:first-child {
	font-size: 1.25rem;
	line-height: 1.7;
}

.entry a {
	text-decoration: underline;
	text-decoration-color: rgb(245 158 11 / 0.6);
	text-underline-offset: 0.25em;
}

.entry h2,
.entry h3 {
	margin-top: var(--space-xl);
}

/* Posts number their sections: 01., 02., … */
.entry--numbered h2 {
	display: flex;
	align-items: baseline;
	gap: var(--space-sm);
	counter-increment: section;
}

.entry--numbered h2::before {
	content: counter(section, decimal-leading-zero) '.';
	color: var(--color-primary);
	font-family: var(--font-mono);
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}

.entry ul,
.entry ol {
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
}

.entry ul li,
.entry ol li {
	position: relative;
	padding-left: 1.5rem;
}

.entry ul li::before {
	content: '—';
	position: absolute;
	left: 0;
	color: var(--color-primary);
}

.entry ol {
	counter-reset: item;
}

.entry ol li {
	counter-increment: item;
}

.entry ol li::before {
	content: counter(item, decimal-leading-zero);
	position: absolute;
	left: 0;
	color: var(--color-primary);
	font-family: var(--font-mono);
	font-size: 0.75rem;
	line-height: 2.2;
}

.entry blockquote {
	position: relative;
	margin-block: var(--space-xl);
	padding-left: var(--space-lg);
}

.entry blockquote::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 0.25rem;
	background-image: linear-gradient(to bottom, var(--color-primary), var(--color-primary-strong), transparent);
	border-radius: 9999px;
}

.entry blockquote p {
	color: var(--color-text);
	font-family: var(--font-heading);
	font-size: 1.75rem;
	font-style: italic;
	line-height: 1.3;
}

.entry blockquote cite {
	display: block;
	margin-top: var(--space-sm);
	color: var(--color-primary);
	font-family: var(--font-mono);
	font-size: 0.6875rem;
	font-style: normal;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.entry pre {
	padding: var(--space-md);
	overflow-x: auto;
	background: linear-gradient(90deg, var(--color-primary-strong), var(--color-primary) 40%, transparent) top / 100% 2px no-repeat, var(--color-surface-lowest);
	border-radius: var(--radius-lg);
	font-size: 0.75rem;
	line-height: 1.65;
}

.entry figure img {
	border-radius: var(--radius-lg);
}

.entry figcaption {
	margin-top: var(--space-sm);
	color: var(--color-text-muted);
	font-family: var(--font-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.06em;
}

.entry hr,
.entry .wp-block-separator {
	height: 1px;
	background-color: var(--color-surface-highest);
	border: 0;
}

.entry table {
	width: 100%;
	font-size: 0.9375rem;
}

.entry th,
.entry td {
	padding: var(--space-sm) var(--space-md);
	border-bottom: 1px solid var(--color-surface-high);
	text-align: left;
}

.entry th {
	color: var(--color-text-muted);
	font-family: var(--font-mono);
	font-size: 0.75rem;
	font-weight: 500;
	text-transform: uppercase;
}

.entry .aligncenter {
	margin-inline: auto;
}

.entry .alignleft {
	float: left;
	margin-right: var(--space-md);
}

.entry .alignright {
	float: right;
	margin-left: var(--space-md);
}

/* Block style "Card" (Group block → Styles → Card) */
.entry .is-style-card {
	padding: var(--space-lg);
	background-color: var(--color-surface-low);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
}
