@font-face{font-family:JetBrainsMono;src:url(/fonts/JetBrainsMonoNL-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrainsMono;src:url(/fonts/JetBrainsMonoNL-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:JetBrainsMono;src:url(/fonts/JetBrainsMonoNL-ExtraBold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrainsMono;src:url(/fonts/JetBrainsMonoNL-ExtraBoldItalic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{--bg: #FFFFE3;--fg: #0b0b0b;--muted: #838383;--line: #838383;--mdx-link: #7691E4;--accent-short: #c1e700;--accent-medium: #34fabb;--accent-long: #e84c90;--legend-icon-size: 10px;--icon-label-gap: 10px;--legend-icon-column: 12px;--legend-label-column: 9ch;--content-width: 780px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:JetBrainsMono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}.page-shell{min-height:100vh;padding:84px 20px 96px}.blog-index{width:min(100%,var(--content-width));margin:0 auto}.blog-index-header{margin-bottom:32px}.blog-index-title{display:flex;align-items:flex-end;gap:8px;font-size:20px;line-height:1.2;margin:0 0 14px;letter-spacing:.01em;font-weight:400}.blog-index-title.is-logo-missing{display:block}.blog-index-title.is-logo-missing .blog-index-label{text-transform:none}.blog-index-logo{width:67px;height:auto;display:block;transform:translateY(-1px)}.count{font-size:12px;color:var(--muted)}.legend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,max-content));column-gap:34px;row-gap:3px;color:var(--muted);font-size:12px}.legend-row{display:contents}.legend-item{display:inline-grid;grid-template-columns:var(--legend-icon-column) var(--legend-label-column);align-items:center;column-gap:var(--icon-label-gap)}.legend-item>:first-child{justify-self:start}.legend-item>span:last-child{text-align:center}.legend-filter{border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer}.legend-filter.is-active{color:var(--fg)}.legend-filter:focus-visible{outline:1px solid var(--line);outline-offset:2px}.legend-square{width:var(--legend-icon-size);height:var(--legend-icon-size);display:inline-block}.legend-square.short{background:var(--accent-short)}.legend-square.medium{background:var(--accent-medium)}.legend-square.long{background:var(--accent-long)}.category-icon{width:var(--legend-icon-size);height:var(--legend-icon-size);display:block;transform:none}img[src="/icons/random.svg"].category-icon{width:calc(var(--legend-icon-size) + 2px);height:calc(var(--legend-icon-size) + 2px)}.year-groups{display:grid;gap:32px}.year-heading{margin:0 0 14px;font-size:20px;line-height:1.2;font-weight:400}.post-lines{margin:0;padding:0;list-style:none;display:grid;gap:4px}.post-line-link{display:flex;align-items:baseline;gap:7px;font-size:16px;line-height:1.5}.post-line-link:hover .line-title{color:var(--fg);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.line-month,.line-divider{flex:none}.line-title{min-width:0;display:inline}.entry-icon{width:12px;height:12px;flex:none;margin-left:0;margin-right:1px;display:inline-block;vertical-align:baseline;background:currentColor;-webkit-mask-image:var(--entry-icon-url);mask-image:var(--entry-icon-url);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center}.entry-icon.short{color:var(--accent-short)}.entry-icon.medium{color:var(--accent-medium)}.entry-icon.long{color:var(--accent-long)}.entry-icon.random{width:14px;height:14px}.post-page{width:min(100%,var(--content-width));margin:0 auto}.post-header{margin-bottom:42px}.post-title{font-size:20px;line-height:1.25;margin:0 0 18px;letter-spacing:.01em;font-weight:400}.post-meta-row{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:16px;color:var(--fg);border-bottom:1px solid var(--muted);padding-bottom:5px}.post-meta-right{display:inline-flex;align-items:center;gap:22px}.category-meta{display:inline-flex;align-items:center;gap:var(--icon-label-gap)}.read-chip{display:inline-flex;align-items:center;gap:var(--icon-label-gap);color:var(--muted)}.read-chip:before{content:"";width:var(--legend-icon-size);height:var(--legend-icon-size);display:inline-block}.read-chip.short:before{background:var(--accent-short)}.read-chip.medium:before{background:var(--accent-medium)}.read-chip.long:before{background:var(--accent-long)}.category-label{text-transform:lowercase;color:var(--muted)}.post-article{font-size:16px;line-height:2.2;color:var(--fg)}.post-article a{color:var(--mdx-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.post-article .footnotes,.post-article .footnotes p,.post-article .footnotes li,.post-article .footnotes a{font-size:inherit}.post-article p{margin:0 0 22px;line-height:2.2}.post-article h1,.post-article h2,.post-article h3,.post-article h4,.post-article h5,.post-article h6{line-height:1.7;font-weight:400}.post-article h1{margin:40px 0 18px;font-size:20px;padding-bottom:0;border-bottom:0}.post-article-blog>h1:first-of-type{display:none}.post-article h2{margin:44px 0 18px;font-size:20px;border-bottom:1px solid var(--muted);padding-bottom:5px}.post-article h3{margin:30px 0 14px;font-size:18px;border-bottom:1px solid var(--muted);padding-bottom:4px}.post-article h4{margin:24px 0 10px;font-size:16px}.post-article h5,.post-article h6{margin:18px 0 8px;font-size:12px}.post-article ul,.post-article ol{margin:0 0 24px;padding-left:28px}.post-article li{margin-bottom:8px;line-height:2.15}.post-article blockquote{margin:20px 0 24px;background:#bde5db;border-left:8px solid var(--accent-medium);padding:18px 20px;color:#454c4a;font-size:inherit;line-height:2.2}.post-article blockquote p{font-size:inherit;line-height:2.2}.post-article img{max-width:100%;height:auto;display:block;margin-bottom:22px;border:1px solid #d3d3c4}.post-article table{width:100%;border-collapse:collapse;margin:26px 0}.post-article th,.post-article td{border:1px solid #c6c6b8;padding:8px 10px;vertical-align:top}.post-article code{font-family:JetBrainsMono,ui-monospace,Menlo,Consolas,monospace;background:#e4e3d6;border:1px solid #d1d1c4;border-radius:4px;padding:1px 5px}.post-article pre{overflow-x:auto;padding:14px;border-radius:6px;border:1px solid #d1d1c4}.post-article pre code{border:0;background:transparent;padding:0}@media(max-width:840px){.page-shell{padding-top:42px;padding-bottom:56px}.blog-index{width:100%}.blog-index-title,.year-heading{font-size:20px}.post-line-link,.post-article{font-size:12px}.post-title{font-size:20px}.post-meta-row{font-size:12px;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.post-article h2{font-size:20px}.post-article h3{font-size:18px}}
