:root{--bg:#f7fafc;--paper:#fff;--ink:#17212b;--muted:#5b6476;--line:#e2e8f0;--accent:#0e7c66;--accent-light:#e8f7f3;--radius:14px;--space:24px;--max:960px}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;line-height:1.75}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:var(--max);margin:0 auto;padding:var(--space)}
.header-hero{background:linear-gradient(135deg,var(--accent-light),#fff);border-bottom:1px solid var(--line);padding:40px 0}
.header-hero .title{font-family:"Source Serif 4",Georgia,serif;font-size:40px;margin:0}.header-hero .sub{color:var(--muted);margin-top:8px;font-size:15px}
.grid{display:grid;grid-template-columns:280px 1fr;gap:24px}@media (max-width:980px){.grid{grid-template-columns:1fr}}
.toc{position:sticky;top:16px;align-self:start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.toc h3{margin:0 0 8px;font-size:14px;color:#334155}.toc a{display:block;font-size:14px;color:#334155;padding:6px 4px;border-radius:8px}.toc a:hover{background:#f1f5f9}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space);box-shadow:0 10px 28px rgba(14,25,38,.06)}
h2{font-family:"Source Serif 4",Georgia,serif;font-size:24px;margin:28px 0 8px}h3{font-size:18px;margin:18px 0 8px}
.footer{border-top:1px solid var(--line);background:#fff;margin-top:40px}.footer .wrap{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;font-size:14px}.nav-links{display:flex;gap:16px}
@media (max-width:768px){.header-hero{padding:28px 0}.header-hero .title{font-size:32px}}
