@view-transition{navigation:auto}:root{--font-family:-apple-system, system-ui, sans-serif;--font-family-monospace:Menlo, Monaco, monospace;--color-gray-20:#e0e0e0;--color-gray-50:#536a80;--color-gray-90:#333;--color-heading-gray:var(--color-gray-50);--background-color:#eef3f7;--code-block-background:#dbe5ee;--text-color:var(--color-gray-90);--text-color-link:#082840;--text-color-link-active:#5f2b48;--text-color-link-visited:#17050f;--syntax-tab-size:2}@media (prefers-color-scheme:dark){:root{--color-gray-50:#b0c0d0;--color-gray-90:#dad8d8;--text-color-link:#1493fb;--text-color-link-active:#7b7bff;--text-color-link-visited:#a6a6f8;--background-color:#15202b;--code-block-background:#1a2a3a}}*,:before,:after{box-sizing:border-box}html,body{font-family:var(--font-family);color:var(--text-color);background-color:var(--background-color);margin:0 auto;padding:0}html{overflow-y:scroll}body{min-width:320px;max-width:1000px}p,li{line-height:1.5}p:last-child{margin-bottom:0}img{max-width:100%;height:auto;display:block}.visually-hidden{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--background-color);color:var(--text-color-link);z-index:100;padding:.5em 1em;text-decoration:underline;position:absolute;top:-100%;left:0}.skip-link:focus{top:0}a[href]{color:var(--text-color-link)}a[href]:visited{color:var(--text-color-link-visited)}a[href]:hover,a[href]:active{color:var(--text-color-link-active)}a[href]:focus-visible{outline:2px solid var(--text-color-link);outline-offset:2px}h1{color:var(--color-heading-gray)}main{padding:.5rem 1rem 1rem}main :first-child{margin-top:0}header{flex-wrap:wrap;align-items:baseline;gap:clamp(.35rem,1.2vw,.5rem);padding:clamp(.6rem,2.2vw,1rem);display:flex}header:after{content:"";clear:both;display:table}.header-logo{flex-shrink:0;line-height:0;display:inline-block}.header-logo img{width:clamp(2.9rem,9vw,4rem);height:auto;display:block}.header-title{flex-direction:column;align-items:flex-start;margin:0;display:flex;transform:translateY(-3px)}.header-title h1,.header-title .p-name{font-family:var(--font-family);color:var(--color-heading-gray);white-space:nowrap;margin:0;font-size:clamp(2.6rem,8vw,3.6rem);font-weight:700;line-height:1;text-decoration:none}.header-title a.p-name,.header-title a.p-name:visited,.header-title a.p-name:hover,.header-title a.p-name:active{color:var(--color-heading-gray)}.header-title a.p-name:focus-visible{text-decoration:underline}header nav{flex-wrap:wrap;gap:1em;margin-left:auto;font-size:.95rem;display:flex}header nav a{text-decoration:none}header nav a:hover,header nav a:focus-visible,header nav a[aria-current=page]{text-decoration:underline}table{margin:1em 0}table td,table th{padding-right:1em}table.zebra{border-collapse:collapse}table.zebra th,table.zebra td{border:1px solid var(--color-gray-20);padding:.5em 1em}table.zebra tbody tr:nth-child(odd){background-color:#fff}table.zebra tbody tr:nth-child(2n){background-color:#f9f9f9}table.zebra thead th{color:#fff;background-color:#333}@media (prefers-color-scheme:dark){table.zebra tbody tr:nth-child(odd){background-color:#1c2731}table.zebra tbody tr:nth-child(2n){background-color:#1f2c38}}pre,code{font-family:var(--font-family-monospace)}pre{background:var(--code-block-background);-moz-tab-size:var(--syntax-tab-size);tab-size:var(--syntax-tab-size);hyphens:none;text-align:left;word-spacing:normal;word-break:normal;border-radius:8px;margin:.5em 0;padding:1em;line-height:1.4;overflow-x:auto}:not(pre)>code{word-break:break-all;background:#cdd7e1;border-radius:4px;padding:.15em .35em;font-size:.9em}@media (prefers-color-scheme:dark){:not(pre)>code{background:#1e3044}}blockquote{background:var(--color-heading-gray);color:#dad8d8;border-left:4px solid #1095c1;border-radius:0 8px 8px 0;margin:1.5em 0;padding:1em 1.5em;font-size:1em;line-height:1.6}blockquote :not(pre)>code{color:#e8edf2;background:#0000004d}blockquote a[href]{color:#1493fb}blockquote a[href]:visited{color:#a6a6f8}blockquote a[href]:hover,blockquote a[href]:active{color:#7b7bff}@media (prefers-color-scheme:dark){blockquote{background:#536a80}}blockquote.aside{border-left:none;border-radius:16px;width:45%;margin:.2em 0 .8em 1.5em;padding:1.2em 1.5em;font-size:1.1em;line-height:1.5;position:relative;box-shadow:0 0 12px #1095c140}blockquote.aside:before{content:"“ ";vertical-align:-.35em;color:#1095c1;font-family:Georgia,serif;font-size:3em;line-height:0}blockquote.aside p:last-of-type:after{content:"”";color:#1095c1;vertical-align:-.35em;margin-left:.05em;font-family:Georgia,serif;font-size:3em;line-height:0}blockquote.aside p{margin:0;display:inline}blockquote.aside footer{color:#8aa8c0;margin-top:.6em;font-size:.85em;display:block}blockquote.aside footer:before{content:"― "}blockquote.aside:nth-of-type(odd){float:right}blockquote.aside:nth-of-type(odd) footer{text-align:right}blockquote.aside:nth-of-type(2n){float:left;margin:.2em 1.5em .8em 0}blockquote.aside:nth-of-type(2n) footer{text-align:left}@media (width<=768px){blockquote.aside{float:none;width:100%;margin:1em 0}}.header-anchor{margin-left:.1em;font-size:1em;font-style:normal;text-decoration:none}a[href].header-anchor,a[href].header-anchor:visited{color:#0000}a[href].header-anchor:focus,a[href].header-anchor:hover,:hover>a[href].header-anchor{color:#aaa}a[href].header-anchor:focus,a[href].header-anchor:hover{text-decoration:underline}h2+.header-anchor{font-size:1.5em}.home-layout{grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:2.5rem;padding:0 1rem;display:grid}.home-feed{min-width:0}@media (width<=880px){.home-layout{grid-template-columns:1fr;gap:1.5rem}}.sidebar{align-self:start;font-size:.95em;line-height:1.5;position:sticky;top:1rem}@media (width<=880px){.sidebar{position:static}}.home-section-divider,.sidebar-top-divider{border:0;border-top:1px solid var(--color-gray-20);margin:0 0 1.5em}.sidebar-section{margin-bottom:1.75rem}.sidebar-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--color-gray-50);margin:0 0 .6em;font-size:.75rem;font-weight:600}.sidebar-identity{align-items:center;gap:.75em;margin-bottom:.6em;display:flex}.sidebar-avatar{border-radius:50%;flex-shrink:0;width:64px;height:64px}.sidebar-handle{font-family:var(--font-family);font-size:1.75rem;font-weight:700;line-height:1;text-decoration:none}a[href].sidebar-handle,a[href].sidebar-handle:visited,a[href].sidebar-handle:hover,a[href].sidebar-handle:active{color:var(--color-heading-gray)}.sidebar-handle:hover,.sidebar-handle:focus-visible{text-decoration:underline}.sidebar-about .p-note{margin:0;font-size:.9em;line-height:1.5}.sidebar-quote-section{font-size:.95em}.sidebar-quote{color:var(--color-gray-50);margin:0 0 .4em;font-style:italic}.sidebar-quote-attribution{color:var(--color-gray-50);margin:0;font-size:.85em}.sidebar-tags{flex-wrap:wrap;gap:.4em .9em;margin:0;padding:0;font-size:.95em;list-style:none;display:flex}.sidebar-tags li{white-space:nowrap}.sidebar-tag-count{color:var(--color-gray-50);margin-left:.15em;font-size:.85em}.sidebar-social{flex-wrap:wrap;gap:.5em;margin:0;padding:0;list-style:none;display:flex}.sidebar-social a{width:2.25rem;height:2.25rem;color:var(--color-gray-50);background:#fff6;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s,color .15s;display:inline-flex}@media (prefers-color-scheme:dark){.sidebar-social a{background:#0003}}.sidebar-social a:hover,.sidebar-social a:focus-visible{color:var(--text-color-link);opacity:.85}.sidebar-social svg{width:1.1rem;height:1.1rem}.sidebar-social span{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.postfeed{margin:0;padding:0;list-style:none}.postfeed-item{border-bottom:1px dashed var(--color-gray-20);margin:0;padding:1.25rem 0}.postfeed-item:last-child{border-bottom:none}.postfeed-link{color:inherit;grid-template-columns:1fr;gap:1rem;text-decoration:none;display:grid}.postfeed-item-has-image .postfeed-link{grid-template-columns:160px 1fr}@media (width<=540px){.postfeed-item-has-image .postfeed-link{grid-template-columns:96px 1fr}}.postfeed-media{align-self:start}.postfeed-image{aspect-ratio:1;object-fit:cover;border:1px solid var(--color-gray-20);border-radius:8px;width:100%;height:auto}.postfeed-content{min-width:0}.postfeed-title{color:var(--text-color-link);text-underline-offset:2px;margin:0 0 .4em;font-size:1.25rem;line-height:1.3;text-decoration:underline 1px}.postfeed-link:hover .postfeed-title,.postfeed-link:focus-visible .postfeed-title{color:var(--text-color-link-active)}.postfeed-excerpt{color:var(--color-gray-90);margin:0 0 .6em}.postfeed-meta{color:var(--color-gray-50);flex-wrap:wrap;gap:.6em 1.25em;margin:0;font-size:.85em;display:flex}.postfeed-reading-time:before{content:"·";opacity:.5;margin-right:.5em}.post-list{margin:0;padding:0;list-style:none}.post-list>li{border-bottom:1px dashed var(--color-gray-20);margin-bottom:1.5em;padding-bottom:1.5em}.post-list>li:last-child{border-bottom:none}.post-list h2{margin:0 0 .25em;font-size:1.25rem;line-height:1.3}.post-list .u-url{text-decoration:none}.post-list .u-url:hover h2,.post-list .u-url:focus-visible h2{text-decoration:underline}.post-list .dt-published{color:var(--color-gray-50);margin-bottom:.5em;font-size:.8125em;display:block}.post-list .p-summary{margin:0}.h-entry .p-name{margin-top:.5em;margin-bottom:.25em;line-height:1.2}.post-metadata{color:var(--color-gray-50);flex-wrap:wrap;gap:.5em 1em;margin:.25em 0 0;padding:0;font-size:.875em;list-style:none;display:inline-flex}.post-metadata .dt-published{color:inherit}.post-tag{font-style:italic;text-decoration:none}.post-tag:before{content:"#";opacity:.6;margin-right:.1em}.h-entry>a.u-url[aria-hidden=true]{display:none}.h-entry>.p-author{color:var(--color-gray-50);margin-bottom:1em;font-size:.875em;display:block}.h-entry>.p-author:not(:hover){text-decoration:none}.h-entry .u-photo{border-radius:8px;margin:1em 0}.h-entry .e-content{margin-top:1em}.e-content>p:first-of-type:not(:has(img)):first-letter,.e-content>p:first-of-type:has(img)+p:first-letter{float:left;text-align:center;min-width:.6em;padding-right:.08em;font-size:3.2em;font-weight:700;line-height:.8}.signature{margin-top:2em;margin-bottom:0;font-style:italic}.post-end-sep{border:none;border-top:1px dashed var(--color-gray-50);margin:4em 0 1em}.footnote-ref a,.footnote-backref{text-decoration:none}.footnote-ref{vertical-align:baseline;font-size:1em;line-height:0;position:relative;top:-.5em}.footnote-ref a[data-fn-mark]:empty:before,.footnote-symbol[data-fn-mark]:empty:before{content:attr(data-fn-mark)}.footnotes-sep{border:none;border-top:1px dashed var(--color-gray-50);margin:4em 0 1em}.footnotes{margin-top:0}.footnotes-list{padding-left:1.5em;list-style:none}.footnote-item{font-size:.85em}.footnote-symbol{text-align:right;width:1.5em;color:var(--text-color-link);margin-left:-1.5em;padding-right:.4em;font-size:1.18rem;font-weight:700;display:inline-block}.footnote-popup{z-index:100;background:var(--color-gray-50);color:#dad8d8;pointer-events:auto;opacity:0;border-radius:8px;width:max-content;max-width:360px;padding:.75em 1em;font-size:.85rem;line-height:1.5;transition:opacity .15s;position:absolute;box-shadow:0 4px 24px #0006}.footnote-popup.visible{opacity:1}.footnote-popup:after{content:"";bottom:100%;left:var(--arrow-left,1.5em);border:6px solid #0000;border-bottom-color:var(--color-gray-50);position:absolute}.footnote-popup p{margin:0 0 .4em}.footnote-popup p:last-child{margin-bottom:0}.footnote-popup ul{margin:.3em 0 0;padding-left:1.2em}.footnote-popup li{margin-bottom:.2em}.footnote-popup a[href]{color:#1493fb}.footnote-popup a[href]:visited{color:#a6a6f8}.footnote-popup .footnote-backref,.footnote-popup .footnote-symbol{display:none}@media (prefers-color-scheme:dark){.footnote-popup{box-shadow:0 4px 32px #ffffff26}}.syndication{color:var(--color-gray-50);flex-wrap:wrap;gap:.75em;margin:1em 0 0;padding:0;font-size:.875em;list-style:none;display:flex}.tag-list{flex-wrap:wrap;gap:.75em 1.25em;margin:1em 0 0;padding:0;list-style:none;display:flex}.tag-list li{font-size:1.05em}.tag-list .count{color:var(--color-gray-50);font-size:.85em}.related-posts{border-top:1px dashed var(--color-gray-20);margin-top:2.5em;padding-top:1em}.related-posts h2{color:var(--color-gray-50);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .75em;font-size:1em;font-weight:600}.related-post-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin:0;padding:0;list-style:none;display:grid}@media (width<=720px){.related-post-grid{grid-template-columns:1fr}}.related-post-tile{margin:0}.related-post-tile-link{color:inherit;text-decoration:none;display:block}.related-post-tile-image{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--color-gray-20);border-radius:8px;width:100%;height:auto;margin-bottom:.5em;display:block}.related-post-tile-image-placeholder{text-align:center;background:var(--color-gray-50);color:#dad8d8;justify-content:center;align-items:center;padding:.75em;font-size:1.1rem;font-weight:600;line-height:1.25;display:flex}.related-post-tile-title{color:var(--text-color-link);text-underline-offset:2px;font-size:.95rem;line-height:1.3;text-decoration:underline 1px;display:block}.related-post-tile-link:hover .related-post-tile-title,.related-post-tile-link:focus-visible .related-post-tile-title{color:var(--text-color-link-active)}.links-nextprev{border-top:1px dashed var(--color-gray-20);margin:2.5em 0 0;padding:1em 0 0;font-size:.95em;list-style:none}.links-nextprev li{margin:.25em 0}footer{text-align:center;color:var(--color-gray-50);border-top:1px solid var(--color-gray-20);margin-top:3rem;padding:1rem;font-size:.875em}footer a{color:var(--color-gray-50)}.footer-social{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin:0 0 1.5em;padding:0;list-style:none;display:flex}.footer-social a{color:var(--color-gray-90);justify-content:center;align-items:center;transition:color .15s,opacity .15s;display:inline-flex}.footer-social a:hover,.footer-social a:focus-visible{color:var(--text-color-link);opacity:.85}.footer-social svg{width:1.75rem;height:1.75rem}.footer-social span{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.footer-license{max-width:38rem;margin:0 auto 1.5em;line-height:1.5}.footer-cc-icon{vertical-align:-.15em;width:1em;height:1em;margin-left:.2em;display:inline}.footer-greenweb{margin-top:.5em;display:inline-block}.footer-greenweb img{max-width:100%;height:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){:root{--color-gray-20:#ccc;--color-gray-50:#999;--color-gray-90:#000;--text-color-link:#00008b;--text-color-link-active:#8b0000;--text-color-link-visited:indigo}}@media (prefers-contrast:more) and (prefers-color-scheme:dark){:root{--color-gray-20:#fff;--color-gray-50:#ccc;--color-gray-90:#fff;--background-color:#000;--text-color-link:#6cf;--text-color-link-active:#ff6;--text-color-link-visited:#c9f}}@media print{.skip-link,header nav,footer{display:none!important}body{color:#000;background:#fff;max-width:none;padding:0}a[href]:after{content:" (" attr(href) ")";color:#666;font-size:.8em}a[href^=\#]:after,a[href^=javascript\:]:after{content:""}@page{margin:2cm}}
