/* ForgePress Base Typography
 * Connects theme.json font presets to CSS variables and applies them to
 * the document. Heading scale is injected dynamically by the Typography
 * module via --fp-h1 through --fp-h6. */

:root {
	--fp-font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--fp-font-heading: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--fp-font-size-base: 16px;
	--fp-line-height: 1.5;
	--fp-line-height-heading: 1.2;
	--fp-color-foreground: #1f2933;
	--fp-color-background: #ffffff;
	--fp-color-primary: #1e6adb;
	--fp-color-secondary: #0f9d76;
	--fp-color-accent: #f0a020;
	--fp-color-muted: #6b7280;
	--fp-color-border: #e4e7eb;
	--fp-color-surface: #f4f6f8;
}

body {
	font-family: var(--fp-font-body);
	font-size: var(--fp-font-size-base);
	line-height: var(--fp-line-height);
	color: var(--fp-color-foreground);
	background-color: var(--fp-color-background);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--fp-font-heading);
	font-weight: 700;
	line-height: var(--fp-line-height-heading);
	margin-bottom: 0.75em;
	margin-top: 1.5em;
	color: var(--fp-color-foreground);
}

h1:first-child,
h2:first-child,
h3:first-child {
	margin-top: 0;
}

p {
	line-height: var(--fp-line-height);
}

a {
	color: var(--fp-color-primary);
	transition: color var(--fp-transition-base, 250ms ease);
}

a:hover {
	color: var(--fp-color-secondary);
}

strong, b {
	font-weight: 700;
}

em, i {
	font-style: italic;
}

blockquote {
	border-left: 4px solid var(--fp-color-primary);
	padding-left: 1.5rem;
	margin: 1.5rem 0;
	font-style: italic;
	color: var(--fp-color-muted);
}

code, pre {
	font-family: "SF Mono", Menlo, Monaco, Consolas, "Courier New", monospace;
	font-size: 0.9em;
}

code {
	background: var(--fp-color-surface);
	padding: 0.15em 0.4em;
	border-radius: 4px;
}

pre {
	background: var(--fp-color-surface);
	padding: 1rem;
	border-radius: 6px;
	overflow-x: auto;
}

pre code {
	background: none;
	padding: 0;
}

.entry-content p,
.entry-content ul,
.entry-content ol,
.entry-content blockquote,
.entry-content pre {
	max-width: 65ch;
}
