.post-list{border-top:1.5px solid var(--ink);padding:0;list-style:none}.post-row{border-bottom:1px solid var(--rule);padding-block:clamp(24px,3vw,36px)}.post-row__meta{color:var(--ink-3);gap:2px;font-size:.9375rem;display:grid}.post-row__meta time{color:var(--ink-2);font-weight:600}.post-row__title{font-size:var(--h3);letter-spacing:-.025em;max-width:32ch;line-height:1.15}.post-row__title a{color:var(--ink);text-decoration:none}.post-row__title a:hover{color:var(--brand);text-decoration:underline;text-decoration-thickness:1px}.post-row__desc{max-width:60ch;color:var(--ink-2);margin-top:10px}.post-row__time{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;font-size:.9375rem;display:flex}.blog-empty{border-top:1.5px solid var(--ink);justify-items:start;gap:8px;padding-top:clamp(24px,3vw,36px);display:grid}.blog-empty__line{font-size:var(--h3);letter-spacing:-.025em;font-weight:600;line-height:1.15}.post-title{max-width:24ch}.post-byline{color:var(--ink-3);flex-wrap:wrap;gap:4px 0;margin-top:22px;font-size:.9375rem;display:flex}.post-byline>*+:before{content:"·";color:var(--rule-strong);margin-inline:10px}.post-byline>span:first-child{color:var(--ink-2);font-weight:600}.post-draft{border:1px dashed var(--rule-strong);border-radius:var(--radius-sm);max-width:60ch;color:var(--ink-2);margin-top:20px;padding:10px 14px;font-size:.9375rem}.post-cover{aspect-ratio:16/9;border-radius:var(--radius);background:var(--tint);margin-top:clamp(28px,4vw,48px);position:relative;overflow:hidden}.post-cover img{object-fit:cover}@media (min-width:900px){.post-cover{aspect-ratio:2}}.post-column{max-width:68ch;font-size:1.125rem}.prose{color:var(--ink);line-height:1.75}.prose>*+*{margin-top:1.25em}.prose h2,.prose h3{scroll-margin-top:calc(var(--header-h) + 24px)}.prose h2{letter-spacing:-.03em;margin-top:2.2em;font-size:clamp(1.5rem,1.25rem + .8vw,1.875rem);line-height:1.15}.prose h3{letter-spacing:-.02em;margin-top:1.8em;font-size:1.25rem;line-height:1.25}.prose h2+*,.prose h3+*{margin-top:.6em}.prose>:first-child{margin-top:0}.prose strong{font-weight:650}.prose a{text-decoration:underline}.prose ul,.prose ol{gap:.5em;padding-left:1.4em;display:grid}.prose li::marker{color:var(--brand)}.prose ol li::marker{font-weight:600}.prose blockquote{border-left:3px solid var(--brand);color:var(--ink);letter-spacing:-.015em;margin-block:1.9em;margin-inline:0;padding:.1em 0 .1em .9em;font-size:clamp(1.25rem,1.1rem + .5vw,1.4375rem);font-weight:600;line-height:1.35}.prose blockquote+*{margin-top:1.9em}.prose blockquote>*+*{margin-top:1em}.prose code{border:1px solid var(--rule);background:var(--tint);border-radius:4px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em}.prose pre{border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--tint);padding:18px 20px;font-size:.9375rem;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;border:0;padding:0}@media (max-width:560px){.prose pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:14px 16px;font-size:.8125rem}}.prose hr{height:auto;color:var(--ink-3);text-align:center;border:0;margin-block:2.8em}.prose hr:after{content:"· · ·";font-size:1.25rem;line-height:1}.prose hr+*{margin-top:0}.post-points{border-radius:var(--radius);background:var(--tint);margin-bottom:2.2em;padding:clamp(18px,2.4vw,24px) clamp(18px,2.6vw,28px)}.post-points__label{color:var(--brand);margin-bottom:10px;font-size:.9375rem;font-weight:700}.prose .post-points ul{gap:.45em;margin:0;padding-left:1.2em;line-height:1.55}.prose>.post-points+*{margin-top:0}.prose figure{margin-block:2em}.prose img{border:1px solid var(--rule);border-radius:var(--radius-sm);max-width:100%;height:auto;display:block}.post-back{margin-top:clamp(28px,4vw,44px);font-size:1rem}.post-back a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);text-underline-offset:6px;gap:8px;padding-block:10px;font-weight:600;display:inline-flex}.post-back a:before{content:"←"}.post-back a:hover{text-decoration-color:currentColor}
