.blog{--measure:700px;--card:#fff;--good:#1d7a4c;--bad:#c62b2b}.blog .accent{color:var(--brand)}.blog .dot{background:var(--brand);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:10px;display:inline-block}.blog .muted{color:var(--muted)}.blog .kicker{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brand);font-size:11.5px}.blog-hero{padding:clamp(48px, 7vw, 104px) var(--gutter) clamp(36px, 5vw, 64px)}.blog-hero h1{letter-spacing:-.05em;max-width:14ch;margin:22px 0 24px;font-size:clamp(44px,7vw,104px);font-weight:500;line-height:.96}.blog-hero .lede{color:var(--ink-2);max-width:46ch;font-size:clamp(18px,1.6vw,21px);line-height:1.5}.chips{flex-wrap:wrap;gap:8px;margin-top:28px;list-style:none;display:flex}.chips li{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--rule);color:var(--ink-2);background:var(--card);border-radius:999px;padding:8px 14px;font-size:12px}.blog-list{gap:clamp(20px,2.4vw,32px);padding-bottom:clamp(48px,6vw,88px);display:grid}.post-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:clamp(20px,2.4vw,32px);display:grid}.post-card{background:var(--card);border:1px solid var(--rule);transition:transform .5s var(--ease), box-shadow .5s var(--ease), border-color .3s;border-radius:22px;overflow:hidden}.post-card:hover{border-color:#d6d3ca;transform:translateY(-4px);box-shadow:0 24px 60px -28px #0e0e0c59}.post-card-link{flex-direction:column;height:100%;display:flex}.post-card-art{aspect-ratio:1200/560;background:var(--ink);overflow:hidden}.post-card-art .banner{width:100%;height:100%;transition:transform .8s var(--ease)}.post-card:hover .post-card-art .banner{transform:scale(1.03)}.post-card-body{flex-direction:column;flex:1;gap:12px;padding:26px 28px 28px;display:flex}.post-card h3{letter-spacing:-.025em;font-size:clamp(22px,2vw,27px);font-weight:600;line-height:1.15}.post-card-desc{color:var(--ink-2);flex:1;font-size:16px;line-height:1.55}.post-card.featured .post-card-link{grid-template-columns:1.25fr 1fr;display:grid}.post-card.featured .post-card-art{aspect-ratio:1200/560;align-self:center;height:auto}.post-card.featured .post-card-link{background:var(--ink);align-items:center}.post-card.featured .post-card-body{background:var(--card);justify-content:center;align-self:stretch;padding:clamp(28px,3.4vw,52px)}.post-card.featured h3{letter-spacing:-.035em;font-size:clamp(28px,3.2vw,44px)}@media (max-width:860px){.post-card.featured .post-card-link{grid-template-columns:1fr}.post-card.featured .post-card-art{aspect-ratio:1200/560}}.byline{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:14.5px;display:flex}.byline a{color:var(--ink);border-bottom:1px solid var(--rule);font-weight:600}.byline a:hover{border-color:var(--brand)}.byline.small{font-size:13px}.byline .sep{opacity:.5}.avatar{background:var(--ink);width:30px;height:30px;color:var(--paper);font:600 11px var(--sans);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;display:inline-grid}.byline.small .avatar{width:24px;height:24px;font-size:9.5px}.avatar.big{background:var(--brand);width:64px;height:64px;font-size:20px}.blog-cta{color:var(--paper);background:radial-gradient(120% 140% at 0% 0%, #ff4a1c73, #ff4a1c00 55%), var(--ink);border-radius:26px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;margin-bottom:clamp(56px,7vw,104px);padding:clamp(32px,4vw,56px);display:flex}.blog-cta h2{letter-spacing:-.03em;max-width:22ch;margin:10px 0;font-size:clamp(26px,3vw,40px);font-weight:500;line-height:1.1}.blog-cta p:not(.mono){color:#c9c8c1;max-width:48ch}.blog-cta .mono{color:#a9a8a1}.pill.big{background:var(--brand);height:52px;padding:0 26px;font-size:16px}.pill.big:hover{background:var(--paper);color:var(--ink)!important}.post-hero{gap:clamp(20px,3vh,32px);padding-top:clamp(20px,4vh,48px);display:grid}.post-head{min-width:0}.crumbs{align-items:center;gap:10px;display:flex}.crumbs a{color:var(--brand)}.crumbs a:hover{text-decoration:underline}.post-head h1{letter-spacing:-.04em;text-wrap:balance;max-width:22ch;margin:clamp(10px,2vh,18px) 0 clamp(10px,2vh,16px);font-size:clamp(30px,min(4.2vw,6.2vh),58px);font-weight:500;line-height:1.04}.post-head .lede{color:var(--ink-2);max-width:62ch;margin-bottom:clamp(12px,2.2vh,22px);font-size:clamp(16px,min(1.35vw,2.3vh),19px);line-height:1.5}.post-banner{aspect-ratio:1200/560;background:var(--ink);border-radius:22px;margin:0;overflow:hidden;box-shadow:0 40px 90px -50px #0e0e0c8c}@media (max-width:899px){.post-banner{width:min(100%,720px)}}@media (max-width:420px){.post-head h1{font-size:clamp(24px,6.6vw,30px)}.post-head .lede{font-size:15px;line-height:1.45}.post-head .byline{font-size:13px}}@media (min-width:900px){.post-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:clamp(32px,4vw,64px);padding-top:clamp(28px,5vh,56px);padding-bottom:8px}.post-head h1{font-size:clamp(30px,min(3.4vw,6vh),58px)}}.post-banner .banner{width:100%;height:100%;display:block}.post-grid-main{grid-template-columns:minmax(0, var(--measure)) 280px;justify-content:space-between;gap:64px;padding-top:clamp(32px,4vw,56px);display:grid}@media (max-width:1080px){.post-grid-main{grid-template-columns:minmax(0,1fr)}.post-aside{display:none}.prose{width:100%;max-width:var(--measure);justify-self:center}}.post-grid-main>*{min-width:0}.post-aside{align-self:start;gap:20px;display:grid;position:sticky;top:100px}.toc{border-left:1px solid var(--rule);padding-left:20px}.toc ol{gap:10px;margin-top:14px;list-style:none;display:grid}.toc a{color:var(--ink-2);font-size:14.5px;line-height:1.4;transition:color .2s;display:block}.toc a:hover{color:var(--brand)}.aside-cta{background:var(--card);border:1px solid var(--rule);color:var(--ink-2);border-radius:18px;gap:10px;padding:20px;font-size:15px;display:grid}.aside-cta .pill{justify-self:start;height:38px;font-size:14px}.prose{color:#22221f;font-size:18.5px;line-height:1.72}.prose>*+*{margin-top:1.15em}.prose h2{letter-spacing:-.03em;color:var(--ink);margin-top:2.1em;scroll-margin-top:96px;font-size:clamp(27px,2.4vw,34px);font-weight:600;line-height:1.15;position:relative}.prose h3{letter-spacing:-.015em;color:var(--ink);margin-top:1.8em;scroll-margin-top:96px;font-size:21px;font-weight:600;line-height:1.3;position:relative}.prose .anchor{color:var(--rule);opacity:0;font-weight:400;transition:opacity .2s;position:absolute;left:-1.1em}.prose h2:hover .anchor,.prose h3:hover .anchor{opacity:1}.prose a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand);text-underline-offset:3px;text-decoration-thickness:2px}.prose a:hover{color:var(--brand)}.prose strong{color:var(--ink);font-weight:650}.prose code{font-family:var(--mono);background:var(--paper-2);border:1px solid var(--rule);border-radius:6px;padding:.1em .38em;font-size:.84em}.prose ul,.prose ol{gap:.5em;padding-left:1.3em;display:grid}.prose li::marker{color:var(--brand);font-weight:600}.prose blockquote{border-left:3px solid var(--brand);color:var(--ink-2);padding-left:1.1em;font-style:italic}.prose .code{background:#141412;border:1px solid #2a2a26;border-radius:16px;margin:1.6em 0;overflow:hidden}.prose .code figcaption{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#8b8a83;background:#1b1b18;border-bottom:1px solid #2a2a26;padding:10px 18px;font-size:11.5px}.prose .code pre{margin:0;padding:18px 20px;overflow-x:auto}.prose .code code{color:#f1efe8;background:0 0;border:0;padding:0;font-size:14.5px;line-height:1.65}.prose .callout{border:1px solid;border-radius:16px;gap:6px;padding:18px 22px;font-size:16.5px;line-height:1.6;display:grid}.prose .callout>b{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:11.5px}.prose .callout-tip{background:#edf7f1;border-color:#cde9d9}.prose .callout-tip>b{color:var(--good)}.prose .callout-note{background:#eef2ff;border-color:#d8e0fb}.prose .callout-note>b{color:#3b5bdb}.prose .callout-warning{background:#fff3ee;border-color:#ffd9cb}.prose .callout-warning>b{color:#c2410c}.prose .table{border:1px solid var(--rule);background:var(--card);border-radius:16px;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:15.5px;line-height:1.5}.prose th{text-align:left;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--paper-2);font-size:11.5px;font-weight:400}.prose th,.prose td{border-bottom:1px solid var(--rule);vertical-align:top;padding:13px 16px}.prose tr:last-child td{border-bottom:0}.post-after{max-width:calc(var(--measure) + 2 * var(--gutter));gap:56px;margin:0 auto;padding-top:64px;padding-bottom:clamp(56px,7vw,104px);display:grid}@media (min-width:1081px){.post-after{max-width:1440px}.post-after>*{max-width:var(--measure)}.post-after>.related{max-width:none}}.author-card{background:var(--card);border:1px solid var(--rule);border-radius:22px;flex-wrap:wrap;align-items:center;gap:20px;padding:28px;display:flex}.author-card>div{flex:1;gap:4px;min-width:220px;display:grid}.author-name{letter-spacing:-.02em;font-size:22px;font-weight:600}.author-name a:hover{color:var(--brand)}.author-card .muted{font-size:15px;line-height:1.5}.li-btn{color:#fff;background:#0a66c2;border-radius:999px;align-items:center;height:40px;padding:0 18px;font-size:14.5px;font-weight:500;transition:background .2s;display:inline-flex}.li-btn:hover{background:#004182}.related h2{letter-spacing:-.03em;margin-bottom:22px;font-size:clamp(26px,2.6vw,36px);font-weight:500}.comments{gap:22px;scroll-margin-top:96px;display:grid}.c-head h2{letter-spacing:-.03em;align-items:center;gap:12px;font-size:clamp(26px,2.6vw,34px);font-weight:600;display:flex}.c-count{font:600 13px var(--mono);background:var(--ink);color:var(--paper);letter-spacing:0;border-radius:999px;padding:4px 10px}.c-head p{margin-top:6px;font-size:15.5px}.c-signin{background:linear-gradient(135deg,#fff 0%,#fff7f3 100%);border:1px solid #ffdccf;border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:24px 26px;display:flex}.c-signin b{letter-spacing:-.01em;font-size:18px}.c-signin p{color:var(--ink-2);max-width:46ch;margin-top:4px;font-size:15px}.c-google{background:#fff;border:1px solid #d9d7cf;border-radius:999px;align-items:center;gap:10px;height:46px;padding:0 20px;font-size:15px;font-weight:600;transition:box-shadow .2s,transform .2s;display:inline-flex;box-shadow:0 2px 8px -4px #00000026}.c-google:hover{transform:translateY(-1px);box-shadow:0 8px 22px -10px #0000004d}.c-composer{align-items:flex-start;gap:14px;display:flex}.c-composer-box{border:1px solid var(--rule);background:var(--card);border-radius:18px;flex:1;transition:border-color .2s,box-shadow .2s}.c-composer-box:focus-within{border-color:var(--ink);box-shadow:0 0 0 4px #0e0e0c0f}.c-composer textarea{resize:vertical;width:100%;min-height:84px;font:16px/1.6 var(--sans);color:var(--ink);background:0 0;border:0;outline:0;padding:16px 18px 6px}.c-composer-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px 10px 18px;display:flex}.c-hint{color:var(--muted);font-size:12.5px}.c-error{color:var(--bad);font-size:13.5px}.c-actions{gap:8px;margin-left:auto;display:flex}.c-btn{background:var(--ink);height:38px;color:var(--paper);font:600 14px var(--sans);cursor:pointer;border:0;border-radius:999px;padding:0 18px;transition:background .2s}.c-btn:hover:not(:disabled){background:var(--brand)}.c-btn:disabled{opacity:.4;cursor:default}.c-btn.ghost{color:var(--ink-2);background:0 0}.c-btn.ghost:hover:not(:disabled){background:var(--paper-2)}.c-avatar{background:var(--paper-2);border:1px solid var(--rule);width:36px;height:36px;color:var(--ink-2);font:600 14px var(--sans);object-fit:cover;border-radius:50%;flex:none;place-items:center;display:inline-grid}.c-list,.c-list ol{list-style:none}.c-list{gap:4px;display:grid}.c-thread{border-top:1px solid var(--rule);padding:18px 0}.c-item{gap:14px;display:flex}.c-main{flex:1;gap:6px;min-width:0;display:grid}.c-meta{flex-wrap:wrap;align-items:center;gap:8px;font-size:14.5px;display:flex}.c-badge{font:600 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--brand);border-radius:5px;padding:3px 7px}.c-time{color:var(--muted);font-size:13px}.c-body{white-space:pre-wrap;overflow-wrap:anywhere;color:#22221f;font-size:16px;line-height:1.65}.c-item.deleted .c-body{color:var(--muted);font-style:italic}.c-tools{gap:16px;display:flex}.c-tools button,.c-tools a{font:600 13px var(--sans);color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0}.c-tools button:hover,.c-tools a:hover{color:var(--brand)}.c-replies{border-left:2px solid var(--rule);gap:16px;margin:14px 0 0 50px;padding-left:18px;display:grid}@media (max-width:560px){.c-replies{margin-left:18px}}.c-empty{border:1px dashed var(--rule);text-align:center;color:var(--muted);border-radius:18px;padding:28px}.c-loading{gap:12px;display:grid}.c-loading span{background:linear-gradient(90deg, var(--paper-2), #ecebe6, var(--paper-2));background-size:200% 100%;border-radius:16px;height:64px;animation:1.4s infinite c-shimmer}@keyframes c-shimmer{to{background-position:-200% 0}}.linklike{font:inherit;color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.prose .shot{margin:2em 0}.prose .shot img{border:1px solid var(--rule);background:#fff;border-radius:16px;width:100%;height:auto;display:block;box-shadow:0 24px 50px -36px #0e0e0c73}.prose .shot figcaption{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.5}.prose .shot figcaption strong{color:var(--ink-2)}@property --ring{syntax:"<angle>";inherits:false;initial-value:0deg}.cta-wrap{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:clamp(14px,2.4vh,24px);display:flex}.cta-ring{isolation:isolate;color:#fff;letter-spacing:-.01em;background:linear-gradient(135deg, #ff5a2e, var(--brand) 55%, #e63a10);height:52px;transition:transform .35s var(--ease), box-shadow .35s var(--ease);border-radius:999px;align-items:center;gap:12px;padding:0 26px;font-size:16px;font-weight:600;display:inline-flex;position:relative;box-shadow:0 10px 28px -10px #ff4a1cb3}.cta-ring:before{content:"";z-index:-2;border-radius:inherit;background:conic-gradient(from var(--ring), transparent 0 55%, #ff4a1c59 65%, #ffd9cc 80%, #fff 86%, #ff4a1c 92%, transparent 100%);animation:2.6s linear infinite cta-spin;position:absolute;inset:-3px}.cta-ring:after{content:"";z-index:-3;border-radius:inherit;animation:cta-pulse 2.6s var(--ease) infinite;position:absolute;inset:-3px;box-shadow:0 0 #ff4a1c73}.cta-label{position:relative}.cta-arrow{width:26px;height:26px;transition:transform .35s var(--ease), background .35s;background:#fff3;border-radius:50%;place-items:center;display:inline-grid}.cta-ring:hover,.cta-ring:focus-visible{transform:translateY(-2px)scale(1.02);box-shadow:0 18px 38px -12px #ff4a1ccc}.cta-ring:hover .cta-arrow,.cta-ring:focus-visible .cta-arrow{background:#ffffff52;transform:translate(4px)}.cta-ring:hover:before{animation-duration:1.2s}.cta-ring:active{transform:translateY(0)scale(.99)}.cta-ring:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.cta-note{color:var(--muted);font-size:13.5px}@keyframes cta-spin{to{--ring:360deg}}@keyframes cta-pulse{0%{box-shadow:0 0 #ff4a1c73}70%,to{box-shadow:0 0 0 14px #ff4a1c00}}@media (prefers-reduced-motion:reduce){.cta-ring:before,.cta-ring:after{animation:none}.cta-ring:before{background:#ff4a1c66}}@media (max-width:420px){.cta-ring{height:48px;padding:0 20px;font-size:15px}}.blog-hero .cta-wrap{margin:28px 0 4px}@media (max-width:420px) and (max-height:700px){.post-head .lede{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}
