:root{color-scheme:light;--color-canvas:#fff;--color-surface:#fafafa;--color-ink:#171717;--color-muted:#666;--color-faint:#8a8a8a;--color-border:#d8d8d8;--color-border-strong:#8b8b8b;--color-accent:#315f9d;--color-accent-hover:#244b7d;--color-on-accent:#fff;--color-code:#f3f3f3;--color-focus:#171717;--font-body:Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;--font-ui:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-code:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:clamp(1.0625rem, 1rem + .16vw, 1.15rem);--text-lg:clamp(1.25rem, 1.12rem + .55vw, 1.55rem);--text-xl:clamp(1.75rem, 1.4rem + 1.4vw, 2.65rem);--text-hero:clamp(2.5rem, 1.7rem + 3.5vw, 5.5rem);--leading-body:1.72;--leading-tight:1.1;--content-width:44rem;--layout-width:72rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--page-gutter:clamp(1rem, 4vw, 2.5rem);--border-width:1px;--radius-sm:.2rem;--radius-md:.35rem;--transition-fast:.14s ease}*,:before,:after{box-sizing:border-box}html{background:var(--color-canvas);min-width:20rem;color:var(--color-ink);font-family:var(--font-body);scroll-behavior:smooth}body{min-height:100vh;font-size:var(--text-base);line-height:var(--leading-body);text-rendering:optimizelegibility;margin:0}::selection{background:var(--color-ink);color:var(--color-canvas)}a{color:inherit;text-decoration-color:var(--color-border-strong);text-decoration-line:underline;text-decoration-thickness:var(--border-width);text-underline-offset:.22em;transition:text-decoration-color var(--transition-fast)}a:hover{text-decoration-color:var(--color-ink);text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}img,video{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit}button{cursor:pointer}.skip-link{z-index:100;top:var(--space-3);left:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-ink);background:var(--color-canvas);font-family:var(--font-ui);font-size:var(--text-sm);position:fixed;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-shell{width:min(100%, calc(var(--layout-width) + 2 * var(--page-gutter)));padding-inline:var(--page-gutter);margin-inline:auto}.site-header{justify-content:space-between;align-items:baseline;gap:var(--space-5);padding-block:var(--space-5);border-bottom:var(--border-width) solid var(--color-border);font-family:var(--font-ui);display:flex}.site-mark{letter-spacing:-.04em;font-weight:750;text-decoration:none}.site-mark:before{content:"↪";margin-right:var(--space-2);font-weight:400}.site-nav{gap:var(--space-4);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.site-nav a{text-decoration-color:#0000}.site-nav a:hover,.site-nav a[aria-current=page]{text-decoration-color:var(--color-ink)}main{min-height:62vh}.site-footer{justify-content:space-between;gap:var(--space-4);margin-top:var(--space-8);padding-block:var(--space-5) var(--space-7);border-top:var(--border-width) solid var(--color-border);color:var(--color-muted);font-family:var(--font-ui);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.hero{gap:var(--space-7);padding-block:var(--space-8);border-bottom:var(--border-width) solid var(--color-border);grid-template-columns:minmax(0,1fr) minmax(13rem,.38fr);align-items:end;display:grid}.eyebrow,.section-label,.post-meta,.kicker{color:var(--color-muted);font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;margin:0;font-weight:650;line-height:1.4}.hero h1{max-width:11ch;margin:var(--space-3) 0 0;font-family:var(--font-ui);font-size:var(--text-hero);letter-spacing:-.065em;font-weight:760;line-height:.94}.hero-copy{max-width:30rem;color:var(--color-muted);font-family:var(--font-ui);font-size:var(--text-sm);margin:0;line-height:1.65}.section{padding-block:var(--space-7)}.section-heading{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.section-heading h1,.section-heading h2{font-family:var(--font-ui);font-size:var(--text-lg);letter-spacing:-.035em;line-height:var(--leading-tight);margin:0}.post-list{border-top:var(--border-width) solid var(--color-border);margin:0;padding:0;list-style:none}.post-list li{gap:var(--space-5);padding-block:var(--space-5);border-bottom:var(--border-width) solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;display:grid}.post-list h2,.post-list h3{font-family:var(--font-ui);font-size:var(--text-lg);letter-spacing:-.03em;margin:0;font-weight:680;line-height:1.25}.post-list h2 a,.post-list h3 a{text-decoration-color:#0000}.post-list h2 a:hover,.post-list h3 a:hover{text-decoration-color:var(--color-ink)}.post-description{max-width:46rem;margin:var(--space-2) 0 0;color:var(--color-muted)}.post-date{white-space:nowrap;color:var(--color-muted);font-family:var(--font-ui);font-size:var(--text-sm)}.tag-list{gap:var(--space-2);margin:var(--space-4) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.tag-list a,.tag{padding:.1rem var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--text-xs);text-decoration:none;display:inline-block}.tag-list a:hover{border-color:var(--color-ink)}.article-header{width:min(100%, var(--content-width));padding-block:var(--space-8) var(--space-6);border-bottom:var(--border-width) solid var(--color-border);margin-inline:auto}.article-header h1,.page-title{margin:var(--space-3) 0 var(--space-5);font-family:var(--font-ui);font-size:var(--text-xl);letter-spacing:-.05em;font-weight:760;line-height:1.05}.article-dek{color:var(--color-muted);font-size:var(--text-lg);margin:0;line-height:1.45}.article-tools{gap:var(--space-3);margin-top:var(--space-5);font-family:var(--font-ui);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;display:flex}.prose{width:min(100%, var(--content-width));padding-block:var(--space-6) var(--space-7);margin-inline:auto}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose h2,.prose h3,.prose h4{font-family:var(--font-ui);letter-spacing:-.025em;margin:2.1em 0 .7em;line-height:1.2}.prose h2{padding-bottom:var(--space-2);border-bottom:var(--border-width) solid var(--color-border);font-size:var(--text-lg)}.prose p,.prose ul,.prose ol,.prose blockquote{margin-block:1.2em}.prose li+li{margin-top:.35em}.prose blockquote{padding-left:var(--space-5);border-left:2px solid var(--color-border-strong);color:var(--color-muted);margin-inline:0}.prose code{background:var(--color-code);font-family:var(--font-code);padding:.12em .28em;font-size:.84em}.prose pre{margin-block:var(--space-5);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);line-height:1.55;overflow-x:auto;background:var(--color-code)!important}.prose pre code{background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-ui);font-size:var(--text-sm);display:block;overflow-x:auto}.prose th,.prose td{padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);text-align:left}.page-narrow{width:min(100%, var(--content-width));padding-block:var(--space-7);margin-inline:auto}.notice{padding:var(--space-4);border:var(--border-width) solid var(--color-border);background:var(--color-surface);color:var(--color-muted);font-family:var(--font-ui);font-size:var(--text-sm)}.button,button.button{min-height:2.65rem;padding:var(--space-2) var(--space-4);border:var(--border-width) solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-ui);font-size:var(--text-sm);transition:background var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.button:hover,button.button:hover{border-color:var(--color-accent-hover);background:var(--color-accent-hover);text-decoration:none}.button-secondary,button.button-secondary{border-color:var(--color-border-strong);background:var(--color-canvas);color:var(--color-ink)}.button-secondary:hover,button.button-secondary:hover{border-color:var(--color-ink);background:var(--color-surface)}.button-small,button.button-small{min-height:2rem;padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.field{gap:var(--space-2);display:grid}.field label{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:680}.field-hint{color:var(--color-muted);font-family:var(--font-ui);font-size:var(--text-xs);margin:0}.field input,.field textarea,.field select{width:100%;padding:var(--space-3);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-canvas);color:var(--color-ink)}.field textarea{resize:vertical;min-height:9rem;font-family:var(--font-body);line-height:1.55}.form-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.spaced-top{margin-top:var(--space-5)}.form-stack{gap:var(--space-4);display:grid}.form-status{min-height:1.5em;color:var(--color-muted);font-family:var(--font-ui);font-size:var(--text-sm);margin:0}.comments{width:min(100%, var(--content-width));padding-top:var(--space-7);border-top:var(--border-width) solid var(--color-border);margin-inline:auto}.comment-list,.comment-replies{margin:0;padding:0;list-style:none}.comment{padding-block:var(--space-5);border-top:var(--border-width) solid var(--color-border)}.comment:first-child{border-top:0}.comment-replies{margin-top:var(--space-4);padding-left:var(--space-5);border-left:var(--border-width) solid var(--color-border)}.comment-head,.comment-actions{gap:var(--space-2) var(--space-3);font-family:var(--font-ui);font-size:var(--text-xs);flex-wrap:wrap;align-items:baseline;display:flex}.comment-author{font-weight:720}.comment-time{color:var(--color-muted)}.comment-body{margin-block:var(--space-3)}.comment-body>:first-child{margin-top:0}.comment-body>:last-child{margin-bottom:0}.text-button{border:0;border-bottom:var(--border-width) solid var(--color-border-strong);color:var(--color-muted);font-family:var(--font-ui);font-size:var(--text-xs);background:0 0;padding:0}.text-button:hover{border-color:var(--color-ink);color:var(--color-ink)}.comment-form{gap:var(--space-4);margin-top:var(--space-6);padding:var(--space-5);border:var(--border-width) solid var(--color-border);display:grid}.replying-to{justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:var(--border-width) solid var(--color-border);font-family:var(--font-ui);font-size:var(--text-sm);display:none}.replying-to[data-active=true]{display:flex}.admin-list{gap:var(--space-4);margin:var(--space-5) 0 0;padding:0;list-style:none;display:grid}.admin-card{padding:var(--space-4);border:var(--border-width) solid var(--color-border)}.admin-card .comment-body{padding-block:var(--space-3);border-block:var(--border-width) solid var(--color-border)}.admin-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=44rem){.site-header,.hero{align-items:start}.site-header,.hero,.post-list li{flex-direction:column;grid-template-columns:1fr}.hero{gap:var(--space-5);padding-block:var(--space-7)}.post-date{grid-row:1}.form-grid{grid-template-columns:1fr}.comment-replies{padding-left:var(--space-3)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
