@import url("https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");
.post{
--ink:#121212;--muted:rgba(18,18,18,.62);--faint:rgba(18,18,18,.42);--rule:rgba(18,18,18,.14);--blue:#1466F5;
--fd:var(--font-display,'Inter','Helvetica Neue',Helvetica,Arial,sans-serif);
--fb:var(--font-body,'Inter','Helvetica Neue',Helvetica,Arial,sans-serif);
--fm:var(--font-mono,'JetBrains Mono',ui-monospace,monospace);
color:var(--ink);font-family:var(--fb);font-weight:300;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;
max-width:1400px;margin:0 auto;padding:48px 32px 96px;
}
html.theme-dark .post{
--ink:#F8F8F8;--muted:rgba(248,248,248,.62);--faint:rgba(248,248,248,.42);--rule:rgba(248,248,248,.16);--blue:#7FB0FF;
}
.post *{box-sizing:border-box}
.post a{color:var(--blue);text-decoration:none}
.post a:hover{color:var(--ink)}
.post h1,.post h2,.post h3,.post p,.post blockquote,.post figure,.post ul,.post ol{margin:0}
.post img{display:block;max-width:100%}
.post .head{max-width:680px;margin:0 auto}
.post .meta{display:flex;gap:18px;flex-wrap:wrap;font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}
.post .meta span+span::before{content:"·";margin-right:18px;color:var(--faint)}
.post h1{font-family:var(--fd);font-weight:300;font-size:clamp(34px,4.2vw,52px);letter-spacing:-.03em;line-height:1.05;text-wrap:balance}
.post .lede{font-size:22px;line-height:1.45;color:var(--muted);margin-top:20px;text-wrap:pretty}
.post .hero{max-width:680px;margin:44px auto 52px;aspect-ratio:3/2;overflow:hidden;background:rgba(127,127,127,.08);border-radius:2px}
.post .hero img{width:100%;height:100%;object-fit:cover}
.post .body{max-width:680px;margin:0 auto}
.post .body p{color:var(--ink);opacity:.86;text-wrap:pretty;font-size:21px;line-height:30px}
.post .body p+p,.post .body ul+p,.post .body ol+p,.post .body figure+p{margin-top:22px}
.post .body ul,.post .body ol{margin:22px 0 0;padding-left:22px;opacity:.86;font-size:21px;line-height:30px}
.post .body li{margin-bottom:8px}
.post .body li::marker{color:var(--faint)}
.post .body li b,.post .body li strong{font-weight:400;color:var(--ink)}
.post .body h3{font-family:var(--fb);font-weight:600;font-size:23px;letter-spacing:-.01em;margin:40px 0 10px}
.post .body h2{font-family:var(--fd);font-weight:300;font-size:clamp(28px,3vw,38px);letter-spacing:-.03em;line-height:1.1;margin:56px 0 18px;text-wrap:balance}
.post .body p+h2{margin-top:56px}
.post .body figure{margin:44px 0}
.post .body figure img{width:100%;border-radius:2px}
.post .body figcaption{font-family:var(--fm);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-top:12px}
.post .body p a{border-bottom:1px solid rgba(20,102,245,.35)}
.post .body p a:hover{border-color:var(--ink)}
.post .body blockquote{font-family:var(--fd);font-weight:300;font-size:clamp(26px,2.8vw,34px);letter-spacing:-.025em;line-height:1.25;margin:48px 0;padding:28px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.post .author{max-width:680px;margin:72px auto 0;padding-top:28px;border-top:1px solid var(--rule);display:flex;align-items:center;gap:18px}
.post .author img{width:56px;height:56px;flex:none;border-radius:50%;object-fit:cover}
.post .author div{display:flex;flex-direction:column;gap:2px;flex:1}
.post .author b{font-weight:400;font-size:17px}
.post .author span{font-size:14px;color:var(--muted)}
.post .author a{font-size:14px}
.post .more{max-width:1400px;margin:112px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border-top:1px solid var(--rule);padding-top:28px}
.post .more>span{grid-column:1/-1;font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.post .more a{display:flex;flex-direction:column;gap:14px;color:var(--ink);min-width:0}
.post .more a:hover b{color:var(--blue)}
.post .more a img{width:100%;aspect-ratio:3/2;object-fit:cover;background:rgba(127,127,127,.08);border-radius:2px}
.post .more b{font-weight:300;font-size:20px;letter-spacing:-.02em;line-height:1.25;text-wrap:balance}
.post .more em{font-style:normal;font-family:var(--fm);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
@media(max-width:800px){
.post{padding:32px 20px 72px}
.post .hero{margin:36px 0 44px;aspect-ratio:4/3}
.post .more{grid-template-columns:1fr;gap:36px}
.post .author{flex-wrap:wrap}
}