:root{color-scheme:dark;--font-serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--bg:#100f0f;--bg-elevated:#1c1b1a;--bg-subtle:#181716;--text:#cecdc3;--text-muted:#878580;--text-faint:#8a8883;--border:#282726;--border-strong:#3d3b39;--accent:#7aa9d6;--accent-hover:#a6c8e8;--accent-soft:#7aa9d621;--code-bg:#1a1918;--mark:#3f3212;--selection:#7aa9d642;--measure:38rem;--page:40.5rem;--radius:8px}[data-theme=light]{color-scheme:light;--bg:#fffcf0;--bg-elevated:#f7f4e9;--bg-subtle:#f2f0e5;--text:#100f0f;--text-muted:#6f6e69;--text-faint:#75736e;--border:#e0ddd0;--border-strong:#c9c5b6;--accent:#205ea6;--accent-hover:#16457c;--accent-soft:#205ea614;--code-bg:#f4f1e6;--mark:#f6e9b8;--selection:#205ea629}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;margin:0;font-size:1.0625rem;line-height:1.65;display:flex}::selection{background:var(--selection)}a{color:var(--accent);text-underline-offset:.18em;text-decoration:underline 1px}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}img,picture,video,svg{max-width:100%;height:auto}hr{border:0;border-top:1px solid var(--border);margin:2.5rem 0}mark{background:var(--mark);color:inherit;border-radius:2px;padding:0 .15em}.container{width:100%;max-width:var(--page);margin-inline:auto;padding-inline:1.25rem}main{flex:1 0 auto;padding-block:3rem 4.5rem}.skip-link{z-index:20;background:var(--bg-elevated);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);padding:.75rem 1rem;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{top:1rem;left:1rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:10;background:color-mix(in srgb, var(--bg) 92%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;min-height:3.5rem;padding-block:.6rem;display:flex}.site-title{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--text);margin-right:auto;font-size:1.0625rem;font-weight:600;text-decoration:none}.site-title:hover{color:var(--accent)}.site-nav{align-items:center;gap:1.15rem;font-size:.9375rem;display:flex}.site-nav a{color:var(--text-muted);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--text)}.theme-toggle{width:2rem;height:2rem;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;transition:color .15s,border-color .15s;display:grid}.theme-toggle:hover{color:var(--text);border-color:var(--border-strong)}.theme-toggle svg{width:15px;height:15px;display:block}.theme-toggle .icon-sun{display:none}[data-theme=dark] .theme-toggle .icon-sun{display:block}[data-theme=dark] .theme-toggle .icon-moon{display:none}.site-footer{border-top:1px solid var(--border);color:var(--text-muted);padding-block:1.75rem;font-size:.875rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;display:flex}.site-footer a{color:var(--text-muted);text-decoration:none}.site-footer a:hover{color:var(--text);text-decoration:underline}.intro{max-width:var(--measure);margin:0 auto 3rem}.intro h1{font-family:var(--font-serif);letter-spacing:-.025em;margin:0 0 .75rem;font-size:clamp(2rem,5vw,2.75rem);line-height:1.15}.intro p{max-width:34rem;color:var(--text-muted);margin:0;font-size:1.0625rem}.section-label{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);max-width:var(--measure);margin:0 auto .75rem;font-size:.75rem;font-weight:600}.post-list{max-width:var(--measure);border-top:1px solid var(--border);margin:0 auto;padding:0;list-style:none}.post-list-item{border-bottom:1px solid var(--border);padding:1.15rem 0 1.2rem}.post-list-link{color:var(--text);justify-content:space-between;align-items:baseline;gap:1.5rem;text-decoration:none;display:flex}.post-list-title{font-family:var(--font-serif);letter-spacing:-.01em;font-size:1.1875rem;font-weight:600;line-height:1.35}.post-list-link:hover .post-list-title{color:var(--accent)}.post-list-date{color:var(--text-faint);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:.8125rem}.post-list-desc{max-width:36rem;color:var(--text-muted);margin:.35rem 0 0;font-size:.9375rem;line-height:1.55}@media (width<=32rem){.post-list-link{flex-direction:column;gap:.2rem}.post-list-date{order:-1}}.post-header{max-width:var(--measure);border-bottom:1px solid var(--border);margin:0 auto 2.5rem;padding-bottom:1.5rem}.post-header h1{font-family:var(--font-serif);letter-spacing:-.025em;margin:0 0 .85rem;font-size:clamp(1.9rem,4.5vw,2.5rem);line-height:1.18}.post-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.4rem .75rem;margin:0;font-size:.875rem;display:flex}.post-meta .sep{color:var(--text-faint)}.post-tags{flex-wrap:wrap;gap:.4rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.tag{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:.1rem .55rem;font-size:.75rem;line-height:1.6;text-decoration:none;display:inline-block}.tag:hover{color:var(--accent);border-color:var(--accent)}.post-nav{max-width:var(--measure);border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:1rem;margin:3.5rem auto 0;padding-top:1.5rem;font-size:.9375rem;display:grid}.post-nav a{text-decoration:none}.post-nav-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin-bottom:.2rem;font-size:.75rem;display:block}.post-nav-next{text-align:right;grid-column:2}@media (width<=32rem){.post-nav{grid-template-columns:1fr}.post-nav-next{text-align:left;grid-column:1}}.prose{font-family:var(--font-serif);max-width:var(--measure);margin-inline:auto;font-size:1.125rem;line-height:1.72}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol,.prose dl,.prose table,.prose blockquote,.prose pre,.prose figure{margin-block:0 1.35em}.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-family:var(--font-sans);letter-spacing:-.015em;margin-block:2.2em .6em;scroll-margin-top:5rem;font-weight:600;line-height:1.3}.prose h2{font-size:1.5rem}.prose h3{font-size:1.1875rem}.prose h4{font-size:1rem}.prose h5,.prose h6{color:var(--text-muted);font-size:.9375rem}.prose ul,.prose ol{padding-left:1.4em}.prose li,.prose li>ul,.prose li>ol{margin-block:.3em}.prose li::marker{color:var(--text-faint)}.prose strong{font-weight:650}.prose blockquote{border-left:2px solid var(--border-strong);color:var(--text-muted);margin-inline:0;padding:.1em 0 .1em 1.2em;font-style:italic}.prose blockquote p:last-child{margin-bottom:0}.prose img{border-radius:var(--radius);border:1px solid var(--border);display:block}.prose figure{margin-inline:0}.prose figcaption{font-family:var(--font-sans);color:var(--text-muted);margin-top:.6em;font-size:.8125rem}.prose code{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--border);border-radius:4px;padding:.1em .32em;font-size:.85em}.prose pre{font-family:var(--font-mono);border:1px solid var(--border);border-radius:var(--radius);background:var(--code-bg);padding:1rem 1.1rem;font-size:.875rem;line-height:1.65;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;border:0;border-radius:0;padding:0}.astro-code{border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;line-height:1.65;overflow-x:auto;padding:1rem 1.1rem!important}.astro-code,.astro-code span{color:var(--shiki-light)!important;background-color:var(--code-bg)!important;font-style:var(--shiki-light-font-style)!important;font-weight:var(--shiki-light-font-weight)!important;text-decoration:var(--shiki-light-text-decoration)!important}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--code-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.prose table{border-collapse:collapse;width:100%;min-width:30rem;font-family:var(--font-sans);font-size:.9375rem;line-height:1.5;display:table}.table-wrap{max-width:100%;margin-block:0 1.35em;overflow-x:auto}.prose .table-wrap table{margin-block:0}.prose th,.prose td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.5rem .9rem .5rem 0}.prose th{color:var(--text);border-bottom-color:var(--border-strong);white-space:nowrap;font-weight:600}.prose td{color:var(--text-muted)}.prose hr{margin-block:2.5em}.prose a{text-decoration-thickness:1px}.prose li.task-list-item{margin-left:-1.4em;list-style:none}.prose input[type=checkbox]{accent-color:var(--accent);margin-right:.5em}.prose .footnotes{border-top:1px solid var(--border);color:var(--text-muted);margin-top:3rem;padding-top:1.25rem;font-size:.9375rem}.prose .footnotes h2{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin-top:0;font-size:.8125rem}.callout{background:var(--bg-subtle);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;font-family:var(--font-sans);margin-block:1.6em;padding:.9rem 1.05rem;font-size:.9375rem;line-height:1.6}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout:before{content:attr(data-callout-title);letter-spacing:.07em;text-transform:uppercase;color:var(--accent);margin-bottom:.35rem;font-size:.75rem;font-weight:650;display:block}.callout[data-callout=warning],.callout[data-callout=caution],.callout[data-callout=danger],.callout[data-callout=error],.callout[data-callout=bug],.callout[data-callout=failure]{border-left-color:#c46b52}.callout[data-callout=warning]:before,.callout[data-callout=caution]:before,.callout[data-callout=danger]:before,.callout[data-callout=error]:before,.callout[data-callout=bug]:before,.callout[data-callout=failure]:before{color:#d07d63}.callout[data-callout=success],.callout[data-callout=check],.callout[data-callout=done],.callout[data-callout=tip],.callout[data-callout=hint]{border-left-color:#6e9e6e}.callout[data-callout=success]:before,.callout[data-callout=check]:before,.callout[data-callout=done]:before,.callout[data-callout=tip]:before,.callout[data-callout=hint]:before{color:#86b586}.wikilink-unresolved{color:var(--text-faint);border-bottom:1px dashed var(--border-strong);cursor:help}.tag-cloud{max-width:var(--measure);flex-wrap:wrap;gap:.5rem;margin:0 auto;padding:0;list-style:none;display:flex}.tag-cloud .tag{padding:.2rem .7rem;font-size:.8125rem}.tag-count{color:var(--text-faint);font-variant-numeric:tabular-nums;margin-left:.35em}.subscribe{max-width:var(--measure);margin-inline:auto}.subscribe p{margin-top:0}.subscribe-form{flex-wrap:wrap;gap:.5rem;max-width:27rem;margin:1.5rem 0 .75rem;display:flex}.subscribe-form input{min-width:0;font:inherit;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:6px;flex:13rem;padding:.6rem .75rem;font-size:.9375rem}.subscribe-form input::placeholder{color:var(--text-faint)}.subscribe-form button{font:inherit;color:var(--bg);background:var(--text);border:1px solid var(--text);cursor:pointer;border-radius:6px;flex:none;padding:.6rem 1.1rem;font-size:.9375rem;font-weight:550}.subscribe-form button:hover{background:var(--text-muted);border-color:var(--text-muted);color:var(--bg)}.form-note{color:var(--text-faint);margin:0;font-size:.8125rem}.not-found{max-width:var(--measure);text-align:left;margin-inline:auto;padding-block:2rem}.not-found p:first-child{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-faint);margin:0 0 1rem;font-size:.875rem}.not-found h1{font-family:var(--font-serif);letter-spacing:-.02em;margin:0 0 1rem;font-size:clamp(1.75rem,5vw,2.5rem)}@media print{.site-header,.site-footer,.post-nav,.theme-toggle,.skip-link,.subscribe-form{display:none!important}body{color:#000;background:#fff;font-size:11pt}main{padding:0}.prose{max-width:none;font-size:11pt}.prose a{color:#000;text-decoration:underline}.astro-code,.astro-code span{color:#000!important;background:#f4f4f4!important}}
