/* Adopt palette & typography from reference site */
:root {
	--bg:#212121;        /* background */
	--ink:#bdbdbd;       /* main text */
	--muted:#9e9e9e;     /* muted text */
	--line:#444444;      /* borders */
	--link:#ffc107;      /* link */
	--link-hover:#ffeb3b;/* link hover */
	--bs-success:#28a745;
	--bs-info:#17a2b8;
	--bs-warning:#ffc107;
	--bs-danger:#dc3545;
	--font-body: 'Roboto', Helvetica, sans-serif;
	--font-serif: 'Roboto Serif', Georgia, 'Times New Roman', Times, serif;
	--font-headings: 'Roboto Slab', Georgia, 'Times New Roman', Times, serif;
}

/* Light theme variables (used when prefers-color-scheme: light and no user override, or when user selects light) */
@media (prefers-color-scheme: light) {
	:root:not([data-theme="dark"]) {
		--bg:#fdfdfd;
		--ink:#222222;
		--muted:#555555;
		--line:#d9d9d9;
		--link:#c28700;
		--link-hover:#e5a500;
	}
}

[data-theme="light"] {
	--bg:#fdfdfd;
	--ink:#222222;
	--muted:#555555;
	--line:#d9d9d9;
	--link:#c28700;
	--link-hover:#e5a500;
}

[data-theme="dark"] {
	/* Explicit dark override (same as default to lock in) */
	--bg:#212121;
	--ink:#bdbdbd;
	--muted:#9e9e9e;
	--line:#444444;
	--link:#ffc107;
	--link-hover:#ffeb3b;
}
body.site { background:var(--bg); color:var(--ink); margin:0; font-family:var(--font-body); line-height:1.6; }
a { color: var(--link); text-decoration:none; }
a:hover { color:var(--link-hover); text-decoration:underline; }
.wrap { width: min(100%, 860px); margin: 0 auto; padding: 0 1rem; }
.site-header { padding:1rem 0; border-bottom:1px solid var(--line); }
.site-header h1 { font-size:1.6rem; margin:0; font-weight:600; letter-spacing:.5px; font-family:var(--font-headings); }
.theme-toggle { background:none; border:1px solid var(--line); color:var(--ink); padding:.35rem .75rem; border-radius:2rem; font-size:.75rem; cursor:pointer; margin-left:1rem; }
.theme-toggle:hover { background:var(--line); }
.site-footer { font-size:.875rem; color:var(--muted); padding:2rem 0; border-top:1px solid var(--line); }
h1,h2,h3 { font-weight:600; line-height:1.2; font-family:var(--font-headings); color:var(--ink); }
.subtitle { font-style:italic; color:var(--muted); }
.meta { font-size:.85rem; color:var(--muted); }
.article .body { margin-top:1.5rem; }
.article .body p { margin:1rem 0; }
blockquote { background:#151515; border-left:4px solid var(--link); margin:1.5rem 0; padding:.75rem 1rem; font-style:italic; }
blockquote footer { display:block; font-size:.8rem; margin-top:.5rem; color:var(--muted); font-style:normal; }
ul.article-list { list-style:none; padding:0; }
ul.article-list li { padding:.5rem 0; border-bottom:1px solid var(--line); }
.date { color:var(--muted); font-size:.75rem; margin-left:.5rem; }
.callouts { background:#151515; padding:1rem; margin-top:2rem; }

/* Images inside image block placeholder styling */
.article .body figure { margin:1.25rem 0; }
.article .body figure img { max-width:100%; height:auto; display:block; border:1px solid var(--line); }
.article .body figure figcaption { font-size:.75rem; color:var(--muted); margin-top:.35rem; }
/* Richtext content injected via API */
.richtext-content h2 { margin:2.25rem 0 1rem; font-size:1.6rem; }
.richtext-content h3 { margin:2rem 0 1rem; font-size:1.25rem; }
.richtext-content h4 { margin:1.75rem 0 .75rem; font-size:1.05rem; }
.richtext-content ul, .richtext-content ol { padding-left:1.4rem; margin:1rem 0; }
.richtext-content li { margin:.4rem 0; }
.richtext-content hr { border:0; border-top:1px solid var(--line); margin:2.5rem 0; }
