@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-sans-latin-ext-400-normal.BtiwyxMk.woff2)format("woff2"),url(/_astro/dm-sans-latin-ext-400-normal.BjWJ59Pq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-sans-latin-400-normal.CW0RaeGs.woff2)format("woff2"),url(/_astro/dm-sans-latin-400-normal.BwCSEQnW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/dm-sans-latin-ext-400-italic.BpitL8Uu.woff2)format("woff2"),url(/_astro/dm-sans-latin-ext-400-italic.2EvOpbQN.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/dm-sans-latin-400-italic.DRLHr0TN.woff2)format("woff2"),url(/_astro/dm-sans-latin-400-italic.i6QPgQBE.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/dm-sans-latin-ext-700-normal.CJIcxD6K.woff2)format("woff2"),url(/_astro/dm-sans-latin-ext-700-normal.BLI3TTWz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/dm-sans-latin-700-normal.DvUfVpUG.woff2)format("woff2"),url(/_astro/dm-sans-latin-700-normal.CUSSCpQX.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--text:#333;--muted:#6b6b6b;--bg:#fff;--rule:#333;--soft-rule:#e4e4e4;--link:#333;--width:760px;--gutter:24px;--font:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--text:#e6e6e6;--muted:#9a9a9a;--bg:#141414;--rule:#e6e6e6;--soft-rule:#2c2c2c;--link:#e6e6e6;color-scheme:dark}}:root[data-theme=dark]{--text:#e6e6e6;--muted:#9a9a9a;--bg:#141414;--rule:#e6e6e6;--soft-rule:#2c2c2c;--link:#e6e6e6;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:18px;line-height:1.7}a{color:var(--link);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}img{max-width:100%;height:auto;display:block}.container{max-width:calc(var(--width) + var(--gutter) * 2);padding:0 var(--gutter);margin:0 auto}.site-header{padding-top:48px}.site-title{text-transform:uppercase;letter-spacing:.01em;margin:0;font-size:18px;font-weight:700;line-height:1.2}.site-title a:hover{text-decoration:none}.site-tagline{color:var(--muted);margin:2px 0 0;font-size:16px;line-height:1.3}.site-nav{border-top:1.5px solid var(--rule);border-bottom:1.5px solid var(--rule);align-items:center;gap:16px;margin-top:18px;display:flex}.site-nav ul{flex-wrap:wrap;flex:1;gap:4px 18px;margin:0;padding:12px 0;list-style:none;display:flex}.site-nav a{font-size:17px}.site-nav a[aria-current=page]{text-underline-offset:5px;text-decoration:underline 1.5px}.post-list{margin:0;padding:0;list-style:none}.post-item{border-bottom:1px solid var(--soft-rule);padding:36px 0 40px}.post-item:last-child{border-bottom:0}.post-item__title{margin:0;font-size:17px;font-weight:700;line-height:1.35}.post-date{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:15px;display:block}.post-item__excerpt{margin:14px 0 0;font-size:17px}.post-item__more{text-underline-offset:3px;margin-top:8px;font-size:15px;text-decoration:underline;display:inline-block}.post-item .photo{margin-top:22px}.photo{margin:0}.photo a{display:block}.photo img{background:var(--soft-rule);width:100%}.photo figcaption{text-align:right;color:var(--muted);margin-top:8px;font-size:13px;line-height:1.5}.photo figcaption .primary{font-style:italic;display:block}.post{padding:40px 0 24px}.post-title{letter-spacing:-.02em;margin:0;font-size:clamp(36px,7vw,56px);font-weight:700;line-height:1.1}.post .post-date{margin:18px 0 28px}.prose{text-align:justify;hyphens:auto}.prose>:first-child{margin-top:0}.prose p{margin:0 0 1.2em}.prose h2,.prose h3{text-align:left;margin:1.8em 0 .6em;line-height:1.3}.prose a{text-underline-offset:3px;text-decoration:underline}.prose blockquote{border-left:2px solid var(--rule);margin:1.5em 0;padding-left:18px;font-style:italic}.prose img{margin:1.5em 0}.prose hr{border:0;border-top:1px solid var(--soft-rule);margin:2.5em 0}.post .photo+.prose{margin-top:28px}.post-nav{border-top:1px solid var(--soft-rule);justify-content:space-between;gap:24px;margin-top:48px;padding-top:20px;font-size:15px;display:flex}.post-nav small{color:var(--muted);font-size:13px;display:block}.post-nav .next{text-align:right;margin-left:auto}.page-heading{color:var(--muted);margin:36px 0 0;font-size:15px;font-weight:400}.pagination{border-top:1px solid var(--soft-rule);justify-content:space-between;padding:24px 0;font-size:15px;display:flex}.pagination .next{margin-left:auto}.site-footer{border-top:1.5px solid var(--rule);color:var(--muted);justify-content:space-between;gap:16px;margin-top:40px;padding:24px 0 48px;font-size:14px;display:flex}.site-footer a{color:var(--muted)}@media (width<=600px){:root{--gutter:16px}body{font-size:17px}.site-header{padding-top:28px}.prose{text-align:left}}.prose code{background:var(--soft-rule);border-radius:4px;padding:.1em .3em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em}:root{--photo-max-h:80vh}@supports (height:1svh){:root{--photo-max-h:80svh}}.photo{max-width:min(100%, calc(var(--photo-max-h) * var(--ratio,1.5)));margin-inline:auto}.photo a[data-zoom]{cursor:zoom-in}.lightbox{cursor:zoom-out;background:#0a0a0af5;border:0;width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0}.lightbox[open]{justify-content:center;align-items:center;display:flex}.lightbox::backdrop{background:0 0}.lightbox img{object-fit:contain;width:auto;max-width:96vw;height:auto;max-height:96vh}.lightbox__close{color:#fff;font:32px/1 var(--font);cursor:pointer;background:0 0;border:0;position:fixed;top:12px;right:16px}.read-progress{z-index:10;pointer-events:none;height:3px;position:fixed;inset:0 0 auto}.read-progress span{background:var(--text);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.to-top{border:1.5px solid var(--rule);background:var(--bg);opacity:0;pointer-events:none;border-radius:50%;place-items:center;width:44px;height:44px;font-size:20px;transition:opacity .2s;display:grid;position:fixed;bottom:20px;right:20px}.to-top.is-visible{opacity:1;pointer-events:auto}.to-top:hover{text-decoration:none}@media (prefers-reduced-motion:reduce){.to-top{transition:none}}.post-item__full{margin-top:14px}.post-item__full[hidden],.post-item__excerpt[hidden]{display:none}.post-item__more{cursor:pointer}.compare{margin-top:28px}.compare__stage{--pos:50%;background:var(--soft-rule);user-select:none;width:100%;position:relative;overflow:hidden}.compare__stage picture,.compare__stage .compare__img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.compare__before{clip-path:inset(0 calc(100% - var(--pos)) 0 0);position:absolute;inset:0}.compare__handle{top:0;bottom:0;left:var(--pos);pointer-events:none;background:#fff;width:2px;margin-left:-1px;position:absolute;box-shadow:0 0 0 1px #00000040}.compare__handle:after{content:"‹ ›";color:#333;letter-spacing:2px;background:#fff;border-radius:50%;place-items:center;width:40px;height:40px;font-size:18px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0000004d}.compare__range{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.about{grid-template-columns:1fr 1fr;gap:32px 48px;padding:56px 0 24px;display:grid}.about h2{margin:0 0 12px;font-size:27px;font-weight:400;line-height:1.2}.about p{margin:0 0 12px;font-size:15px;line-height:1.7}.about__links{gap:10px;margin:4px 0 0;padding:0;list-style:none;display:flex}.about__links img{width:40px;height:40px;transition:opacity .15s}.about__links a:hover img{opacity:.7}@media (width<=600px){.about{grid-template-columns:1fr;padding-top:32px}}.theme-toggle{width:34px;height:34px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.theme-toggle:hover{background:var(--soft-rule)}.theme-toggle:focus-visible{outline:2px solid var(--text);outline-offset:2px}.theme-toggle svg{width:19px;height:19px}.theme-toggle .icon-sun{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .icon-sun{display:block}:root:not([data-theme=light]) .theme-toggle .icon-moon{display:none}}.gallery{flex-wrap:wrap;gap:8px;margin:24px 0 40px;padding:0;list-style:none;display:flex}.gallery:after{content:"";flex-grow:1000000}.gallery__item{flex:calc(var(--r) * 100) 1 calc(var(--r) * 220px);min-width:0}.gallery__link{background:var(--soft-rule);display:block;position:relative;overflow:hidden}.gallery__frame{display:block;position:relative}.gallery__frame img{object-fit:cover;width:100%;height:100%;transition:transform .4s;position:absolute;inset:0}.gallery__caption{color:#fff;opacity:0;background:linear-gradient(#0000,#0009);justify-content:space-between;align-items:baseline;gap:8px;padding:28px 10px 8px;font-size:13px;line-height:1.3;transition:opacity .2s;display:flex;position:absolute;inset:auto 0 0}.gallery__title{font-weight:700}.gallery__caption time{opacity:.85;flex:none;font-size:12px}.gallery__link:hover,.gallery__link:focus-visible{text-decoration:none}.gallery__link:hover .gallery__caption,.gallery__link:focus-visible .gallery__caption{opacity:1}.gallery__link:hover img{transform:scale(1.03)}@media (hover:none){.gallery__caption{opacity:1}}@media (width<=600px){.gallery{gap:6px}.gallery__item{flex-basis:calc(var(--r) * 110px)}}@media (prefers-reduced-motion:reduce){.gallery__frame img,.gallery__caption{transition:none}}.layout__side{display:none}.archive{font-size:14px;line-height:1.45}.archive__heading{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:700}.archive ul{margin:0;padding:0;list-style:none}.archive summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:8px;padding:4px 0;font-weight:700;list-style:none;display:flex}.archive summary::-webkit-details-marker{display:none}.archive summary:before{content:"▸";width:10px;color:var(--muted);text-align:center;flex:none;align-self:center;margin-right:4px;font-size:11px;line-height:1;transition:transform .15s}.archive details[open]>summary:before{transform:rotate(90deg)}.archive summary span:first-child{margin-right:auto}.archive summary{justify-content:flex-start}.archive__count{color:var(--muted);font-size:12px;font-weight:400}.archive__posts{border-left:1px solid var(--soft-rule);margin:2px 0 10px 14px!important;padding-left:10px!important}.archive__posts a{color:var(--muted);align-items:flex-start;gap:7px;padding:3px 0;display:flex}.archive__icon{flex:none;width:15px;height:15px;margin-top:2px}.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}.archive__posts a:hover{color:var(--text)}.archive__posts a[aria-current=page]{color:var(--text);font-weight:700}.archive--bottom{border-top:1px solid var(--soft-rule);margin-top:48px;padding-top:24px}.archive--bottom .archive__years{columns:2;column-gap:32px}.archive--bottom .archive__years>li{break-inside:avoid}@media (width>=1280px){.layout{grid-template-columns:1fr minmax(0, calc(var(--width) + var(--gutter) * 2)) 1fr;display:grid}.layout>.container{grid-column:2;max-width:none;margin:0}.layout__side{grid-area:1/1;justify-self:end;width:180px;margin-right:20px;padding-top:196px;display:block}.archive--side{scrollbar-width:thin;max-height:calc(100vh - 64px);position:sticky;top:32px;overflow-y:auto}.archive--bottom{display:none}}@media (width<=600px){.archive--bottom .archive__years{columns:1}}@media (prefers-reduced-motion:reduce){.archive summary:before{transition:none}}
