:root{--bg:#ffffff;--bg-alt:#f1faf8;--text:#16211d;--text-muted:#5c6d68;--border:#e1e9e6;--accent:#0d9488;--accent-dark:#0f766e;--accent-light:#ccfbf1}@media(prefers-color-scheme:dark){:root{--bg:#0b1412;--bg-alt:#101c19;--text:#e6f1ee;--text-muted:#93aba4;--border:#1e2e2a;--accent:#2dd4bf;--accent-dark:#5eead4;--accent-light:#123b36}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}a{color:inherit}.nav{border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:10}.nav-inner{max-width:960px;margin:0 auto;padding:.9rem 1.25rem;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.nav-title{font-weight:700;font-size:1.05rem;color:var(--accent-dark);text-decoration:none}.nav-links a{margin-left:1.1rem;color:var(--text-muted);text-decoration:none;font-size:.88rem}.nav-links a:hover{color:var(--accent)}.wrap{max-width:960px;margin:0 auto;padding:2rem 1.25rem 3rem;display:grid;grid-template-columns:minmax(0,1fr)250px;gap:3rem;align-items:start}@media(max-width:760px){.wrap{grid-template-columns:1fr;gap:2rem;padding-top:1.5rem}.col-right{border-top:1px solid var(--border);padding-top:1.5rem}}.page-heading{font-size:1.4rem;margin:0 0 1.5rem}.year-heading{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:.35rem;margin:0 0 .75rem}.entry-list{margin:0;padding:0}.entry{padding:1.5rem 0;border-bottom:1px dashed var(--border)}.entry:first-child{padding-top:0}.entry:last-child{border-bottom:none}.entry-title{font-size:1.15rem;margin:0 0 .75rem}.entry-title a{color:var(--text);text-decoration:none}.entry-title a:hover{color:var(--accent-dark);text-decoration:underline}.entry-content{font-size:.95rem}.entry-meta{margin:.75rem 0 0;color:var(--text-muted);font-size:.85rem}.entry-date{color:inherit;text-decoration:none}.entry-date:hover{color:var(--accent-dark);text-decoration:underline}.empty{color:var(--text-muted)}.tag-pill{color:var(--accent-dark);text-decoration:none;font-size:.85rem;margin-right:.35em}.tag-pill:hover{text-decoration:underline}.tag-pill.small{font-size:.8rem}.tag-count{color:var(--text-muted);font-size:.78em}.tag-cloud{display:flex;flex-wrap:wrap;row-gap:.3rem}.tag-pill:not(:last-child)::after{content:",";color:var(--text-muted)}.tag-cloud-large .tag-pill{font-size:.95rem}.side-block{margin-bottom:1.75rem}.side-heading{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 .5rem}.side-bio{font-size:.92rem;line-height:1.55;margin:0}.side-published{font-size:.92rem;line-height:1.55;margin:0;color:var(--text-muted)}.side-published a{color:var(--accent-dark);text-decoration:none}.side-published a:hover{text-decoration:underline}.side-list{list-style:none;margin:0;padding:0}.side-list li{margin-bottom:.3rem}.side-list a{color:var(--accent-dark);text-decoration:none;font-size:.9rem}.side-list a:hover{text-decoration:underline}.post-title{font-size:1.7rem;line-height:1.25;margin:0 0 1.5rem}.prose{font-size:1rem;line-height:1.65}.prose p{margin:0 0 1rem}.prose a{color:var(--accent-dark)}.prose a:hover{color:var(--accent)}.prose code{background:var(--bg-alt);padding:.1rem .35rem;border-radius:4px;font-size:.87em}.prose pre{background:var(--bg-alt);padding:1rem;overflow-x:auto;border-radius:6px}.prose pre code{background:0 0;padding:0}.prose blockquote{border-left:3px solid var(--accent);margin:0 0 1rem;padding-left:1rem;color:var(--text-muted);font-style:italic}.prose h2,.prose h3{margin-top:2rem;margin-bottom:.75rem}.prose img{max-width:100%}.year-group{margin-bottom:1.75rem}.archive-list{list-style:none;margin:0;padding:0}.archive-item{display:flex;gap:.6rem;padding:.25rem 0;font-size:.92rem}.archive-item time{color:var(--text-muted);width:3.2rem;flex-shrink:0;font-variant-numeric:tabular-nums}.archive-item a{text-decoration:none;color:var(--text)}.archive-item a:hover{color:var(--accent-dark);text-decoration:underline}.site-footer{border-top:1px solid var(--border)}.footer-inner{max-width:960px;margin:0 auto;padding:1.25rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.8rem;color:var(--text-muted)}.footer-links a{margin-left:.75rem;color:var(--text-muted);text-decoration:none}.footer-links a:hover{color:var(--accent)}