:root{--bg:#fbfcf8;--surface:#f0f4e8;--ink:#1f2619;--muted:#5a6650;--line:#d9e0cd;--accent:#3d7a1c;--display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--body:"Source Sans 3", "Segoe UI", system-ui, sans-serif;--gutter:max(16px, env(safe-area-inset-left, 0px))}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14180f;--surface:#1f2518;--ink:#e9eee1;--muted:#a5b098;--line:#343c2b;--accent:#a5d86f;color-scheme:dark}}:root[data-theme=dark]{--bg:#14180f;--surface:#1f2518;--ink:#e9eee1;--muted:#a5b098;--line:#343c2b;--accent:#a5d86f;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:1.125rem;line-height:1.65}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ah-skip{position:absolute;inset-inline-start:16px;top:-48px;padding:8px 12px;background:var(--surface);color:var(--ink)}.ah-skip:focus{top:8px}.ah-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;max-width:1040px;margin:0 auto;padding:16px var(--gutter)}.ah-brand{font-family:var(--display);font-size:1.3rem;font-weight:700;color:var(--ink);text-decoration:none}.ah-nav{display:flex;flex-wrap:wrap;gap:4px 20px;font-size:1rem}.ah-nav a{color:var(--muted);text-decoration:none;font-weight:600}.ah-nav a:hover{color:var(--accent)}.ah-bird{flex-basis:100%;width:100%;height:auto}.ah-footer{display:flex;flex-wrap:wrap;gap:6px 24px;max-width:1040px;margin:0 auto;padding:28px var(--gutter)40px;border-top:1px solid var(--line);color:var(--muted);font-size:.95rem}.ah-footer a{color:var(--muted)}.ah-article{max-width:880px;margin:0 auto;padding-block:40px 72px;padding-left:var(--gutter);padding-right:var(--gutter);overflow-wrap:break-word}.ah-article h1,.ah-article h2,.ah-article h3,.ah-article h4{font-family:var(--display);line-height:1.15;text-wrap:balance;margin:0}.ah-article h1{font-size:clamp(2.1rem,6vw,3.3rem);font-weight:700;letter-spacing:-.02em}.ah-article h2{font-size:clamp(1.55rem,4vw,2rem);font-weight:700;margin-top:48px;margin-bottom:14px}.ah-article h3,.ah-article h4{font-size:1.25rem;font-weight:600;margin-top:28px;margin-bottom:8px}.ah-article p,.ah-article ul,.ah-article ol{margin:0 0 16px;max-width:70ch}.ah-article a{color:var(--accent);font-weight:600}.ah-article img{max-width:100%;height:auto;border-radius:8px}.ah-article blockquote{margin:0 0 16px;padding-inline-start:16px;border-inline-start:3px solid var(--line);color:var(--muted)}.ah-article pre{overflow-x:auto;padding:14px 16px;background:var(--surface);border-radius:8px;font-size:.92rem;line-height:1.45;overflow-wrap:normal}.ah-article code{font-size:.92em}.ah-article hr{border:0;border-top:1px solid var(--line);margin:32px 0}.ah-article .ah-date{font-size:.95rem;color:var(--muted);margin:14px 0 32px}.ah-tablewrap{overflow-x:auto;margin:24px 0}.ah-article table{border-collapse:collapse;width:100%}.ah-article th,.ah-article td{padding:8px 10px;border:1px solid var(--line);text-align:start;vertical-align:top}.ah-posts{list-style:none;margin:0;padding:0;max-width:none}.ah-article .ah-posts{max-width:none}.ah-posts li{padding:24px 0;border-bottom:1px solid var(--line)}.ah-posts li:first-child{padding-top:0}.ah-posts time{font-size:.95rem;color:var(--muted)}.ah-article .ah-posts h2{font-size:1.45rem;margin:4px 0 8px}.ah-posts h2 a{text-decoration:none}.ah-article .ah-posts p{margin:0;color:var(--muted)}.ah-pager{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:28px;color:var(--muted)}.ah-comments{margin-top:56px;padding-top:8px;border-top:1px solid var(--line)}.ah-article .ah-comments h2{margin-top:24px}.ah-note{color:var(--muted);font-size:.95rem}.ah-comment{padding:14px 0;border-top:1px solid var(--line);font-size:1rem}.ah-comment p:last-child{margin-bottom:0}.ah-article .ah-comment-meta{margin-bottom:6px}.ah-comment-meta time{color:var(--muted);font-size:.92rem;margin-inline-start:8px}