.blog{--ink: #1e2b25;--muted: #5e6d64;--rule: #e3e8e4;--brand: #047857;--brand-deep: #065f46;--tint: #ecf5f0;--serif: "Source Serif 4", Georgia, "Times New Roman", serif;color:var(--ink);background:#fff}.blog a:focus-visible,.blog button:focus-visible,.blog input:focus-visible,.blog summary:focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:2px}.blog-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:9999px;background:var(--brand);color:#fff;font-weight:600;letter-spacing:.02em}.blog-avatar--sm{width:24px;height:24px;font-size:10px}.blog-avatar--md{width:44px;height:44px;font-size:15px}.blog-avatar--lg{width:64px;height:64px;font-size:21px}.blog-chip{display:inline-flex;align-items:center;padding:6px 14px;border-radius:9999px;background:#f2f4f2;color:var(--ink);font-size:14px;line-height:1.3;transition:background-color .15s}.blog-chip:hover{background:var(--tint)}.blog-tabs{position:sticky;top:64px;z-index:30;background:#fffffff2;backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}.blog-tabs__row{display:flex;gap:28px;overflow-x:auto;scrollbar-width:none}.blog-tabs__row::-webkit-scrollbar{display:none}.blog-tabs__row a{flex-shrink:0;padding:16px 0 14px;font-size:14px;color:var(--muted);border-bottom:1px solid transparent;margin-bottom:-1px;white-space:nowrap}.blog-tabs__row a:hover{color:var(--ink)}.blog-tabs__row a[aria-current=true]{color:var(--ink);border-bottom-color:var(--ink)}.blog-feed-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 32px;padding:28px 0;border-bottom:1px solid var(--rule)}.blog-feed-item[hidden]{display:none}.blog-feed-item__byline{grid-column:1 / -1;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.blog-feed-item__byline strong{color:var(--ink);font-weight:500}.blog-feed-item h2{font-size:22px;line-height:1.25;font-weight:700;letter-spacing:-.015em;margin-bottom:6px}.blog-feed-item h2 a:hover{text-decoration:underline;text-underline-offset:3px}.blog-feed-item__summary{font-family:var(--serif);font-size:16px;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-feed-item__meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px;font-size:13px;color:var(--muted)}.blog-feed-item__meta .blog-chip{font-size:13px;padding:4px 10px}.blog-thumb{display:block;width:160px;aspect-ratio:3 / 2;overflow:hidden;border-radius:4px;background:var(--tint);align-self:center}.blog-thumb>*{width:100%;height:100%;object-fit:cover}.blog-side h2{font-size:16px;font-weight:600;margin-bottom:18px}.blog-side section+section{margin-top:40px;padding-top:32px;border-top:1px solid var(--rule)}.blog-side__pick+.blog-side__pick{margin-top:22px}.blog-side__pick a{display:block;margin-top:8px;font-weight:700;line-height:1.3}.blog-side__pick a:hover{text-decoration:underline;text-underline-offset:3px}.blog-search{display:flex;align-items:center;gap:10px;background:#f5f7f5;border-radius:9999px;padding:0 16px}.blog-search input{flex:1;min-width:0;background:transparent;border:0;padding:11px 0;font-size:14px;color:var(--ink)}.blog-search input:focus{outline:none}.blog-search:focus-within{outline:2px solid var(--brand);outline-offset:2px}.blog-progress{position:fixed;top:64px;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--brand);z-index:60}.blog-column{max-width:680px;margin-inline:auto;padding-inline:24px}.blog-title{font-size:clamp(32px,5vw,44px);line-height:1.12;font-weight:700;letter-spacing:-.025em}.blog-subtitle{font-family:var(--serif);font-size:clamp(19px,2.4vw,22px);line-height:1.45;color:var(--muted);margin-top:14px}.blog-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-block:1px solid var(--rule)}.blog-actions__share{display:flex;align-items:center;gap:4px}.blog-icon-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;border-radius:9999px;font-size:13px;color:var(--muted);transition:color .15s,background-color .15s}.blog-icon-btn:hover{color:var(--ink);background:#f2f4f2}.blog-icon-btn svg{width:18px;height:18px}.blog-toc{margin:32px 0 8px;border-left:2px solid var(--rule);padding-left:18px}.blog-toc summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--ink)}.blog-toc ol{margin-top:12px;padding-left:18px;list-style:decimal}.blog-toc li{margin:8px 0;font-size:14px;line-height:1.4;color:var(--muted)}.blog-toc a:hover{color:var(--brand);text-decoration:underline}.blog-body{font-family:var(--serif);font-size:20px;line-height:1.75;color:var(--ink);margin-top:40px}.blog-body>*+*{margin-top:1.4em}.blog-body h2{font-family:ui-sans-serif,system-ui,sans-serif;font-size:26px;line-height:1.25;font-weight:700;letter-spacing:-.015em;margin-top:2.2em;scroll-margin-top:96px}.blog-body h3{font-family:ui-sans-serif,system-ui,sans-serif;font-size:21px;line-height:1.3;font-weight:700;margin-top:1.8em;scroll-margin-top:96px}.blog-body h4{font-family:ui-sans-serif,system-ui,sans-serif;font-size:18px;font-weight:700}.blog-body h2+*,.blog-body h3+*,.blog-body h4+*{margin-top:.6em}.blog-body a{color:var(--brand-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.blog-body a:hover{color:var(--brand)}.blog-body strong{font-weight:600}.blog-body ul,.blog-body ol{padding-left:1.3em}.blog-body ul{list-style:disc}.blog-body ol{list-style:decimal}.blog-body li+li{margin-top:.5em}.blog-body li::marker{color:var(--muted)}.blog-body blockquote{border-left:3px solid var(--brand);padding-left:22px;font-style:italic;color:#34433b}.blog-body blockquote>*+*{margin-top:.8em}.blog-body hr{border:0;text-align:center;margin-block:2.4em}.blog-body hr:before{content:"···";letter-spacing:.8em;color:var(--muted);font-size:24px}.blog-body code{font-size:.85em;background:#f2f4f2;padding:2px 6px;border-radius:4px}.blog-body img{border-radius:4px}.blog-body table{display:block;overflow-x:auto;width:100%;border-collapse:collapse;font-family:ui-sans-serif,system-ui,sans-serif;font-size:15px;line-height:1.45}.blog-body th{text-align:left;font-weight:600;background:var(--tint);padding:10px 14px;border-bottom:1px solid #cfdcd3;white-space:nowrap}.blog-body td{padding:10px 14px;border-bottom:1px solid var(--rule);vertical-align:top;min-width:140px}.blog-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:48px}.blog-author{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;margin-top:40px;padding-top:32px;border-top:1px solid var(--rule)}.blog-author__name{font-size:20px;font-weight:700}.blog-author p{grid-column:2;font-size:15px;line-height:1.6;color:var(--muted)}.blog-next{margin-top:40px;padding:28px;border-radius:6px;background:var(--tint)}.blog-next h2{font-size:20px;font-weight:700;line-height:1.3}.blog-next p{margin-top:8px;font-size:15px;line-height:1.6;color:#3c4c43}.blog-more{background:#f7f9f7;border-top:1px solid var(--rule);margin-top:72px;padding-block:56px 72px}.blog-more__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.blog-more__card .blog-thumb{width:100%;margin-bottom:14px}.blog-more__card h3{font-size:18px;font-weight:700;line-height:1.3}.blog-more__card h3 a:hover{text-decoration:underline;text-underline-offset:3px}.blog-more__card p{margin-top:6px;font-family:var(--serif);font-size:15px;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:1023px){.blog-more__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:639px){.blog-feed-item{gap:8px 16px;padding:22px 0}.blog-feed-item h2{font-size:18px}.blog-feed-item__summary{display:none}.blog-thumb{width:88px;aspect-ratio:1}.blog-body{font-size:18px;line-height:1.7}.blog-body h2{font-size:23px}.blog-more__grid{grid-template-columns:minmax(0,1fr)}.blog-icon-btn span{display:none}}@media(prefers-reduced-motion:reduce){.blog-progress{display:none}.blog-chip,.blog-icon-btn{transition:none}}
