:root{--bg:#fff;--bg-subtle:#f6f7f9;--text:#1a1c1f;--text-muted:#61666e;--border:#e3e6ea;--accent:#1f6feb;--code-bg:#f4f5f7;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--measure:52rem}@media (prefers-color-scheme:dark){:root{--bg:#16181c;--bg-subtle:#1d2025;--text:#e6e8ea;--text-muted:#9aa1ab;--border:#2b2f36;--accent:#6ea8ff;--code-bg:#1d2025}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:18px;line-height:1.65}.wrap{max-width:calc(var(--measure) + 40px);margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--border);margin-bottom:48px;padding:20px 0}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.site-title{letter-spacing:-.01em;color:var(--text);font-size:17px;font-weight:600;text-decoration:none}.site-nav{gap:18px;font-size:15px;display:flex}.site-nav a{color:var(--text-muted);text-decoration:none}.site-nav a:hover{color:var(--text)}.site-footer{border-top:1px solid var(--border);color:var(--text-muted);margin-top:72px;padding:24px 0 48px;font-size:15px}a{color:var(--accent);text-underline-offset:2px;text-decoration-thickness:1px}h1,h2,h3{letter-spacing:-.015em;text-wrap:balance;margin:2em 0 .6em;line-height:1.25}h1{margin-top:0;font-size:2rem}h2{font-size:1.4rem}h3{font-size:1.15rem}p,ul,ol{margin:0 0 1.2em}ul,ol{padding-left:1.4em}li{margin-bottom:.35em}img,video{border-radius:8px;max-width:100%;height:auto}blockquote{border-left:3px solid var(--border);color:var(--text-muted);margin:1.6em 0;padding:.2em 0 .2em 1.1em}hr{border:none;border-top:1px solid var(--border);margin:2.5em 0}code{font-family:var(--font-mono);background:var(--code-bg);border-radius:4px;padding:.15em .4em;font-size:.87em}pre{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:16px;font-size:15px;line-height:1.5;overflow-x:auto}pre code{font-size:inherit;background:0 0;padding:0}@media (prefers-color-scheme:dark){.astro-code,.astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}table{border-collapse:collapse;width:100%;margin:0 0 1.5em;font-size:16px}th,td{border:1px solid var(--border);text-align:left;padding:8px 12px}th{background:var(--bg-subtle);font-weight:600}.prose>.table-scroll{overflow-x:auto}.article-list{margin:0;padding:0;list-style:none}.article-list li{border-bottom:1px solid var(--border);margin:0;padding:20px 0}.article-list li:first-child{padding-top:0}.article-list h2{margin:0 0 6px;font-size:1.2rem}.article-list h2 a{color:var(--text);text-decoration:none}.article-list h2 a:hover{color:var(--accent)}.article-list p{color:var(--text-muted);margin:0 0 8px;font-size:16px}.article-list .meta{margin-bottom:6px;font-size:14px}.article-list__tags{margin-bottom:0}.meta{color:var(--text-muted);font-size:14px}.reading-time{align-items:center;gap:5px;display:inline-flex}.reading-time__icon{opacity:.75;flex:none}.tags{flex-wrap:wrap;gap:8px;display:inline-flex}.tag{background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:1px 9px;font-size:13px;text-decoration:none;transition:color .15s,border-color .15s}a.tag:hover{color:var(--accent);border-color:var(--accent)}@media (width<=600px){body{font-size:17px}h1{font-size:1.6rem}}.article-header{margin-bottom:28px}.article-header h1{margin-bottom:.4em}.article-header .meta{margin-bottom:8px}.article{min-width:0}.toc{border:1px solid var(--border);background:var(--bg-subtle);border-radius:10px;margin-bottom:36px;padding:18px 22px}.toc__title{margin:0 0 10px;font-size:1rem}.toc__list{margin:0;padding:0;font-size:15px;line-height:1.45;list-style:none}.toc__item{gap:10px;margin-bottom:8px;display:flex}.toc__item:before{content:"—";color:var(--text-muted);opacity:.6;flex:none}.toc__item:last-child{margin-bottom:0}.toc__item--depth-3{padding-left:18px;font-size:14px}.toc__item a{color:var(--text-muted);text-decoration:none}.toc__item a:hover{color:var(--accent)}.article :is(h2,h3){scroll-margin-top:20px}.article h2{border-top:1px solid var(--border);margin-top:2.4em;padding-top:1.4em}.article>:first-child{margin-top:0}
