@font-face{font-family:Gilda Display;font-style:normal;font-weight:400;font-display:swap;src:url(../media/70b027f76e75e9e8-s.0epu5-~nbs7ef.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Gilda Display;font-style:normal;font-weight:400;font-display:swap;src:url(../media/76f956a0f9b7776f-s.p.0~y6tvbu.bh-1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Gilda Display Fallback;src:local(Times New Roman);ascent-override:80.35%;descent-override:25.67%;line-gap-override:0.0%;size-adjust:111.02%}.gilda_display_cfdf380c-module__OjjZgG__className{font-family:Gilda Display,Gilda Display Fallback;font-style:normal;font-weight:400}.gilda_display_cfdf380c-module__OjjZgG__variable{--font-gilda:"Gilda Display", "Gilda Display Fallback"}
:root{--bg:#fff;--text:#1a1a1a;--text-muted:#737373;--link:#1a1a1a;--border:#e5e5e5;--code-bg:#f5f5f5;--radius:.5rem;--font-serif:var(--font-gilda), Georgia, "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}.dark{--bg:#0a0a0a;--text:#ededed;--text-muted:#a3a3a3;--link:#ededed;--border:#262626;--code-bg:#171717}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-serif);background:var(--bg);color:var(--text);line-height:1.7}a{color:var(--link);text-decoration:none}img{max-width:100%;height:auto;display:block}.container{max-width:42rem;margin:0 auto;padding:4rem 1.5rem}.site-header{justify-content:space-between;align-items:flex-start;margin-bottom:4rem;display:flex}.site-title{font-size:1.5rem;font-weight:700;line-height:1.2}.site-subtitle{color:var(--text-muted);margin-top:.25rem;font-size:.95rem}.post-list{flex-direction:column;gap:2rem;display:flex}.post-item{display:block}.post-item time{color:var(--text-muted);font-size:.875rem}.post-item h2{margin-top:.25rem;font-size:1.25rem;font-weight:600;line-height:1.3}.post-item h2:hover{text-underline-offset:4px;text-decoration:underline}.post-item p{color:var(--text-muted);margin-top:.5rem;line-height:1.6}.empty{text-align:center;color:var(--text-muted);padding:3rem 0}.empty p+p{margin-top:.5rem;font-size:.875rem}.empty code{background:var(--code-bg);border-radius:.25rem;padding:.125rem .375rem;font-size:.875rem}.post-nav{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.back-link{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.875rem;transition:color .15s;display:inline-flex}.back-link:hover{color:var(--text)}.post-header{margin-bottom:2rem}.post-header time{color:var(--text-muted);font-size:.875rem}.post-header h1{margin-top:.5rem;font-size:1.875rem;font-weight:700;line-height:1.2}.markdown{font-size:1.05rem}.markdown :first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3{margin-top:2rem;margin-bottom:.75rem;font-weight:700;line-height:1.25}.markdown h1{font-size:1.75rem}.markdown h2{font-size:1.375rem}.markdown h3{font-size:1.125rem}.markdown p{margin-bottom:1.25rem}.markdown ul,.markdown ol{margin-bottom:1.25rem;padding-left:1.5rem}.markdown ul{list-style-type:disc}.markdown ol{list-style-type:decimal}.markdown li{margin-bottom:.35rem}.markdown a{text-underline-offset:3px;text-decoration:underline}.markdown a:hover{color:var(--text-muted)}.markdown blockquote{border-left:2px solid var(--border);color:var(--text-muted);margin:1.5rem 0;padding-left:1rem;font-style:italic}.markdown code{font-family:var(--font-mono);background:var(--code-bg);border-radius:.25rem;padding:.15rem .35rem;font-size:.875rem}.markdown pre{background:var(--code-bg);border-radius:var(--radius);margin-bottom:1.25rem;padding:1rem;overflow-x:auto}.markdown pre code{background:0 0;padding:0}.markdown hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.markdown img{border-radius:var(--radius);margin:1.5rem 0}.markdown table{border-collapse:collapse;width:100%;margin-bottom:1.25rem}.markdown th,.markdown td{border:1px solid var(--border);text-align:left;padding:.5rem .75rem}.markdown th{background:var(--code-bg);font-weight:600}
