.blog-page main{min-height:65vh}.blog-page h1{text-wrap:balance;max-width:920px;font-size:clamp(2.25rem,4.6vw,4rem);line-height:1.08}.blog-intro{max-width:780px;padding:72px 0 44px}.blog-intro .eyebrow,.article-intro .eyebrow{margin-bottom:16px}.blog-page .article-description{color:var(--muted);max-width:740px;margin-top:24px;font-size:1.2rem;line-height:1.6}.blog-page .rss-link{color:var(--teal-deep);text-underline-offset:4px;margin-top:24px;font-size:.9rem;display:inline-block}.post-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-bottom:80px;display:grid}.post-card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:32px}.post-card h2{margin:16px 0;font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.2}.post-card h2 a{text-decoration:none}.post-card h2 a:hover{color:var(--teal-deep)}.post-card>p:not(.article-meta){color:var(--muted)}.post-card .read-link{color:var(--teal-deep);text-underline-offset:4px;margin-top:24px;font-weight:600;display:inline-block}.blog-page .article-meta{color:var(--muted);font-size:.9rem}.article-intro{border-bottom:1px solid var(--line);padding-top:36px;padding-bottom:44px}.blog-page .back-link{color:var(--teal-deep);font-size:.95rem;text-decoration:none;display:inline-block}.article-intro .back-link{margin-bottom:40px}.article-intro .article-meta{margin-top:24px}.article-grid{grid-template-columns:minmax(0,740px) minmax(180px,260px);align-items:start;gap:64px;padding-top:40px;display:grid}.article-toc{border-left:2px solid var(--line);grid-area:1/2;padding-left:20px;font-size:.88rem;position:sticky;top:96px}.article-toc summary{cursor:pointer;font-weight:600}.article-toc ol{margin:18px 0 0;padding:0;list-style:none}.article-toc li+li{margin-top:12px}.article-toc a{color:var(--muted);text-decoration:none}.article-toc a:hover{color:var(--teal-deep)}.blog-page .prose{overflow-wrap:anywhere;grid-area:1/1;min-width:0;font-size:1.08rem;line-height:1.8}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol,.prose blockquote{margin:1.2em 0}.prose h2{margin:2.2em 0 .8em;scroll-margin-top:120px;font-size:1.8rem;line-height:1.25}.prose h3{margin:1.8em 0 .7em;scroll-margin-top:120px;font-size:1.25rem}.prose li+li{margin-top:.4em}.prose a{color:var(--teal-deep);text-underline-offset:3px}.prose blockquote{border-left:3px solid var(--teal);background:var(--paper-2);margin-left:0;margin-right:0;padding:4px 24px}.prose table{border-collapse:collapse;width:100%;margin:28px 0;font-size:.95rem}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:12px}.prose th{background:var(--paper-2)}.prose .blog-image{box-sizing:border-box;border-radius:var(--radius);max-width:100%;height:auto;margin:28px auto;display:block}.prose .blog-image--desktop{border:1px solid var(--line);box-shadow:0 10px 28px #1c30291a}.prose pre{border-radius:8px;padding:20px;overflow-x:auto}.article-end{justify-content:space-between;align-items:center;gap:24px;padding-block:48px 72px;display:flex}.blog-empty{border:1px solid var(--line);background:var(--paper-2);border-radius:var(--radius);margin-bottom:80px;padding:32px}.blog-empty p+p{color:var(--muted);margin-top:16px}.blog-empty ul{flex-wrap:wrap;gap:24px;padding:0;list-style:none;display:flex}.blog-empty a{color:var(--teal-deep);text-underline-offset:4px}.blog-page .draft-label{color:#805000;background:#fff0c7;margin-bottom:16px;padding:8px 12px}@media (width<=850px){.article-grid{grid-template-columns:minmax(0,1fr);gap:28px}.article-toc{grid-area:auto/1;position:static}.blog-page .prose{grid-row:auto}}@media (width<=640px){.post-list{grid-template-columns:minmax(0,1fr)}.post-card{padding:24px}.blog-intro{padding-top:44px}.article-intro .back-link{margin-bottom:28px}.blog-page .prose{font-size:1rem}.prose th,.prose td{padding:10px 8px}.article-end{flex-wrap:wrap}}
