:root{--font-serif: "Iowan Old Style", "Charter", Georgia, Cambria, "Times New Roman", serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-base: 1.125rem;--line-base: 1.7;--measure: 42rem;--measure-wide: 52rem;--space-1: 0.25rem;--space-2: 0.5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2.5rem;--space-6: 4rem;--radius: 3px;--transition: 0.18s ease}:root,[data-theme=light]{--bg: #fbfbf9;--bg-soft: #f2f1ec;--fg: #18181b;--fg-muted: #6b6b70;--fg-faint: #9a9aa0;--border: #e3e2dc;--link: #18181b;--link-underline: #c7c6bf;--mark: #ffe9a8;--code-bg: #f2f1ec}[data-theme=dark]{--bg: #0e0e10;--bg-soft: #18181b;--fg: #e7e7e4;--fg-muted: #9b9b9f;--fg-faint: #6a6a6e;--border: #262629;--link: #f3f3f0;--link-underline: #44444a;--mark: #4a4326;--code-bg: #18181b}*,*::before,*::after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-serif);font-size:var(--text-base);line-height:var(--line-base);font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh;transition:background var(--transition),color var(--transition)}img,picture,svg{max-width:100%;display:block;height:auto}.site-header__inner,.content,.site-footer__inner{width:100%;max-width:var(--measure);margin-inline:auto;padding-inline:var(--space-4)}.content{flex:1 0 auto;padding-block:var(--space-6) var(--space-6)}.site-header{border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;background:color-mix(in srgb, var(--bg) 88%, rgba(0,0,0,0));backdrop-filter:saturate(140%) blur(8px)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;padding-block:var(--space-3)}.site-header__brand{font-family:var(--font-mono);font-weight:600;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--fg)}.site-nav{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em}.site-nav a{color:var(--fg-muted);text-decoration:none;text-transform:lowercase;transition:color var(--transition)}.site-nav a:hover{color:var(--fg)}.site-nav a[aria-current=page]{color:var(--fg)}.theme-toggle{background:none;border:1px solid var(--border);color:var(--fg-muted);width:2rem;height:2rem;border-radius:50%;cursor:pointer;display:grid;place-items:center;font-size:.9rem;line-height:1;transition:color var(--transition),border-color var(--transition),transform var(--transition)}.theme-toggle:hover{color:var(--fg);border-color:var(--fg-faint);transform:rotate(180deg)}a{color:var(--link);text-decoration:underline;text-decoration-color:var(--link-underline);text-underline-offset:.18em;text-decoration-thickness:1px;transition:text-decoration-color var(--transition)}a:hover{text-decoration-color:var(--fg)}.intro{margin-bottom:var(--space-6)}.intro__title{font-family:var(--font-mono);font-size:clamp(2rem,6vw,3rem);letter-spacing:.14em;font-weight:600;line-height:1.1}.intro__tagline{margin-top:var(--space-3);color:var(--fg-muted);font-size:1.25rem;font-style:italic}.intro__body{margin-top:var(--space-3);color:var(--fg-muted)}.section-heading{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.page-header{margin-bottom:var(--space-5)}.page-header__title{font-family:var(--font-mono);font-weight:600;font-size:clamp(1.6rem,4vw,2.2rem);letter-spacing:.04em}.page-header__desc{margin-top:var(--space-2);color:var(--fg-muted)}.post-list{list-style:none;padding:0}.post-list__item{display:grid;grid-template-columns:6.5rem 1fr;gap:var(--space-3);align-items:baseline;padding-block:var(--space-3);border-bottom:1px solid var(--border)}.post-list__date{font-family:var(--font-mono);font-size:.78rem;color:var(--fg-faint);white-space:nowrap}.post-list__link{text-decoration:none;font-size:1.2rem}.post-list__link:hover{text-decoration:underline;text-decoration-color:var(--fg)}.post-list__tags{display:block;margin-top:var(--space-1)}.tag{font-family:var(--font-mono);font-size:.72rem;color:var(--fg-faint);text-decoration:none;margin-right:var(--space-2)}.tag:hover{color:var(--fg)}.more{margin-top:var(--space-4);font-family:var(--font-mono);font-size:.85rem}.more a{text-decoration:none;color:var(--fg-muted)}.more a:hover{color:var(--fg)}.post-header{margin-bottom:var(--space-5)}.post-header__title{font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.15;letter-spacing:-.01em}.post-header__meta{margin-top:var(--space-3);font-family:var(--font-mono);font-size:.78rem;color:var(--fg-faint);display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.post-header__meta .sep{opacity:.5}.post-header__tags .tag{margin-right:var(--space-1)}.toc{border-left:2px solid var(--border);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-5);font-size:.95rem}.toc__title{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:var(--space-2)}.toc ul{list-style:none;padding-left:0}.toc ul ul{padding-left:var(--space-3)}.toc a{text-decoration:none;color:var(--fg-muted)}.toc a:hover{color:var(--fg)}.prose{max-width:var(--measure)}.prose>*+*{margin-top:var(--space-4)}.prose h2,.prose h3,.prose h4{font-family:var(--font-mono);letter-spacing:.01em;line-height:1.25;margin-top:var(--space-5)}.prose h2{font-size:1.5rem}.prose h3{font-size:1.2rem}.prose h4{font-size:1.05rem}.prose p,.prose li{overflow-wrap:break-word}.prose ul,.prose ol{padding-left:var(--space-4)}.prose li+li{margin-top:var(--space-2)}.prose blockquote{border-left:3px solid var(--border);padding-left:var(--space-4);color:var(--fg-muted);font-style:italic}.prose hr{border:none;border-top:1px solid var(--border);margin-block:var(--space-5)}.prose img{border-radius:var(--radius);margin-inline:auto}.prose a.zola-anchor{opacity:0;margin-left:.3em;text-decoration:none}.prose h2:hover a.zola-anchor,.prose h3:hover a.zola-anchor{opacity:.4}.prose code{font-family:var(--font-mono);font-size:.86em;background:var(--code-bg);padding:.12em .36em;border-radius:var(--radius)}.prose pre{font-family:var(--font-mono);font-size:.86rem;line-height:1.6;background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);overflow-x:auto}.prose pre code{background:none;padding:0;font-size:inherit}.prose pre[data-linenos]{padding-left:0}.prose pre table td{padding:0}.prose pre mark{background:var(--mark);color:inherit}.prose table{width:100%;border-collapse:collapse;font-size:.95rem}.prose th,.prose td{border-bottom:1px solid var(--border);padding:var(--space-2) var(--space-3);text-align:left}.prose th{font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.post-footer{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border)}.post-nav{display:flex;justify-content:space-between;gap:var(--space-4);font-family:var(--font-mono);font-size:.85rem}.post-nav a{text-decoration:none;color:var(--fg-muted);max-width:45%}.post-nav a:hover{color:var(--fg)}.post-nav__next{text-align:right;margin-left:auto}.post-footer__back{margin-top:var(--space-4);font-family:var(--font-mono);font-size:.85rem}.post-footer__back a{text-decoration:none;color:var(--fg-muted)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-5);font-family:var(--font-mono);font-size:.85rem}.pagination a{text-decoration:none;color:var(--fg-muted)}.pagination a:hover{color:var(--fg)}.pagination__count{color:var(--fg-faint);margin-inline:auto}.tag-cloud{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-3)}.tag-cloud li{display:flex;align-items:baseline;gap:var(--space-1)}.tag-cloud .tag{font-size:.95rem}.tag-cloud__count{font-family:var(--font-mono);font-size:.7rem;color:var(--fg-faint)}.notfound{text-align:center;padding-block:var(--space-6)}.notfound__code{font-family:var(--font-mono);font-size:clamp(4rem,18vw,9rem);letter-spacing:.1em;line-height:1}.notfound__msg{color:var(--fg-muted);margin-top:var(--space-3)}.site-footer{border-top:1px solid var(--border);margin-top:var(--space-6)}.site-footer__inner{padding-block:var(--space-4);font-family:var(--font-mono);font-size:.78rem;color:var(--fg-faint);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.site-footer a{color:var(--fg-muted);text-decoration:none}.site-footer a:hover{color:var(--fg)}.site-footer__links{margin-left:auto}.site-footer .sep{opacity:.4}:focus-visible{outline:2px solid var(--fg);outline-offset:2px;border-radius:var(--radius)}@media (prefers-reduced-motion: reduce){*,*::before,*::after{transition:none !important;animation:none !important;scroll-behavior:auto !important}}@media (max-width: 36rem){:root{--text-base: 1.0625rem}.content{padding-block:var(--space-5)}.post-list__item{grid-template-columns:1fr;gap:var(--space-1)}.post-list__date{font-size:.72rem}}