@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(../media/newsreader-latin-400-normal.18q64_vlk_qen.woff2)format("woff2"),url(../media/newsreader-latin-400-normal.2-s-rhg4-736f.woff)format("woff")}
@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(../media/newsreader-vietnamese-400-normal.006k5mfck_cim.woff2)format("woff2"),url(../media/newsreader-vietnamese-400-normal.06cmi4tijdhzz.woff)format("woff")}
@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(../media/newsreader-latin-400-italic.02qxcef_o81-x.woff2)format("woff2"),url(../media/newsreader-latin-400-italic.2tnkq408w5chv.woff)format("woff")}
@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(../media/newsreader-vietnamese-400-italic.10jewcswudklw.woff2)format("woff2"),url(../media/newsreader-vietnamese-400-italic.36lpxf-nvzshb.woff)format("woff")}
@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(../media/newsreader-latin-600-normal.11r0piw5alamn.woff2)format("woff2"),url(../media/newsreader-latin-600-normal.1a08ox0yc7ei7.woff)format("woff")}
@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(../media/newsreader-vietnamese-600-normal.3e8ii_zjedk2e.woff2)format("woff2"),url(../media/newsreader-vietnamese-600-normal.15w2sdhjqgu5-.woff)format("woff")}
.blog-sheet{--read:"Newsreader", "Iowan Old Style", Georgia, serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}.blog-mono{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.blog-rule{border:0;border-top:1px solid var(--ink)}.blog-rule-double{border:0;border-top:3px double var(--ink)}.blog-headline{font-family:var(--font-serif);letter-spacing:-.035em;color:var(--ink);font-weight:700;line-height:1.04}.blog-deck{font-family:var(--read);color:var(--ink-soft);font-style:italic;line-height:1.5}.blog-prose{font-family:var(--read);color:var(--ink);overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;font-size:1.22rem;line-height:1.78}.blog-prose>*+*{margin-top:1.35rem}.blog-prose>p:first-of-type:first-letter{float:left;font-family:var(--font-serif);color:var(--ink);margin:.08em .1em 0 0;font-size:4.1em;font-weight:700;line-height:.82}.blog-prose h2{border-top:1px solid var(--ink);font-family:var(--font-serif);letter-spacing:-.025em;margin-top:3rem;padding-top:1rem;scroll-margin-top:1.5rem;font-size:1.85rem;font-weight:700;line-height:1.18}.blog-prose h3{font-family:var(--font-serif);letter-spacing:-.015em;margin-top:2rem;font-size:1.3rem;font-weight:700}.blog-prose strong{font-weight:600}.blog-prose a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;text-decoration-thickness:2px;transition:text-decoration-color .15s}.blog-prose a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.blog-prose ul,.blog-prose ol{padding-left:1.6rem}.blog-prose ul{list-style:square}.blog-prose ol{list-style:decimal}.blog-prose li+li{margin-top:.5rem}.blog-prose li::marker{color:var(--muted)}.blog-prose blockquote{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-family:var(--font-serif);text-align:center;color:var(--ink);margin:2.2rem 0;padding:1.3rem 0;font-size:1.5rem;font-style:italic;font-weight:500;line-height:1.4}.blog-prose blockquote>*+*{margin-top:.7rem}.blog-prose code{background:var(--code-bg);font-family:var(--mono);border-radius:4px;padding:.08rem .35rem;font-size:.82em}.blog-prose pre{border:1px solid var(--line);background:var(--paper-soft);border-radius:8px;padding:1rem 1.2rem;font-size:.9rem;line-height:1.6;overflow-x:auto}.blog-prose pre code{background:0 0;padding:0}.blog-prose hr{border:0;border-top:1px solid var(--line-strong);margin:2.5rem 0}.blog-prose table{border-collapse:collapse;width:100%;font-family:var(--font-sans);font-size:.95rem;line-height:1.5;display:block;overflow-x:auto}.blog-prose th,.blog-prose td{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);text-align:left;vertical-align:top;padding:.65rem .9rem}.blog-prose th{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-top-color:var(--ink);font-size:.72rem}.blog-prose img{border:1px solid var(--line-strong);border-radius:6px;width:100%;height:auto;display:block}.blog-fig{margin:2rem 0;display:block}.blog-cap{font-family:var(--mono);letter-spacing:.04em;color:var(--muted);margin-top:.6rem;font-size:.7rem;line-height:1.5;display:block}.blog-toc ol{counter-reset:toc;list-style:none}.blog-toc li{counter-increment:toc;border-top:1px solid var(--line);gap:.9rem;padding:.55rem 0;display:flex}.blog-toc li:before{content:counter(toc, decimal-leading-zero);font-family:var(--mono);color:var(--muted);padding-top:.2rem;font-size:.75rem}.blog-toc a{font-family:var(--read);color:var(--ink);font-size:1.05rem}.blog-toc a:hover{text-underline-offset:3px;text-decoration:underline}.blog-card .blog-card-title{transition:color .15s}.blog-card:hover .blog-card-title{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.blog-cover{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line-strong);border-radius:6px;width:100%;display:block}.blog-cover-empty{aspect-ratio:16/9;border:1px solid var(--line-strong);border-radius:6px;align-items:flex-end;padding:.8rem;display:flex}
