:root{--bg:#fdfdfc;--fg:#1f2328;--muted:#6b7280;--accent:#2563eb;--border:#e5e7eb;--code-bg:#f3f4f6;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg:#111315;--fg:#e6e6e6;--muted:#9ca3af;--accent:#7aa2f7;--border:#2a2e33;--code-bg:#1b1e22}}*,*::before,*::after{box-sizing:border-box}html{font-size:18px;-webkit-text-size-adjust:100%}body{margin:0 auto;max-width:42rem;padding:2rem 1.25rem;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,segoe ui,Roboto,sans-serif;line-height:1.65}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.25}h1{font-size:1.75rem;margin:0 0 .5rem}h2{font-size:1.25rem;margin-top:2.5rem}img{max-width:100%;height:auto}hr{border:0;border-top:1px solid var(--border)}blockquote{margin:1.5rem 0;padding-left:1rem;border-left:3px solid var(--border);color:var(--muted)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875em;background:var(--code-bg);padding:.1em .3em;border-radius:4px}pre{background:var(--code-bg);padding:1rem;border-radius:6px;overflow-x:auto}pre code{background:0 0;padding:0}.site-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;margin-bottom:3rem}.site-title{font-weight:700;color:var(--fg)}.site-header nav{display:flex;gap:1.25rem}.site-header nav a{color:var(--muted)}.site-header nav a[aria-current=page]{color:var(--fg)}.post-list{list-style:none;padding:0}.post-list li{display:flex;gap:1rem;padding:.35rem 0}.post-list time{flex:0 0 10rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:480px){.post-list li{flex-direction:column;gap:0}.post-list time{flex-basis:auto}}.term-list{list-style:none;padding:0}.term-list li{padding:.35rem 0}.term-list .count{color:var(--muted)}.meta{color:var(--muted);margin-top:0}.tags a{margin-right:.75rem}.pager{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}.pager-status{color:var(--muted)}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--muted);font-size:.875rem}.site-footer .social{display:flex;gap:1rem}