body {
	background: var(--jai-color-bg);
	color: var(--jai-color-text);
	font-family: var(--jai-font-sans);
	font-size: var(--jai-font-size-base);
	line-height: var(--jai-line-height);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 var(--jai-space-md);
	color: var(--jai-color-text);
	font-weight: 750;
	line-height: var(--jai-line-height-tight);
	letter-spacing: -0.02em;
}

h1 {
	font-size: clamp(2.25rem, 5vw, 3.75rem);
}

h2 {
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
}

h3 {
	font-size: clamp(1.25rem, 2.2vw, 1.625rem);
	letter-spacing: -0.015em;
}

h4 {
	font-size: 1.125rem;
	letter-spacing: -0.01em;
}

p {
	margin: 0 0 var(--jai-space-md);
}

a {
	color: inherit;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
	transition: color var(--jai-transition);
}

a:hover {
	color: var(--jai-color-brand-600);
}

small {
	font-size: var(--jai-font-size-sm);
}

strong,
b {
	font-weight: 700;
}

.entry-content {
	color: var(--jai-color-text);
	font-size: var(--jai-font-size-lg);
}

.entry-content > * {
	margin-top: 0;
	margin-bottom: var(--jai-space-lg);
}

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

.entry-content ul,
.entry-content ol {
	padding-left: 1.5rem;
}

.entry-content li {
	margin-bottom: var(--jai-space-sm);
}

.entry-content li:last-child {
	margin-bottom: 0;
}

.entry-content li::marker {
	color: var(--jai-color-brand-600);
	font-weight: 700;
}

html.dark .entry-content li::marker {
	color: var(--jai-color-brand-300);
}

.entry-content blockquote {
	margin: var(--jai-space-2xl) 0;
	padding: var(--jai-space-lg);
	border-left: 4px solid var(--jai-color-brand-600);
	background: var(--jai-color-surface);
	color: var(--jai-color-text);
	border-radius: var(--jai-radius-lg);
}

.entry-content code {
	padding: 0.1rem 0.35rem;
	background: var(--jai-color-surface);
	color: var(--jai-color-brand-700);
	border-radius: var(--jai-radius-sm);
	font-size: 0.92em;
}

html.dark .entry-content code {
	color: var(--jai-color-brand-300);
}

.entry-content pre {
	overflow-x: auto;
	padding: var(--jai-space-lg);
	background: #0f172a;
	color: #e2e8f0;
	border-radius: var(--jai-radius-lg);
	border: 1px solid var(--jai-color-border);
}

html.dark .entry-content pre {
	background: #020617;
	color: #f1f5f9;
}
