@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap";: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)}
