:root{--ink:#17301f;--gold:#f4b942;--rust:#c4552a;--paper:#f6f2ea;--card:#fffdf8;--line:#e3dccd;--muted:#5b6b60}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:#1f2a22;font:16px/1.65 "DM Sans",system-ui,sans-serif}
a{color:#1f5a35;text-underline-offset:2px}a:hover{color:var(--rust)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.top{background:var(--ink)}.top .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{display:flex;gap:10px;align-items:center;color:#fff;text-decoration:none;font:700 19px "Bricolage Grotesque",sans-serif}
.brand img{border-radius:6px;background:#fff}
.signin{color:var(--ink);background:var(--gold);padding:8px 16px;border-radius:999px;text-decoration:none;font-weight:700;font-size:14px}
.layout{display:grid;grid-template-columns:240px 1fr;gap:40px;padding-top:40px;padding-bottom:60px}
.side{position:sticky;top:20px;align-self:start;display:flex;flex-direction:column;gap:2px}
.side a{padding:8px 12px;border-radius:8px;text-decoration:none;color:var(--muted);font-size:14.5px}
.side a[aria-current=page]{background:var(--card);color:var(--ink);font-weight:700;box-shadow:inset 3px 0 0 var(--gold)}
main{overflow-wrap:anywhere;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:40px 48px;min-width:0}
h1,h2,h3{font-family:"Bricolage Grotesque",sans-serif;color:var(--ink);line-height:1.2}
h1{font-size:38px;margin:0 0 16px}h2{font-size:23px;margin:36px 0 10px}h3{font-size:18px;margin:24px 0 8px}
ul,ol{padding-left:22px}li{margin:6px 0}
table{border-collapse:collapse;width:100%;margin:16px 0;font-size:14.5px;display:block;overflow-x:auto}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}th{background:#eef2ec}
figure{margin:12px 0}figure img{max-width:320px;width:100%;border:1px solid var(--line);border-radius:10px}figcaption{font-size:13px;color:var(--muted)}
.note{background:#fbf3df;border-left:3px solid var(--gold);padding:10px 14px;border-radius:6px;font-size:14px}
mark.todo{background:#ffe08a;padding:0 3px}
.doclist{font-size:18px}
.foot{background:var(--ink);color:#d8e2da;font-size:14px}.foot .wrap{padding-top:24px;padding-bottom:24px}.foot a{color:#fff}
@media (max-width:820px){.layout{grid-template-columns:1fr;gap:16px;padding-top:20px}.side{position:static;flex-direction:row;flex-wrap:wrap}.side a{padding:6px 10px;font-size:13px}main{padding:24px 16px;border-radius:12px}h1{font-size:30px}}
.topnav{display:flex;align-items:center;gap:20px;font-size:15px}.topnav a{color:#f6f2ea;text-decoration:none}.topnav a.signin{color:var(--ink)}
@media (max-width:820px){.topnav a:not(.signin):not(.signin-link){display:none}.topnav{gap:12px}}
