:root{--bg:#f7f1e5;--fg:#2b1a0f;--muted:#7c6a53;--accent:#b4670f;--accent-2:#2f8f86;--ink:#2b160a;--cream:#f0e6cf;--border:#e3d7bd;--code-bg:#efe4cc;--surface:#efe4cc;--mono:ui-monospace,"SFMono-Regular",Menlo,"Courier New",monospace;--maxw:760px;--wide:1040px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.65}a{color:var(--accent)}.site-header{position:relative;padding:16px 20px 0;background:linear-gradient(180deg,#86592f,#59371c)}.site-header .wrap{max-width:var(--wide);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.site-header a.brand{display:inline-flex;text-decoration:none}.site-header .brand-logo{height:150px;width:auto;display:block;margin-bottom:-30px}.site-nav{display:flex;align-items:center;gap:6px}.site-nav a{color:#9fd3cd;text-decoration:none;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:600;padding:8px 12px;border-radius:6px;transition:background-color .12s ease,color .12s ease}.site-nav a:hover{background:rgba(255,255,255,.07);color:#e9a34a}.site-nav a.site-nav-rss{display:inline-flex;align-items:center;padding:8px 10px;color:#9fd3cd}.site-nav a.site-nav-rss svg{display:block}.site-nav a.site-nav-rss:hover{color:#e9a34a}.container{max-width:var(--maxw);margin:0 auto}main.container{padding:36px 20px 80px}.page-head{margin-bottom:28px}.page-head h1{font-size:30px;line-height:1.15;margin:0 0 6px;letter-spacing:-.02em}.page-sub{color:var(--muted);margin:0;font-size:15px}.breadcrumb{font-size:14px;color:var(--muted);margin-bottom:18px}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{text-decoration:underline}article header.post-head{margin-bottom:28px}article h1{font-size:30px;line-height:1.2;margin:0 0 8px;letter-spacing:-.02em}.post-meta{font-size:14px}.post-meta,.post-meta a{color:var(--muted)}article figure.post-featured-image{margin:0 0 32px;padding:0}article figure.post-featured-image img{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:8px}article .post-body img{max-width:100%;height:auto}article .post-body pre{background:var(--code-bg);padding:14px 16px;border-radius:6px;overflow-x:auto;font-size:14px}article .post-body code{background:var(--code-bg);padding:1px 5px;border-radius:4px;font-size:.92em}article .post-body pre code{background:none;padding:0}article .post-body table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}article .post-body td,article .post-body th{border:1px solid var(--border);padding:6px 10px}main.post-wrap{max-width:1080px;margin:0 auto;padding:36px 20px 80px}.post-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;grid-gap:56px;gap:56px;align-items:start}.post-wrap>article{max-width:760px;margin:0 auto}.post-grid>article{max-width:none;margin:0}article .post-body h2,article .post-body h3{scroll-margin-top:24px}.post-byline{display:flex;align-items:center;gap:12px;margin-top:14px}.post-byline .avatar{flex:0 0 46px;width:46px;height:46px;border-radius:50%;object-fit:cover;border:1px solid var(--border)}.post-byline .byline-name{color:var(--fg);font-weight:600;text-decoration:none}.post-byline .byline-name:hover{color:var(--accent)}.post-byline .byline-title{color:var(--muted);font-weight:400}.post-byline .byline-text{font-size:14px;line-height:1.4;min-width:0}.post-byline .byline-meta{color:var(--muted);font-size:13px;margin-top:2px}.post-aside{position:-webkit-sticky;position:sticky;top:24px;align-self:start}.post-toc{margin-bottom:28px}.post-toc h2{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 10px}.post-toc ol{list-style:none;margin:0;padding:0}.post-toc li{margin:0}.post-toc a{display:block;color:var(--muted);text-decoration:none;font-size:14px;line-height:1.35;padding:5px 0 5px 12px;border-left:2px solid var(--border);transition:color .12s ease,border-color .12s ease}.post-toc a:hover{color:var(--accent);border-left-color:var(--accent)}.post-toc li.depth-3 a{padding-left:24px;font-size:13px}.news-promo{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:20px;margin-bottom:16px}.news-promo-kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:var(--accent-2);margin:0 0 8px}.news-promo-title{font-size:16px;line-height:1.25;margin:0 0 8px;letter-spacing:-.01em}.news-promo-text{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 14px}.news-promo-cta{display:block;background:var(--accent-2);color:var(--bg);font-weight:700;font-size:14px;text-align:center;text-decoration:none;padding:10px 14px;border-radius:6px;transition:background-color .12s ease}.news-promo-cta:hover{background:var(--ink)}.book-promo{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:20px;text-align:center}.book-promo-cover{display:block;width:120px;height:auto;margin:0 auto 14px}.book-promo-title{font-size:16px;line-height:1.25;margin:0 0 8px;letter-spacing:-.01em}.book-promo-text{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 14px}.book-promo-cta{display:block;background:var(--accent);color:var(--bg);font-weight:700;font-size:14px;text-decoration:none;padding:10px 14px;border-radius:6px;transition:background-color .12s ease}.book-promo-cta:hover{background:var(--ink)}.author-bio{display:flex;gap:20px;margin-top:52px;padding-top:28px;border-top:1px solid var(--border)}.author-bio .avatar{flex:0 0 88px;width:88px;height:88px;border-radius:50%;object-fit:cover;border:1px solid var(--border)}.author-bio .bio-body{min-width:0}.author-bio .bio-name{font-size:18px;font-weight:700;margin:0}.author-bio .bio-name a{color:var(--fg);text-decoration:none}.author-bio .bio-name a:hover{color:var(--accent)}.author-bio .bio-title{color:var(--muted);font-size:14px;margin:2px 0 10px}.author-bio .bio-text{margin:0 0 12px;font-size:15px;line-height:1.6}.author-bio .bio-socials{margin:0}.author-bio .bio-socials a{font-weight:600;font-size:14px;margin-right:16px;text-decoration:none}.author-bio .bio-socials a:hover{text-decoration:underline}.author-profile-head{display:flex;gap:20px;align-items:flex-start;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border)}.author-profile-head .avatar{flex:0 0 96px;width:96px;height:96px;border-radius:50%;object-fit:cover;border:1px solid var(--border)}.author-profile-head h1{font-size:26px;line-height:1.2;margin:0;letter-spacing:-.02em}.author-profile-title{color:var(--muted);font-size:14px;margin:3px 0 10px}.author-profile-bio{margin:0 0 12px;font-size:15px;line-height:1.6}.author-profile-head .bio-socials{margin:0 0 8px}.author-profile-head .bio-socials a{font-weight:600;font-size:14px;margin-right:16px;text-decoration:none}.author-profile-head .bio-socials a:hover{text-decoration:underline}.author-profile-head .page-sub{margin:0}@media (max-width:640px){.author-profile-head{flex-direction:column;gap:14px}.author-profile-head .avatar{width:76px;height:76px;flex-basis:76px}}.post-list{list-style:none;padding:0;margin:0}main.container>.post-list:first-child{margin-top:32px}.post-list li{padding:20px 0;border-bottom:1px solid var(--border)}.post-list li:first-child{padding-top:0}.post-list a{color:var(--fg);font-weight:600;text-decoration:none}.post-list a:hover{color:var(--accent)}.post-list .row-excerpt{color:var(--muted);font-size:15px;font-weight:400;margin-top:5px;line-height:1.5}.post-list .row-meta{color:var(--muted);font-size:13px;margin-top:7px}.post-list .row-meta a{color:var(--muted);font-weight:600}.post-list li.post-card{display:flex;gap:16px;align-items:flex-start}.post-card-thumb{flex:0 0 240px;width:240px;aspect-ratio:1200/630;border-radius:6px;display:block;border:1px solid var(--border);background-size:cover;background-position:50%;background-color:var(--surface)}.post-card-body{flex:1 1;min-width:0}.author-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px}.author-card{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--border);border-radius:8px;text-decoration:none;transition:border-color .12s ease,background-color .12s ease}.author-card:hover{border-color:var(--accent);background:var(--surface)}.author-card .author-name{color:var(--fg);font-weight:600}.author-card .author-count{color:var(--muted);font-size:13px}.year-jump{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--border)}.year-jump a{text-decoration:none;font-size:14px;font-weight:600;padding:4px 10px;border-radius:6px;background:var(--surface)}.year-jump a.is-current,.year-jump a:hover{color:var(--bg);background:var(--accent)}article .post-body figure.content-figure{margin:28px 0;padding:0}article .post-body figure.content-figure img{width:100%;height:auto;border:1px solid var(--border);border-radius:8px}article .post-body figure.content-figure figcaption{margin-top:10px;font-size:13px;color:var(--muted);text-align:center;line-height:1.5}.pager{justify-content:center;flex-wrap:wrap;gap:6px;margin-top:40px;padding-top:24px;border-top:1px solid var(--border)}.pager,.pager-pages{display:flex;align-items:center}.pager-pages{gap:4px}.pager-num,.pager-step{text-decoration:none;font-size:14px;font-weight:600;padding:6px 12px;border-radius:6px;background:var(--surface);color:var(--fg)}.pager-num{min-width:36px;text-align:center}.pager-num.is-current,.pager-num:hover,.pager-step:hover{color:var(--bg);background:var(--accent)}.pager-step.is-disabled{opacity:.4;background:transparent}.pager-gap{color:var(--muted);padding:0 2px}.year-section{margin-bottom:36px;scroll-margin-top:16px}.year-heading{display:flex;align-items:baseline;gap:10px;font-size:22px;letter-spacing:-.01em;margin:0 0 12px;padding-bottom:6px;border-bottom:2px solid var(--border)}.year-heading .year-count{color:var(--muted);font-size:14px;font-weight:400}.archive-list{list-style:none;padding:0;margin:0}.archive-list li{display:flex;gap:12px;padding:6px 0;align-items:baseline}.archive-list .archive-date{flex:0 0 48px;color:var(--muted);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.archive-list a{color:var(--fg);text-decoration:none}.archive-list a:hover{color:var(--accent)}.gwb-archives-note{margin-top:40px;padding-top:18px;border-top:1px solid var(--border);color:var(--muted);font-size:14px}.gwb-archives-note a{font-weight:600}.site-footer{border-top:3px solid var(--accent);background:var(--ink);margin-top:40px;font-size:14px}.site-footer,.site-footer .footer-about .footer-brand{color:var(--cream)}.site-footer .footer-about p{color:#b9a888}.site-footer .footer-col h2{color:#9fd3cd;font-family:var(--mono)}.site-footer .footer-col a{color:var(--cream)}.site-footer .footer-col a:hover{color:#e9a34a}.site-footer .footer-legal{color:#b9a888;border-top-color:rgba(255,255,255,.12)}.site-footer .wrap{max-width:var(--wide);margin:0 auto;padding-left:20px;padding-right:20px}.footer-grid{display:grid;grid-template-columns:minmax(0,420px) auto;justify-content:space-between;grid-gap:48px;gap:48px;padding-top:52px;padding-bottom:44px}.footer-col{justify-self:end}.footer-about .footer-brand{display:inline-block;font-weight:700;font-size:18px;color:var(--fg);text-decoration:none;margin-bottom:12px}.footer-about p{color:var(--muted);margin:0;max-width:36ch;line-height:1.65}.footer-col h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 16px}.footer-col a{display:block;color:var(--fg);text-decoration:none;padding:7px 0;line-height:1.4}.footer-col a:hover{color:var(--accent)}.footer-legal{border-top:1px solid var(--border);padding-top:24px;padding-bottom:40px;color:var(--muted);font-size:13px}@media (max-width:900px){.post-grid{grid-template-columns:1fr;gap:0}.post-grid>article{max-width:760px;margin:0 auto}.post-toc{display:none}.post-aside{position:static;max-width:760px;margin:40px auto 0}.book-promo,.news-promo{max-width:420px;margin-left:auto;margin-right:auto}}@media (max-width:640px){.author-bio{flex-direction:column;gap:14px}.author-bio .avatar{width:72px;height:72px;flex-basis:72px}.site-header .wrap{justify-content:center}.site-header .brand-logo{height:96px;margin-bottom:-20px}.footer-grid{grid-template-columns:1fr;gap:28px}.post-list li.post-card{flex-direction:column}.post-card-thumb{flex-basis:auto;width:100%}}.archive-list .archive-date,.page-sub,.pager,.post-list .row-meta,.year-jump a{font-family:var(--mono)}.page-sub{text-transform:uppercase;letter-spacing:.04em;font-size:13px}.post-list .row-meta{letter-spacing:.01em}.post-list .row-meta a{color:var(--accent-2)}.post-list .row-meta a:hover{color:var(--accent)}.archive-list .archive-date{color:var(--accent-2)}.page-head h1{display:inline-block;padding-bottom:8px;border-bottom:3px solid var(--accent)}