@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-500-normal.BWZEU5yA.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-500-normal.CJOVTJB7.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/jetbrains-mono-latin-700-normal.BYuf6tUa.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-700-normal.D3wTyLJW.woff) format("woff")}:root{--bg: #f5f2ea;--bg-alt: #ece8dc;--fg: #111111;--fg-muted: #666666;--fg-subtle: #999999;--accent: #c1121f;--accent-muted: #8a0d16;--rule: #111111;--rule-soft: rgba(0, 0, 0, .12);--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--measure: 720px;--pad-x: clamp(1.25rem, 4vw, 2.5rem)}@media(prefers-color-scheme:dark){:root{--bg: #0d0d0c;--bg-alt: #161613;--fg: #e8e6df;--fg-muted: #8a8780;--fg-subtle: #5c5a54;--accent: #ff4d5a;--accent-muted: #c1121f;--rule: #e8e6df;--rule-soft: rgba(255, 255, 255, .15)}}*{box-sizing:border-box}html{background:var(--bg);color:var(--fg);font-family:var(--font-mono);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{margin:0;padding:0;background:var(--bg);color:var(--fg);min-height:100vh;display:flex;flex-direction:column}main{flex:1;max-width:var(--measure);width:100%;margin:0 auto;padding:2.5rem var(--pad-x) 4rem}h1,h2,h3,h4,h5,h6{font-family:var(--font-mono);font-weight:700;line-height:1.25;margin:2rem 0 .75rem;letter-spacing:-.01em}h1{font-size:1.5rem;margin-top:0}h2{font-size:1.2rem}h3{font-size:1rem}h4,h5,h6{font-size:.95rem}p{margin:0 0 1.25rem}a{color:var(--fg);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent);text-decoration-thickness:2px}strong{font-weight:700}em{font-style:italic;color:var(--fg-muted)}code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-alt);padding:.1rem .35rem;border:1px solid var(--rule-soft)}pre{font-family:var(--font-mono);background:var(--bg-alt);border:1px solid var(--rule);padding:1rem 1.25rem;overflow-x:auto;font-size:.85rem;line-height:1.55;margin:1.5rem 0}pre code{background:none;padding:0;border:none;font-size:inherit}hr{border:none;border-top:1px dashed var(--rule);margin:2rem 0}blockquote{border-left:2px solid var(--fg);margin:1.5rem 0;padding:0 0 0 1.25rem;color:var(--fg-muted)}ul,ol{padding-left:1.5rem;margin:0 0 1.25rem}li{margin-bottom:.35rem}img{max-width:100%;height:auto;border:1px solid var(--rule)}table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}th,td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--rule-soft)}th{border-bottom:1px solid var(--rule);font-weight:700}.muted{color:var(--fg-muted)}.subtle{color:var(--fg-subtle)}.accent{color:var(--accent)}.mono-tag{font-size:.75rem;color:var(--fg-muted);text-transform:lowercase;letter-spacing:.02em}.ascii-rule{border-top:1px dashed var(--rule);margin:2rem 0}.hard-rule{border-top:1px solid var(--rule);margin:2rem 0}.section-label{font-size:.8rem;color:var(--fg-muted);margin-bottom:.75rem;letter-spacing:.02em}.post-list{list-style:none;padding:0;margin:0}.post-list li{display:grid;grid-template-columns:95px 1fr 60px;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--rule-soft);align-items:baseline}.post-list li:last-child{border-bottom:none}.post-list .post-date{color:var(--fg-muted);font-size:.85rem}.post-list .post-type{text-align:right;font-size:.75rem;color:var(--accent);text-transform:lowercase}.post-list .post-type.note{color:var(--fg-muted)}.post-list a{text-decoration:none;color:var(--fg)}.post-list a:hover{text-decoration:underline;text-decoration-thickness:2px;color:var(--accent)}@media(max-width:540px){.post-list li{grid-template-columns:85px 1fr}.post-list .post-type{display:none}}.site-header{width:100%;max-width:var(--measure);margin:0 auto;padding:1.5rem var(--pad-x) .75rem;display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--rule)}.site-header .site-name{font-weight:700;letter-spacing:.02em;text-decoration:none;color:var(--fg);font-size:.95rem}.site-header nav{display:flex;gap:1.25rem;font-size:.85rem}.site-header nav a{color:var(--fg);text-decoration:none}.site-header nav a:hover{text-decoration:underline;color:var(--accent)}.site-footer{width:100%;max-width:var(--measure);margin:0 auto;padding:1rem var(--pad-x) 1.5rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;font-size:.75rem;color:var(--fg-muted)}::selection{background:var(--accent);color:var(--bg)}.lock-hero{background:transparent;color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 1rem}.lock-art{margin:0;font-family:var(--font-mono);font-weight:700;font-size:clamp(3px,.95vw,7px);line-height:1.2;letter-spacing:0;white-space:pre;user-select:none;color:inherit}.lock-cursor{font-family:var(--font-mono);font-size:clamp(9px,1.4vw,13px);line-height:1;margin-top:.75rem;color:inherit}.blink{animation:lock-blink 1.1s steps(1) infinite}@keyframes lock-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.blog-index-main{width:960px}.blog-grid{display:flex;flex-wrap:wrap;gap:2rem;list-style-type:none;margin:0;padding:0}.blog-grid li{width:calc(50% - 1rem)}.blog-grid li *{text-decoration:none;transition:.2s ease}.blog-grid li:first-child{width:100%;margin-bottom:1rem;text-align:center}.blog-grid li:first-child img{width:100%}.blog-grid li:first-child .title{font-size:2.369rem}.blog-grid li img{margin-bottom:.5rem;border-radius:12px}.blog-grid li a{display:block}.blog-grid .title{margin:0;color:var(--fg);line-height:1}.blog-grid .date{margin:0;color:var(--fg-muted)}.blog-grid li a:hover h4,.blog-grid li a:hover .date{color:var(--accent)}.blog-grid a:hover img{box-shadow:var(--box-shadow)}@media(max-width:720px){.blog-grid{gap:.5em}.blog-grid li{width:100%;text-align:center}.blog-grid li:first-child{margin-bottom:0}.blog-grid li:first-child .title{font-size:1.563em}}a.active{font-weight:bolder;text-decoration:underline}.all-posts-link{margin-top:1rem}.compact-post-list-item{grid-template-columns:95px 1fr}.blog-post-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px dashed var(--rule)}.blog-post-description{margin-top:.5rem}.blog-post-rule{margin-top:3rem}.blog-post-footer-note{font-size:.85rem}
