/* Blog composition uses the shared public design's typography and tokens. */
.blog-intro{padding:70px 0 48px;border-bottom:1px solid var(--line)}
.blog-intro h1{font-size:58px;max-width:860px}.blog-lead{font-size:18px;line-height:1.7;max-width:740px;margin-top:24px}.blog-intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:24px}.blog-rss{font-size:13px;white-space:nowrap}.blog-feature{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:48px 0;border-bottom:1px solid var(--line);align-items:center}.blog-feature.without-cover{grid-template-columns:1fr;max-width:900px}.blog-meta{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;color:var(--muted);margin-bottom:20px}.blog-meta>span:first-child{color:var(--blue)}.blog-feature h2{font-size:36px;line-height:1.2;letter-spacing:-.035em}.blog-feature h2 a,.blog-row h3 a{color:var(--ink)}.blog-feature p{margin-top:18px;line-height:1.8}.blog-feature img{width:100%;max-height:340px;object-fit:cover;border:1px solid var(--line);border-radius:6px}.blog-feature-bottom{display:flex;justify-content:space-between;gap:20px;font-size:13px;margin-top:30px}.blog-list{padding-top:36px}.blog-list>h2{font-size:17px;margin-bottom:12px}.blog-row{display:grid;grid-template-columns:190px 1fr 36px;gap:32px;padding:32px 0;border-bottom:1px solid var(--line)}.blog-row .blog-meta{flex-direction:column;gap:8px;margin:0}.blog-row h3{font-size:24px;letter-spacing:-.025em;line-height:1.35}.blog-row p{margin-top:10px;max-width:720px}.blog-row-author{display:block;margin-top:14px;font-size:12px;color:var(--muted)}.blog-row-link{font-size:23px}.blog-empty{padding:55px 0 80px}.blog-empty p{margin:14px 0 24px;max-width:620px}.article-intro{max-width:960px;border:0;padding-bottom:42px}.blog-back{display:inline-block;font-size:13px;margin-bottom:40px}.article-intro .blog-meta{margin-bottom:20px}.blog-byline{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px;margin-top:28px}.author-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--ink);color:#fff;border-radius:50%;font-weight:700}.blog-updated{margin-left:12px;color:var(--muted)}.blog-cover{display:block;width:100%;max-height:540px;object-fit:cover;border:1px solid var(--line);border-radius:6px;margin-bottom:50px}.blog-reading{display:grid;grid-template-columns:minmax(0,760px) 220px;gap:90px;padding:12px 0 48px}.blog-prose{min-width:0;font-size:17px;line-height:1.85;overflow-wrap:anywhere}.blog-prose p{margin-bottom:24px;color:#363b44}.blog-prose h2{font-size:29px;margin:38px 0 18px}.blog-prose h3{font-size:21px;margin:30px 0 14px}.blog-prose>h2:first-child{margin-top:0}.blog-prose ul,.blog-prose ol{padding-left:25px;margin:20px 0 26px}.blog-prose li{padding-left:5px;margin:8px 0;color:#363b44}.blog-prose pre{padding:22px;background:var(--soft);border:1px solid var(--line);border-radius:6px;margin:24px 0;max-width:100%;overflow-wrap:normal}.blog-prose pre code{font-size:13px}.blog-prose table{display:block;overflow:auto;max-width:100%;border-collapse:collapse;margin:24px 0;font-size:14px}.blog-prose th,.blog-prose td{padding:12px 16px;border:1px solid var(--line);text-align:left;min-width:130px}.blog-prose blockquote{border-left:2px solid var(--blue);margin:28px 0;padding:4px 0 4px 22px}.blog-prose blockquote p{margin:0}.blog-prose img{display:block;max-width:100%;height:auto;margin:24px 0}.blog-outline{align-self:start;position:sticky;top:108px;border-left:1px solid var(--line);padding-left:25px}.blog-outline nav{display:flex;flex-direction:column;margin:12px 0 28px;gap:13px}.blog-outline nav a{font-size:13px;color:var(--muted)}.blog-end{display:flex;flex-wrap:wrap;gap:22px;justify-content:space-between;padding:28px 0;border-top:1px solid var(--line);font-size:13px}
@media(max-width:1000px){.blog-intro h1{font-size:48px}.blog-feature{gap:30px}.blog-feature h2{font-size:30px}.blog-reading{gap:40px;grid-template-columns:minmax(0,1fr) 180px}.blog-row{grid-template-columns:140px 1fr 25px;gap:24px}.blog-site .mobile-toggle{display:inline-flex}.blog-site .mobile-public.open{display:flex;position:fixed;top:72px;left:0;right:0;background:#fff;z-index:40;padding:16px 20px;border-bottom:1px solid var(--line);gap:22px;flex-wrap:wrap}}
@media(max-width:767px){.blog-intro{padding:40px 0 30px}.blog-intro h1{font-size:39px}.blog-lead{font-size:16px;margin-top:20px}.desktop-break{display:none}.blog-intro-bottom{display:block}.blog-intro-bottom .blog-rss{display:inline-block;margin-top:20px}.blog-feature{grid-template-columns:1fr;padding:30px 0;gap:25px}.blog-feature h2{font-size:29px}.blog-feature img{max-height:260px}.blog-row{grid-template-columns:1fr 24px;gap:14px;padding:26px 0}.blog-row .blog-meta{grid-column:1 / -1;flex-direction:row;gap:14px}.blog-row h3{font-size:23px}.blog-reading{display:flex;flex-direction:column;gap:24px;padding-top:0}.blog-outline{order:-1;position:static;border-left:0;border-bottom:1px solid var(--line);padding:0 0 22px}.blog-outline nav{flex-direction:row;flex-wrap:wrap;gap:4px 15px;margin-bottom:0}.blog-outline nav a{padding:8px 0}.blog-outline>.blog-rss{display:none}.blog-prose{font-size:16px}.blog-prose h2{font-size:26px}.blog-prose h3{font-size:20px}.blog-prose pre{padding:16px}.blog-back{margin-bottom:28px}.blog-byline{gap:9px}.blog-updated{margin-left:0;flex-basis:100%}.blog-cover{margin-bottom:30px}.blog-empty{padding:35px 0 45px}.blog-site .mobile-public.open{top:64px;gap:5px}}
