:root { --bg: #fafaf7; --fg: #111; --muted: #555; --rule: #ddd; --accent: #a33; --code-bg: #f0efe8; }
html, body { background: var(--bg); color: var(--fg); font-family: Georgia, serif; font-size: 11pt; line-height: 1.45; margin: 0; }
body { max-width: 740px; margin: 0 auto; padding: 1.5em 0; }
h1, h2, h3, h4 { font-family: Helvetica, Arial, sans-serif; font-weight: 600; line-height: 1.25; margin-top: 1.8em; margin-bottom: 0.5em; page-break-after: avoid; }
h1 { font-size: 1.5em; border-bottom: 2px solid var(--fg); padding-bottom: 0.25em; margin-top: 0; }
h2 { font-size: 1.2em; border-bottom: 1px solid var(--rule); padding-bottom: 0.15em; }
h3 { font-size: 1.05em; } h4 { font-size: 1.0em; }
p { margin: 0.7em 0; text-align: justify; }
blockquote { margin: 0.9em 0; padding: 0.3em 0.9em; border-left: 3px solid var(--accent); background: rgba(170,51,51,0.05); font-style: italic; page-break-inside: avoid; }
code { font-family: "Courier New", monospace; font-size: 0.92em; background: var(--code-bg); padding: 0.05em 0.3em; }
pre { background: var(--code-bg); border: 1px solid var(--rule); padding: 0.8em; overflow-x: auto; font-size: 0.85em; line-height: 1.35; page-break-inside: avoid; }
pre code { background: transparent; padding: 0; }
hr { border: none; border-top: 1px solid var(--rule); margin: 1.6em 0; }
table { border-collapse: collapse; margin: 0.9em 0; font-size: 0.9em; width: 100%; page-break-inside: avoid; }
th, td { border: 1px solid var(--rule); padding: 0.35em 0.55em; text-align: left; vertical-align: top; }
th { background: var(--code-bg); font-family: Helvetica, sans-serif; font-weight: 600; }
em { font-style: italic; } strong { font-weight: 700; }
a { color: var(--accent); text-decoration: none; }
ul, ol { padding-left: 1.4em; } li { margin: 0.2em 0; }
img, svg { max-width: 100%; height: auto; display: block; margin: 1.2em auto; }
