:root { --bg:#ffffff; --band:#E2F1E8; --ink:#0f1a14; --accent:#1f6b45; --line:#cfe3d7; --note:#f4faf6; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif; }
header { background:var(--band); border-bottom:1px solid var(--line); }
.bar { max-width:880px; margin:0 auto; padding:14px 20px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.brand { display:flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; font-weight:700; font-size:20px; }
.brand img { width:32px; height:32px; }
nav a { color:var(--ink); text-decoration:none; margin-left:18px; font-size:15px; }
nav a:hover, a:hover { text-decoration:underline; }
main { max-width:880px; margin:0 auto; padding:40px 20px 64px; }
h1 { font-size:36px; line-height:1.2; margin:0 0 6px; }
.meta { color:var(--ink); font-size:14px; margin:0 0 28px; }
h2 { font-size:22px; margin:40px 0 10px; padding-top:12px; border-top:1px solid var(--line); }
h3 { font-size:17px; margin:22px 0 6px; }
a { color:var(--accent); }
.toc { background:var(--note); border:1px solid var(--line); border-radius:10px; padding:16px 22px; margin:0 0 8px; }
.toc ol { margin:6px 0 0; padding-left:20px; columns:2; column-gap:32px; }
.toc li { margin:2px 0; break-inside:avoid; }
.callout { background:var(--note); border-left:4px solid var(--accent); padding:12px 16px; border-radius:6px; margin:14px 0; }
.caps { text-transform:uppercase; font-size:14.5px; letter-spacing:.01em; }
ul, ol { padding-left:22px; }
footer { background:var(--band); border-top:1px solid var(--line); }
footer .bar { font-size:14px; flex-wrap:wrap; }
@media (max-width:640px) { h1 { font-size:28px; } .toc ol { columns:1; } nav a { margin-left:12px; } }
@media print { header nav, .toc { display:none; } body { font-size:12pt; } }
